Réinstaller le serveur du CULTe en 2016
L'affaire est à la fois simple et complexe. En mai 2016, le serveur du CULTe a fait l'objet d'une attaque décelée par notre hébergeur. Depuis, il n'était plus possible de communiquer normalement avec lui (ce n'était possible qu'en mode rescue).
Or ce serveur était obsolète et en cours de renouvellement sur une autre machine, il nous a donc paru logique de l'abandonner au profit de la nouvelle machine (ca a été fait, l'ancienne machine a été restituée)... Seulement la nouvelle machine s'est révélée plus difficile à mettre en route que prévu, les personnes sensées s'en occuper avaient des problèmes de disponibilité, bref ça a pris plus de temps que prévu...
Pour ne rien arranger, deux mois plus tard le disque dur a lâché... alors que j'étais à l'étranger, d'où nouvelle coupure qui s'est prolongée jusqu'en début Septembre...
Liens utiles
- Installation notes for package Mailman (2016)
- Open SUSE small-server
- Configurer INN (2017)
- LeServeurDuCULTe-2012
https://doc.opensuse.org/documentation/leap/reference/html/book.opensuse.reference/cha.apache2.html
Gestion des zones
Pendant la transition, nous allons devoir gérer plusieurs serveurs. L'ancien étant HS, j'ai fait une copie rapide et basique de celui-ci sur un compte du CULTe sur mon propre serveur, pour pouvoir assurer la transition. Pour ça il a fallu rediriger "culte.org" vers mon serveur et adapter les hôtes virtuels. J'ai aussi mis en place une redirection vers le nouveau serveur ("new"). Je reçois également les courriers administratifs du CULTe grâce à des alias dans Postscript qui les renvoient simplement sur mon adresse perso, après que j'ai déclaré mon propre serveur comme MX du CULTe.
Tout cela est fait chez notre fournisseur de nom de domaine Gandi.
Installer le Kimsufi
Base
Notre nouveau serveur est le Kimsufi le moins cher possible (environ 6 euros par mois TTC), pour pouvoir en commander un il faut arriver au bon moment :-) http://kimsufi.com.
Ce serveur est à l'IP 37.187.18.189. Nous l'avons muni d'un mot de passe fort.
Nous l'avons installé avec la nouvelle openSUSE Leap 42.1. L'installation originelle est faites par Kimsufi.
Ensuite un complément de base est fait avec
zypper up #mise à jour de sécurité
zypper in mc apache2 postfix inn php5 mod_php5 #ou avec yast
Partitionnement
Bien que très bon marché, ce serveur possède quand même un disque dur de 500 Go, bien plus que nécessaire pour nous. J'ai consacré 30 Go au système (20 Go la deuxième fois - il fait moins de 2 Go), 2 Go (comme la ram) au swap (3 Go), et le reste à /home (soit 443 Go). Tout en ext4.
Répartition des données
Je vais faire le nécessaire pour que tout ce qui a si peu que ce soit de volume soit sur /home. Il s'agit pour l'essentiel de mon home perso pour le culte (à peu près vide), du site web (/srv - redirection par les hôtes virtuels et par un lien symbolique), du répertoire de mailman (~mailman, soit /var/lib/mailman, rectifier dans /etc/passwd et aussi lien symbolique), et si un jour nécessaire de la base de donnée.
Je viens également d'y recopier /etc, manière d'avoir les fichiers de config dans ma sauvegarde principale.
Récupération des sauvegardes
Nous avons accès au serveur et à une sauvegarde quotidienne faite automatiquement par nos soins, rien n'a donc été perdu, sauf un peu avec le disque dur, car les sauvegardes n'étaient pas encore en place... Le Home a été récupéré, mais pas le / (partition illisible), du coup les archives récentes de mailman ont sans doute été perdues (sont dans /var/lib/mailman).
Une des premières taches a donc été de rapatrier sur le nouveau serveur la sauvegarde assemblée sous forme d'archive. Créer l'archive, le transférer d'un serveur à l'autre et extraire son contenu sont assez long.
Elles se trouvent maintenant dans /home/backup.
La recopie a simplement été faite par:
scp <login>@serveur-de-sauvegarde.org:backup-culte.tgz .
ne pas oublier le "." final, et se placer d'abord dans le répertoire /home/backup. Archive d'environ 10 Go.
Attention: Toutes les opérations de sauvegarde, d'archivage et d'extraction doivent se faire comme root, faute de quoi les permissions des fichiers ne sont pas bien conservées.
Réinstaller Apache
Passer à la version 2.4
Notre précédent serveur utilisait encore la configuration d'Apache 2.2, nous sommes passés à la 2.4.
https://httpd.apache.org/docs/2.4/fr/upgrading.html, en particulier:
Dans cet exemple, toutes les requêtes sont rejetées :
version 2.2 : Order deny,allow Deny from all version 2.4 : Require all denied
Dans cet exemple, toutes les requêtes sont acceptées :
version 2.2 : Order allow,deny Allow from all version 2.4 : Require all granted
Soit:
cat /etc/apache2/vhosts.d/10.vhost.conf # forbid access to the entire filesystem by default <Directory /> Options None AllowOverride None # Order deny,allow # Deny from all Require all denied # RewriteEngine On # RewriteOptions Inherit #DirectoryIndex index.html index.php </Directory>
Modules
Penser à installer php5 et mod_php5, ce n'est pas fait par défaut. Ne pas oublier que cette version de Leap est celle de Kimsufi, pas forcément la version par défaut d'openSUSE.
Activer php5 avec
a2enmod php5
et relancer Apache.
Il est commode de contrôler les configurations avec
apachectl configtest
et quand tout est bon, de relancer avec
apachectl restart
Pare feu
Penser à ouvrir le pare feu pour le serveur http, sinon on ne sert rien du tout... pareil pour le smtp.
Le wiki
Le plus simple est de recopier tout le site web (htdocs) sur le nouveau serveur et d'adapter la configuration.
Pour le wiki, ca se fait dans local/config.php ou il faut déjà adapter le nom de domaine.
mettre des liens relatifs (/, par exemple /pmwiki, est la racine du serveur web, soit htdocs).
Postfix
Pour éviter un message d'erreur de postdrop...
mkfifo /var/spool/postfix/public/pickup
systemctl restart postfix.service