1 000 FAQ, 500 tutoriels et vidéos explicatives. Ici, il n'y a que des solutions !
Créer des listes de discussion avec Public Cloud
Ce guide explique comment mettre en place un système de listes de discussion avec votre Service Mail, ceci grâce à Mailman et à Public Cloud Infomaniak !
Qu'est-ce que Mailman ?
Mailman est une application libre pour gérer des listes de diffusion électroniques, les listes de discussion et les newsletter.
Les fichiers relatifs au déploiement de Mailman sur Public Cloud sont à télécharger sur ce github.
Nous avons préparé ces fichiers afin que vous puissiez facilement mettre en place Mailman ; le déploiement du serveur et de son firewall est fait avec TerraForm, outil d'Infrastructure as a Code (IaaC) et la configuration du serveur avec Ansible.
Le logiciel vous permet de créer des listes de discussion pour vos différents contacts (direction@, ecommerce@…).
Prérequis
- Être en possession d'un Service Mail Infomaniak pour réaliser ce tutoriel
Préparation de l'environnement Mail
- créer une adresse mailman@domain.xyz (aide) et conservez précieusement le mot de passe créé (il sera utilisé dans la configuration du serveur)
- ajouter les alias suivants (aide):
- postorius
- mylist
- mylist-bounces
- mylist-confirm
- mylist-join
- mylist-leave
- mylist-owner
- mylist-request
- mylist-subscribe
- mylist-unsubscribe
Votre environnement Mail est prêt pour le déploiement !
Préparation de l'environnement Public Cloud
- créer tout d'abord un projet Public Cloud et 1 utilisateur (aide)
Prenez garde au mot de passe Public Cloud, une authentification 2FA (validation kCheck) sur votre compte Infomaniak est fortement recommandée. - se connecter au tableau de bord Openstack et renseigner le PCU-XXXXXX avec le mot de passe définit précédemment
- télécharger votre fichier openrc, celui-vous permet de vous identifier en tant qu'administrateur de votre environnement depuis la ligne de commande. Il contient des informations comme le datacenter où sont situées vos machines, votre identifiant, mot de passe, etc.
Vous disposez à présent du fichier que vous pourrez utiliser pour vous connecter à l’administration Openstack.
Préparation de l'instance
Afin de rendre accessible votre future instance sur ses différents ports de communication (SSH & HTTP & HTTPS), créer un security group permettant d’assigner un groupe de règle à une machine avec la commande suivante:
openstack security group create —description "Port <tel:22-80-443|22 - 80 - 443> pour Mailman" mailman-sec
Ajouter des règles au groupe de sécurité: mailman-sec
openstack security group rule create --dst-port 80 --protocol TCP mailman-sec
openstack security group rule create --dst-port 443 --protocol TCP mailman-sec
openstack security group rule create --dst-port 22 --protocol TCP mailman-sec
Vous pouvez réaliser l’ensemble de ces commandes de manières graphiques depuis le dashboard Horizon https://api.pub1.infomaniak.cloud/horizon/auth/login/ dans l’onglet Réseau -> Groupe de Sécurité (documentation cloud à ce sujet).
Déployer l’instance qui va contenir MailMan. Pour un usage en ligne de commande vous pouvez utiliser la suivante:
openstack server create --flavor a1-ram2-disk20-perf1 --security-group mailman-sec --network ext-net1 --key-name <votre-clé> --image "Debian 11.5 bullseye" mailman3</votre-clé>
Une fois que vous êtes connecté sur la machine, la mettre à jour:
sudo apt update && sudo apt upgrade -y
Installer le client openstack:
sudo apt install python3-openstackclient -y
Installation d’Ansible (permettant de déployer mailman de manière automatique):
sudo apt install ansible -y
Déploiement de Mailman
Afin de déployer Mailman sur la machine, importer la clé SSH et votre fichier OpenRC via SFTP au sein de la machine exécutant la configuration Ansible.
Nous recommandons des clients putty, termius, mobaxterm... (tout client qui gère le SSH / SFTP) pour réaliser l’import facilement, il suffira de renseigner les informations suivantes pour vous connecter à la machine:
- IP de la machine créé précédemment
- port : 22
- clé SSH créée précédemment : importer le fichier .pem
- utilisateur : debian
Dans ce guide, le logiciel Termius a été utilisé pour faire le déplacement des fichiers en SFTP sur la machine.
Télécharger le dossier contenant les fichiers d’installation:
wget (url-download-fichier-rené : <a class="theme markdown__link" href="https://github.com/reneluria/mailman-cloud" rel="noreferrer" target="_blank">https://github.com/reneluria/mailman-cloud</a>)
Il faut à présent déplacer la clé SSH ainsi que le fichier PCP dans le dossier téléchargé:
mv cle.pem mailman/mv PCP-XXXX.sh mailman/
Se déplacer dans le fichier:
cd mailman/
Définition du droit 600 sur la clé pour la protéger et l’exécuter:
sudo chmod 600 tf-keypair.pem
Créer un fichier inventory pour définir les paramètres: SMTP, Domain…
nano inventory
Il faut renseigner dans ce fichier le template suivant en y modifiant les lignes commentées par vos variables d’environnement:
mailman ansible_host
=IP Publique de la VM Cible
[all:vars]ansible_python_interpreter=/usr/bin/python3ansible_user=debianansible_ssh_private_key_file=tf-keypair.pem<a class="theme markdown__link" rel="noreferrer" target="_blank">fqdn=mailman.mubbles.fr</a>mail_host=<a class="theme markdown__link" href="http://mail.infomaniak.com/" rel="noreferrer" target="_blank">mail.infomaniak.com</a><a class="theme markdown__link" href="mailto:mail_account=mailman@mubbles.fr%7Cmailto:mail_account=%3E%3Cmailto:mailman@mubbles.fr" rel="noreferrer" target="_blank">mail_account=mailman@mubbles.fr|mail_account=>mailman@mubbles.fr|mailman@mubbles.fr</a>mail_password=Mot de passe SMTPmailman_user=mailmanmailman_password=motdepasse admin mailmanmailman_domain=votredomaine.tldmailman_email=email admin mailman
Exécuter la commande ctrl + s puis ctrl + c pour quitter Nano.
Toujours placé dans le répertoire mailman, exécuter le script avec ansible:
ansible-playbook playbook.yml -D
Mail est à présent déployé sur votre adresse ip: X.X.X.X/mailman3
Se connecter sur mailman avec les identifiants renseignés dans le fichier inventory plus haut pour ensuite:
- > Créer un domaine -> créer ma liste "maliste"
Dans la liste des paramètres, modifier:
- Atténuations DMARC: il est recommandé d'utiliser "Remplacer de par l'adresse de la liste"
- Modifier les messages: il est recommandé d'utiliser "Répondre à la liste" et "Répondre à la première bande"