Table des matières
Serveur de fichiers
Le but de cette formation est de faciliter la mise en place, la gestion et la maintenance d'un site web perso en auto-hébergement et des services qui peuvent être associés.
Matériel requis
- une clef usb pour y copier proxmox install https://enterprise.proxmox.com/iso/proxmox-ve_8.4-1.iso (si la voie Proxmox est choisie)
- un ordinateur connecté à Internet qui sera dédié à l'hébergement des services, sinon prendre un hébergement
Services en option
Dans mon cas j'ai choisi d'avoir un serveur de nom de domaine faisant autorité, mais ça n'est pas obligatoire.
le reverse proxy SNI n'est nécessaire que dans le cas ou vous souhaitez avoir plusieurs machines virtuelle (ou des conteneurs) partageant la même ipv4 publique.
Comme on peut le voir sur le schéma, l'ipv6 est plus simple à configurer que l'orsqu'on n'a qu'une ipv4 publique.
Installations
Je recommande l'installation d'un hyperviseur (Proxmox) pour y héberger les machines virtuelles ou conteneurs du site web et des services associés. Il est possible d'utiliser un autre hyperviseur que proxmox, par exemple virt-manager, virtualbox etc.
Dans tous les cas il sera préférable de parametrer le réseau en mode pont (bridge) pour ne pas avoir à gérer les redirection NAT.
Proxmox utilise les bridges par defaut, ce qui nous convient.
Proxmox
- copier l'iso proxmox sur la clef usb et booter l'ordinateur dessus
- suivre les étapes de l'installation: xfs, root:30Go
- paramétrage de proxmox
- ajout de l'utilisateur user https://your_server_proxmox:8006/#v1:0:18:4:::::::14
- on lui donne les droits admin: https://your_server_proxmox:8006/#v1:0:18:4:::::::6
- édition de /etc/ssh/sshd_config: permitrootlogin no
Yunohost
Yunohost peut s'installer de deux façon dans proxmox, en machine virtuelle ou en conteneur, celà va dépendre de votre besoin en isolation des processus.
je recommande l'installation de Yunohost en conteneur, mais si vous tenez à l'installer en machine virtuelle c'est documenté ici: yunohost en machine virtuelle
installation Yunohost (en conteneur)
l'installation de Yunohost en conteneur se fait dans un conteneur déjà existant:
Yunohost est basé sur Debian, donc j'installe un conteneur Debian:
(documentation: https://pve.proxmox.com/wiki/Linux_Container#pct_container_images)
voici quelque commandes à executer en tant que root dans le terminal proxmox pour ajouter les images de conteneurs:
pveam update
(met à jour la liste des images de conteneurs disponibles)
pveam available --section system | grep debian
(affiche la liste des conteneurs Debian seulement)
pveam download local debian-12-standard_
(telecharge la dernière image debian 12 disponible, actuelement Yunohost n'est pas prévu avec Debian 13…)
- lorsque le télechargement est terminé, on peut créer un conteneur depuis cette image, 20Go d'espace disque devrait suffire.
- on démarre le conteneur…
- un fois dans le conteneur en tant que root on va récupérer le script d'installation de yunohost et l'executer:
cd /root apt update wget install.yunohost.org -O install.yunohost.sh chmod +x install.yunohost.sh /root/install.yunohost.sh
une fois l'installation de base terminée il suffira d'aller dans le navigateur web pour la continuer. ou de taper yunohost tools postinstall
en ligne de commande
Prendre un nom de domaine
- soit avec yunohost
- soit chez un registrar
une fois le nom de domaine enregistré, il suffira de générer le certificat du coté de Yunohost/admin
Ajout d'une application
au choix:
ipv4 seulement: Ouverture des ports (et redirections NAT)
- identifier les ports à ouvrir
- ouvrir du coté de la box Internet et indiquer la redirection.
- si vous avez mis en place un serveur proxy sni, alors il faudra rediriger les ports 80 et 443 vers le serveur proxy sni
Dites-vous bien que les problèmes de NAT n'existent pas en ipv6 (à moins d'avoir du CGNAT mais dans ce cas je recommande de changer de fournisseur d'accès à Internet)
en ipv6 la machine est directement connectée à Internet, avec tous les ports exposés sur l'ip publique (qui commence par 2)
Sauvegardes (très important)
Yunohost est capable de faire les sauvegardes des applications, mais il ne fait pas les sauvegardes de lui même. c'est pour cette raison que j'utilise Yunohost dans une machine virtuelle (ou un conteneur) et que je fais faire la sauvegarde par proxmox.
mais une sauvegarde se doit de ne pas rester sur le même disque dur que sa source et devrait être stockée dans un lieu géographique différent.
en ce qui nous concerne, utiliser une deuxieme disque dur sera déjà pas mal