Outils pour utilisateurs

Outils du site


vm_labx:migration_mailman

Migration de Mailman

Recherche d'Explications en Ligne

nginx & imap/pop3

ici un exemple de conf pour imap et pop3, mais on ne sais pas si ça va servir. http://wiki.nginx.org/ImapProxyExample

nginx & mailman

http://wiki.nginx.org/Mailman Ici on voit qu'il recommandent d'installer 'thttpd' en plus de mailman. D'après wikipédia c'est un autre serveur http, rien ne dit pour l'instant qu'il est utile, mais s'il faut le mettre en plus de nginx il est fort probbale que nginx seul ne suffise pas.

Migrating mailman lists (Debian)

duckduckgo “migration mailman”

http://www.debian-administration.org/article/567/Migrating_mailman_lists

ça c'est une très bonne nouvelle, la procédure a étée détaillée pour debian, et doit être très valable si elle a été acceptée sur le site de debian.

Ils donnent des étapes faciles à suivre: * Introduction * Preparing New Server * Copying Data to New Server * Post Migration checks * Finalising

Leur explication vaut pour une installation avec postfix.

GNU Mailman - Installation Manual

https://www.gnu.org/software/mailman/mailman-install/front.html

On sait déjà que pour coller à la démarche de la page de debian, il faudra utiliser 'postfix' comme serveur mail.

Et pour aller avec notre install du serveur il faudra nginx comme serveur httpd. Avec éventuellement thttpd d'après ce que dit la doc nginx.

Réalisation de la Migration sur la VM

Installation de mailman et Postfix

On suit ce que dit la doc: Avoir un serveur httpd et un mail.

⇒ On installe postfix

Installation comme site internet pour qu'il ne fasse que du smtp. 'labx.fr' comme nom de domaine.

Installation de mailman

langues: anglais français espagnol allemand russe turc suedois finnois.

français par défaut.

Ils disent comment créer une nouvelle liste, ce qui est indispensable pour faire démarrer mailman. Mais avant on suit les étapes décrites dans la doc:

groupadd mailman
useradd -c 'GNU Mailman' -s /no/shell -d /no/home -g mailman mailman

Ensuite on est sensé donner le répertoire à l'user mailman. En effet avec l'install debian par défaut tout appartient à root:

ls -la /var/lib/mailman/

On adapte un peu les commandes, car les dossiers sont déjà peuplés. L'original est ici: https://www.gnu.org/software/mailman/mailman-install/create-install-dir.html

cd /var/lib/
labx|08:58:59|:/var/lib# chgrp -R mailman mailman
labx|08:59:26|:/var/lib# chmod a+rx,g+ws -R mailman

A ce moment là, on ne fait pas de make install car ce n'est pas nécessaire, et on fait la vérification avec le script

bin/check_perms

à la vue du résultat, il est clair que l'équivalent de l'user 'mailman' a été crée lors de l'installation comme étant l'user 'list'. La réparation se fait avec:

bin/check_perms -f
cd ..
chgrp -R list mailman
cd mailman
bin/check_perms -f

Pour vérifier que ces étourderies soient bien réparées.

A partir de là mailman est installé. Il n'est pas visible par http, il n'est pas démarré mais il est installé.

On repasse donc momentanement à la copie des données données dans le tuto pour la migration, et écrasant les dossiers 'lists' 'data' et 'archives'.

Puis la suite du tuto de migration

# Générer les lignes: labx|09:45:54|:/var/lib/mailman/bin# ./genaliases

# Les rajouter à la fin: labx|09:44:45|:/var/lib/mailman/bin# nano /etc/aliases

Pas besoin de changer de 'domain.tld'

Déjà avant même que les archives soient finies d'être copiées il est possible de lancer mailman:

labx|09:52:04|:/var/lib/mailman/bin# /etc/init.d/mailman start
[ ok ] Starting Mailman master qrunner: mailmanctl.

Retour vers la fin de l'installation de mailman

Il faut faire la configuration de postfix ⇒ là il y a contradiction!!!

