Migrer le nom de domaine utilisé par un serveur de liste « Sympa »
Notre serveur de mailing list sympa utilise le domaine mondomaine.fr. Une décision politique nous oblige à le changer pour nouveaudomaine.org. Voici la procédure qui permettra de le faire sans trop de difficulté.
Arreter le serveur Sympa
$ /etc/init.d/sympa stop
Modifier la configuration générale du service
Dans le fichier sympa.conf, changer la valeur de la directive domain :
domain mondomaine.fr
domain nouveaudomaine.org
En fonction de votre configuration, vous aurez peut être à modifier également les domaines pour les emails spécifiés dans ce fichier (directive listmaster).
Changer la les informations de la base de données
Sympa utilise une base de données pour stocker une partie de ses informations. Il faut donc modifier les domaines dans cette base.
Nous allons donc devoir sauvegarder la base actuelle. Afin d’éviter les problèmes avec les configuration sympa importante, nous sophistiquons un peu la commande mysqldump afin que les INSERT ne soit pas trop nombreux dans une seule requete :
$ mysqldump -u sympa -pMOT_DE_PASSE_SYMPA --skip-opt
--add-drop-table --add-locks --create-options --disable-keys
--lock-tables --quick --set-charset > sympa.sql
Nous allons grâce à sed pouvoir réécrire les domaines de la base :
$ sed 's/mondomaine.fr/nouveaudomaine.org/g' sympa.sql
> nouveau_sympa.sql
Nous sommes maintenant prêt à réinjecter les données modifiées en base :
$ mysql -u sympa -pMOT_DE_PASS_SYMPA
--default-character-set=utf8 < nouveau_sympa.sql
Une fois réalisé, nous pouvons détruire les fichiers sql utilisés :
$ rm sympa.sql nouveau_sympa.sql
Renommer les répertoires utilisés par sympa
Sympa utilise non seulement une base de données mais également des répertoire pour stocker notamment les archives. Nous devons donc migrer ces éléments :
$ cd REPERTOIRE_PRINCIPAL_DE_SYMPA
$ find . -name '*mondomaine.fr' > /tmp/repertoires.txt
$ for rep in $(grep 'mondomaine.fr$' /tmp/repertoires.txt);
do
new=$(echo $rep | sed 's/mondomaine.fr/nouveaudomaine.org/');
mv $rep $new;
done;
Changer les fichiers de configuration des listes
Si la migration de domaine touche également les abonnés de vos listes, vous allez devoir modifier ces adresses dans les fichiers de configuration dédiés aux listes :
$ for conf in $(find expl -name config); do
sed 's/mondomaine.fr/nouveaudomaine.org/' $conf > $conf.new ;
mv $conf.new $conf; done
Reconfigurer les alias mails
Sympa travaille de concert avec un serveur smtp. Il faut donc modifier la configuration de ce dernier pour que sympa fonctionne avec le nouveau domain.
Nous imaginons dans cet exemple que les alias sympa sont générés dans un fichier séparé sous postfix. Dans ce cas de figure, le fichier de configuration des alias sympa est /etc/postfix/sympa_aliases
Nous allons donc réécrire automatiquement les adresses emails utilisées par sympa avec les deux domandes suivantes :
$ sed 's/mondomaine\.fr/nouveaudomaine.org/g' /etc/postfix/sympa_aliases
> /etc/postfix/sympa_aliases.new
$ mv /etc/postfix/sympa_aliases.new /etc/postfix/sympa_aliases
Pour que postfix prenne en compte ces changements, il faut regénérer le fichier .db associé aux aliases :
$ newaliases
Redémarrer sympa
Il ne reste maintenant plus qu’à redémarrer le serveur sympa :
$ /etc/init.d/sympa restart