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