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 créer manuellement 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 newsletters.- 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 avecAnsible
. - 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 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"