User Tools

Site Tools


notes:formation_webperso

Introduction

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

plan général

notez que le reverse proxy SNI et dns SOA sont optionels et ne sont nécessaires que dans le cas ou vous souhaitez avoir plusieurs machines virtuelle Yunohost et/ou avec plusieurs noms de noms de domaine
dans mon cas j'ai même choisi d'avoir un serveur de nom de domaine faisant autorité, mais ça n'est pas obligatoire.

Installations

Je recommande l'installation d'un hyperviseur (Proxmox) pour y héberger les machines virtuelles (Yunohost) du site web et des services associés.
mais 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.

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

serveur de nom de domaine faisant autorité (en option)

si vous avez envie d'avoir des sous-domaines et de les gérer vous-même (ce qui évitera de devoir passer par le registrar pour chaque changement).
vous devez alors déclarer votre nom de domaine principal comme SOA c'est à dire mettre en place et déclarer un serveur de nom de domaine faisant autorité.
par exemple avec nsd (que j'ai choisi) ou knot (que je n'ai pas encore testé).

ajout d'une application de site web

au choix:

dokuwiki nextcloud calibre galene jirafeau lufi ... etc.

il est possible d'avoir plusieurs machines virtuelles avec chacune un Yunohost, plutôt que toutes les applications dans la même machine virtuelle yunohost.
cela va surtout dépendre de l'usage et dans le cas ou vous choisirez d'avoir plusieurs machines (virtuelles ou pas) il faudra mettre en place un reverse proxy SNI (parce que vous n'aurez surement qu'une seule ipv4 publique et qu'il faudra la partager entre les machines, en ipv6 on n'a pas ce genre de problèmes)

ouverture des ports (et redirections NAT) si nécessaire

  • 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)

faire une sauvegarde (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 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

lire les logs (important)

problèmes rencontrés lors de l'autohébergement

  1. certains fournisseurs d'accès ne font pas bien le routage vers les plages d'ip des autres fournisseurs d'accès
  2. l'ip publique peut changer sans préavis, il faudra alors mettre à jour les entrées DNS et regénérer les certificats
  3. il peut aussi arriver que la box ne délivre pas d'ipv6 publique mais seulement une ipv6 localement unique, dans ce cas il suffira de forcer une ipv6 publique
  4. certains fournisseurs d'accès ne donnent pas d'ipv6 à leurs clients, ou dans certaines zones seulement.
  5. en général on n'a qu'une seule ipv4 publique, donc si on souhaite héberger plusieurs services qui ont besoin des mêmes ports il faudra mettre en place un reverse proxy SNI
notes/formation_webperso.txt · Last modified: 2024/11/06 10:22 by err404