entre la doc de debian et celle de mailman. A propos de la variable 'alias_maps' du '/etc/postfix/main.cf'.

https://wiki.debian.org/Postfix#Mailman_with_Postfix

On va suivre leurs recommandations pour alias_maps et relay_domains

Puis tapper comme ils disent:

labx|10:31:18|:/var/lib/mailman/bin# postconf -e "transport_maps = hash:/etc/postfix/transport"
labx|10:32:27|:/var/lib/mailman/bin# postconf -e "mailman_destination_recipient_limit = 1"
labx|10:32:46|:/var/lib/mailman/bin# nano /etc/postfix/master.cf

⇒ Pour ce fichier il est déjà écrit ce qu'ils demandent de rajouter.

Ensuite:

labx|10:35:49|:/var/lib/mailman/bin# nano /etc/postfix/transport
  lists.labx.fr  mailman:
postmap /etc/postfix/transport

Enfin

labx|10:38:36|:/var/lib/mailman/bin# nano /etc/mailman/mm_cfg.py

Et on redémmare:

/etc/init.d/postfix reload
/etc/init.d/mailman restart

Logiquement on est bon avec postfix!

Le serveur httpd

La doc nginx parle de thttpd, malheureuseùent celui ci n'est pas disponible dans les depots de notre debian.

Par contre dans la doc de archlinux il y a la proposition d'utiliser fcgiwrap: https://wiki.archlinux.org/index.php/mailman#Nginx https://wiki.archlinux.org/index.php/Nginx#fcgiwrap https://wiki.archlinux.org/index.php/Nginx#Step_1:_fcgiwrap

installation de fcgiwrap

labx|11:29:11|:~# aptitude install fcgiwrap

recherche de la socket

labx|11:30:16|:~# ps aux | grep fcgiwrap
labx|11:30:09|:~# lsof -p 27845

conf de nginx

Premier essai: https://wiki.archlinux.org/index.php/mailman#Nginx

Attention, le fichier dont il était fait mention et qui n'existe pas doit êyre copié depuis les examples: http://wiki.nginx.org/Fcgiwrap

Ensuite il y a un autre exemple qui ne se sert pas de ce fcgiwrap.conf:

Il va falloir recouper des infos: http://wiki.nginx.org/Mailman

⇒ finalement on abandonne ce fichier pour passer au suivant: (d'ailleurs même les images ne sont pas au bon endroit)

L'exemple le plus prometteur: “fcgiwrap mailman debian” https://www.howtoforge.com/running-mailman-on-nginx-lemp-on-debian-squeeze-ubuntu-11.04-11.10

C'est le seul qui nous a donné un résultat qui marche, et prouve par la même que ça marche pas tant que ça.

Reprise de

Notes & Outils

#tcpdump => Vérifier le TLS

Ce ne sera utile que dans un second temps, mais pour pouvoir voir ce qui se passe avec un certificat autosigné. Si les messages sont redirigés en smtp simple ou quand même envoyés en smtps.

Ici la commande simple qui permet de voir du traffic https:

[root@vm ~]# tcpdump  -i eth1  portrange 443 -vv

ça ne suffit pas pour voir du contenu, il faudra rajouter d'autres options. Le plus simple étant de tout capturer dans un fichier.

ici un lien qui va mieux expliquer comment avoir la ligne de commande qui nous arrange:

http://linux.byexamples.com/archives/283/simple-usage-of-tcpdump/

Ils utilisent une fonction “or”:

Num de ports

smtp:  25
smtps: 465

Rajouter le s96 :

http://serverfault.com/questions/253613/tcpdump-how-do-i-use-it-to-capture-all-traffic-headers

[root@vm ~]# tcpdump  -i eth1  tcp port \(25 or 465\) -vv -w /tmp/simple_smtp.cap -s96

Pour lire le résultat:

[root@vm ~]# tcpdump -XX -e -r /tmp/simple_smtp.cap 
vm_labx/migration_mailman.txt · Dernière modification: 2015/02/06 16:25 par lcaracol