
Mailman est l’un des logiciels open-source les plus populaires pour la gestion des discussions par e-mail, des annonces et des newsletters. Dans ce tutoriel, nous couvrirons l’intégralité du processus d’installation, de configuration et de gestion de Mailman sur un serveur basé sur Linux. Nous aborderons des sujets clés tels que l’installation de Mailman, la configuration du serveur de listes de diffusion, l’activation de l’interface Web, l’intégration avec un agent de transfert de courrier (MTA) comme Postfix et la gestion des listes de diffusion. Ce guide complet a pour objectif de vous fournir toutes les informations dont vous avez besoin pour configurer Mailman et assurer son bon fonctionnement pour la gestion des listes de diffusion.
Prérequis
Avant de commencer, assurez-vous de répondre aux prérequis suivants :
- Serveur basé sur Linux : Ce tutoriel suppose que vous utilisez une distribution basée sur Debian comme Ubuntu. Pour d’autres distributions, les commandes peuvent varier.
- Privilèges root ou sudo : Vous avez besoin d’un accès root ou sudo pour effectuer l’installation et la configuration.
- Un nom de domaine : Mailman nécessite un nom de domaine pour fonctionner correctement. Assurez-vous que vos enregistrements DNS sont configurés et pointent vers votre serveur.
- Agent de transfert de courrier (MTA) : Vous aurez besoin d’un MTA comme Postfix ou Exim pour l’envoi et la réception d’e-mails.
Étape 1 : Mise à jour du système
Commencez par mettre à jour le gestionnaire de paquets du système afin de garantir que vous disposez des derniers correctifs de sécurité et mises à jour des logiciels installés.
$ sudo apt update
$ sudo apt upgrade -y
Étape 2 : Installation des dépendances
Mailman nécessite plusieurs dépendances à installer avant que le logiciel principal ne soit installé. Celles-ci incluent des packages pour le serveur Web, le support de la base de données et des packages Python.
Installer les dépendances nécessaires :
$ sudo apt install build-essential python3 python3-pip python3-dev python3-virtualenv libxml2-dev libxslt1-dev libssl-dev libffi-dev zlib1g-dev libmysqlclient-dev -y
Mailman utilise Python 3 et certaines bibliothèques pour son fonctionnement. La commande ci-dessus installe les outils de développement Python et les autres bibliothèques nécessaires.
Étape 3 : Installation de Mailman
Mailman est disponible dans les dépôts officiels pour Ubuntu. Nous allons l’installer en utilisant le gestionnaire de paquets apt
.
Installer Mailman :
$ sudo apt install mailman -y
Après l’installation, Mailman est prêt à être configuré. Cependant, avant de poursuivre, certaines tâches de post-installation doivent être effectuées, telles que la configuration du système de messagerie, du serveur Web et de la base de données.
Étape 4 : Configuration de Mailman
Le fichier de configuration principal de Mailman se trouve à /etc/mailman/mm_cfg.py
. Vous devez modifier ce fichier pour définir les paramètres du domaine et de l’hôte de messagerie.
Modifier le fichier de configuration :
$ sudo nano /etc/mailman/mm_cfg.py
Trouvez les lignes suivantes et modifiez-les pour refléter les paramètres de votre domaine :
DEFAULT_EMAIL_HOST = 'votredomaine.com'
DEFAULT_URL_HOST = 'votredomaine.com'
VIRTUAL_HOSTS = {'votredomaine.com': '/usr/lib/mailman'}
- Remplacez
votredomaine.com
par le nom de votre domaine réel. - Cela garantit que toutes les adresses e-mail des listes seront créées sous ce domaine.
De plus, vous devez configurer les paramètres POSTMASTER
et MAILMAN_OWNER
:
POSTMASTER = '[email protected]'
MAILMAN_OWNER = '[email protected]'
Ce seront les adresses e-mail utilisées pour les tâches administratives et les notifications.
Étape 5 : Configuration de l’interface Web
Mailman offre une interface Web puissante pour la gestion des listes de diffusion. Cette section vous guidera pour configurer l’interface Web en utilisant Apache ou Nginx.
5.1 : Configuration du serveur Web Apache
Mailman peut s’intégrer de manière transparente avec Apache pour gérer l’interface Web. Suivez ces étapes :
- Activer le module CGI :
$ sudo a2enmod cgi
- Créer un fichier de configuration pour Mailman :
$ sudo nano /etc/apache2/sites-available/mailman.conf
Ajoutez la configuration suivante :
<VirtualHost *:80>
ServerName votredomaine.com
DocumentRoot /var/www/lists
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/mailman/
Alias /pipermail/ /var/lib/mailman/archives/public/
<Directory "/usr/lib/cgi-bin/mailman/">
Options ExecCGI
AllowOverride None
Require all granted
</Directory>
</VirtualHost>
- Activer le nouveau site :
$ sudo a2ensite mailman.conf
$ sudo systemctl restart apache2
Cette configuration garantit que l’interface Web et les archives sont correctement servies par Apache.
5.2 : Configuration du serveur Web Nginx
Si vous utilisez Nginx, vous devrez configurer un proxy inverse pour gérer les scripts CGI. Commencez par installer fcgiwrap
.
$ sudo apt install fcgiwrap -y
Ensuite, configurez Nginx pour faire passer les requêtes vers les scripts CGI.
$ sudo nano /etc/nginx/sites-available/mailman
Ajoutez la configuration suivante :
server {
listen 80;
server_name votredomaine.com;
root /var/www/lists;
location /cgi-bin/ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME /usr/lib/cgi-bin/mailman/$fastcgi_script_name;
include fastcgi_params;
}
location /pipermail/ {
alias /var/lib/mailman/archives/public/;
}
}
Maintenant, activez le site et redémarrez Nginx :
$ sudo ln -s /etc/nginx/sites-available/mailman /etc/nginx/sites-enabled/
$ sudo systemctl restart nginx
Étape 6 : Configuration du serveur de messagerie (Postfix)
Mailman a besoin d’un agent de transfert de courrier (MTA) comme Postfix pour envoyer et recevoir des e-mails. Dans cette étape, nous allons configurer Postfix.
6.1 : Installer Postfix
$ sudo apt install postfix -y
Lors de l’installation, vous serez invité à sélectionner le type de serveur de messagerie. Choisissez Site Internet.
6.2 : Configurer Postfix
Modifiez le fichier de configuration de Postfix :
$ sudo nano /etc/postfix/main.cf
Assurez-vous que les lignes suivantes sont définies :
myhostname = votredomaine.com
mydestination = $myhostname, localhost.localdomain, localhost
Vous devez également configurer Mailman avec Postfix en modifiant /etc/postfix/master.cf
et en ajoutant les entrées spécifiques à Mailman.
6.3 : Redémarrer Postfix
$ sudo systemctl restart postfix
Étape 7 : Création des listes de diffusion
Maintenant que Mailman est installé et configuré, vous pouvez créer des listes de diffusion. Cela peut être fait via la ligne de commande ou l’interface Web.
7.1 : Créer une liste via la ligne de commande
Pour créer une nouvelle liste de diffusion :
$ sudo newlist nomdelaliste
Remplacez nomdelaliste
par le nom de votre liste. Vous serez invité à fournir une adresse e-mail pour le propriétaire de la liste et un mot de passe.
7.2 : Accéder à l’interface Web
Visitez http://votredomaine.com/cgi-bin/mailman/admin
dans votre navigateur pour accéder à l’interface d’administration. De là, vous pouvez gérer vos listes.
Étape 8 : Gestion des listes de diffusion
8.1 : Ajouter des membres
Pour ajouter des membres à une liste, utilisez l’interface Web ou la commande suivante :
$ sudo /usr/lib/mailman/bin/add_members -r nomdelaliste [email protected] [email protected]
8.2 : Supprimer des membres
Pour supprimer des membres d’une liste :
$ sudo /usr/lib/mailman/bin/remove_members -r nomdelaliste [email protected]
Étape 9 : Dépannage des problèmes courants
9.1 : Problèmes de livraison des e-mails
Vérifiez les journaux de Postfix et les journaux de Mailman pour toute erreur.
$ sudo tail -f /var/log/mail.log
$ sudo tail -f /var/log/mailman/post.log
9.2 : L’interface Web ne fonctionne pas
Assurez-vous qu’Apache ou Nginx est correctement configuré et que les scripts CGI sont exécutables.
Étape 10 : Bonnes pratiques et sécurité
- Sauvegardes régulières : Configurez des sauvegardes régulières pour la base de données et les fichiers de configuration de Mailman.
- Limiter l’accès aux listes : Utilisez les paramètres de confidentialité des listes pour contrôler qui peut publier et s’abonner aux listes.
- Utiliser TLS : Configurez Postfix pour utiliser TLS pour une transmission sécurisée des e-mails.
Conclusion
Mailman est un outil puissant pour la gestion des listes de diffusion, et avec ce tutoriel, vous avez appris à l’installer et à le configurer sur votre serveur Linux. En suivant ces étapes, vous pouvez faire fonctionner votre propre serveur de listes de diffusion pour faciliter les discussions ou les newsletters. N’oubliez pas de procéder à une maintenance régulière et de garder votre système à jour pour assurer des performances optimales.