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 !
⚠️ Ce guide s'adresse exclusivement à un public possédant un niveau élevé de compétence technique. Aucune responsabilité n'est assumée pour les dommages ou pertes - sauvegarder vos données avant toute manipulation. Pour de l'aide supplémentaire contactez un partenaire ou lancez gratuitement un appel d'offres — découvrez aussi le rôle de l'hébergeur.
Préambule
- Mailman est une application libre pour gérer des listes de diffusion, les listes de discussion et les newsletter.
- Ces fichiers sont préparés afin que vous puissiez facilement mettre en place Mailman.
- Le déploiement du serveur et de son pare-feu 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éparation…
… de votre environnement
- Etre en possession d'un Service Mail Infomaniak pour réaliser ce tutoriel.
- Les fichiers relatifs au déploiement de Mailman sur Public Cloud sont à télécharger sur ce github Infomaniak.
… de l'Environnement Mail
- Créez une adresse
mailman@domain.xyz
(aide) et conservez précieusement le mot de passe créé (il sera utilisé dans la configuration du serveur). - Ajoutez 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 !
… du Public Cloud
- Créez tout d'abord un projet Public Cloud et 1 utilisateur (aide)
- Prendre garde au mot de passe Public Cloud, une authentification 2FA sur votre compte Infomaniak est fortement recommandée.
- Cliquez ici afin d'accéder au tableau de bord Openstack et renseignez le
PCU-XXXXXX
avec le mot de passe définit précédemment. - Téléchargez 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.
… de l'instance
Afin de rendre accessible votre future instance sur ses différents ports de communication (SSH & HTTP & HTTPS), créez un security group permettant d’assigner un groupe de règle à une machine avec la commande suivante:
openstack security group create —description "Port 22 - 80 - 443 pour Mailman" mailman-sec
Ajoutez des règles au groupe de sécurité: mailman-sec
openstack security group rule create --dst-port 80 --protocol TCP mailman-secopenstack security group rule create --dst-port 443 --protocol TCP mailman-secopenstack 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é (prenez connaissance de la documentation cloud à ce sujet).
Déployez l’instance qui va contenir MailMan. Pour un usage en ligne de commande vous pouvez utiliser la commande 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
Une fois que vous êtes connecté sur la machine, mettez-la à jour:
sudo apt update && sudo apt upgrade -y
Installez 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, importez la clé SSH et votre fichier OpenRC via SFTP au sein de la machine exécutant la configuration Ansible.
Utilisez des logiciels/clients comme putty, termius, mobaxterm... (tout outil 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échargez le dossier contenant les fichiers d’installation:
wget https://github.com/reneluria/mailman-cloud
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éez 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
mailman ansible_host=xxx.xxx.xxx.xxx
[all:vars]
ansible_python_interpreter=/usr/bin/python3
ansible_user=debian
ansible_ssh_private_key_file=id_tf_keypair
fqdn=mailman.<yourdomain>
mail_host=mail.infomaniak.com
mail_account=mailman@<yourdomain>
mail_password=<email_password>
mailman_user=mailman
mailman_password==<interface_password>
mailman_domain=parano.ch
mailman_email=<your_email>
Exécutez la commande ctrl + s
puis ctrl + c
pour quitter Nano.
Toujours placé dans le répertoire mailman, exécutez le script avec ansible:
ansible-playbook playbook.yml -D
Mailman est à présent déployé sur votre adresse IP: X.X.X.X/mailman3
Se connecter
Connectez-vous 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, modifiez:
- 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"