Doc /

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

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