technique:adminsys:mail:deploiement

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
technique:mail:deploiement [2020/02/14 15:13] – modification externe 127.0.0.1technique:adminsys:mail:deploiement [2022/05/24 21:06] (Version actuelle) ppom
Ligne 1: Ligne 1:
-====== Déploiement du serveur de mail ====== +{{indexmenu_n>5}} 
-   + 
-===== Création du volume mail avec Docker ===== +# Étapes de déploiement
-<code+
-docker volume create mail-mda-maildir +
-</code>+
  
 ===== Génération des clés ===== ===== Génération des clés =====
Ligne 22: Ligne 19:
  
  
-Pour une procédure plus détaillée, voir la [[technique:mail:deploiement:dkim|documentation dédiée]]+Pour une procédure plus détaillée, voir la [[technique:adminsys:mail:config:dkim|documentation dédiée]].
- +
-==== SSL ==== +
-Sur l'infra Picasoft on utilise traefik en tant que client acme. Ce sont les labels qui permettent de demander à traefik la génération d'un certificat: +
-<code> +
-      - "traefik.frontend.rule=Host:mail.test.picasoft.net" +
-      - "traefik.port=80" +
-      - "traefik.enable=true" +
-      - "traefik.docker.network=pica_mail" +
-</code> +
-Bien vérifier que le nom d'hôte est accessible. Ce n'est pas nécessairement le nom d'hôte qui sera utilisé par postfix lors des transactions SMTP entre MTA, mais c'est celui qui sera utilisé lors de la connexion utilisateur-serveur. +
-Traefik a besoin d'être sur le même réseau que le conteneur. Si ce n'est pas déjà le cas: +
-<code> +
-docker network connect pica_mail traefik +
-</code> +
-Lorsqu'on n'a jamais lancé le docker-compose, le réseau n'existera pas. Attention, le préfixe pica_ dans pica_mail vient du fichier .env présent dans le dossier docker-compose. Sans ça, le préfixe est le nom du dossier depuis lequel la commande docker-compose a été lancée. +
- +
-Les certificats sont copiés de traefik vers les MDA et MTA lors du lancement du docker-compose (par pica-mail-copy-certs). Lorsqu'on demande un certificat pour un certain domaine pour la première fois, il y a un délai de quelques minutes, ce qui fait qu'il faut lancer à nouveau pica-mail-copy-certs. On peut voir quels certificats traefik a à sa disposition en inspectant le fichier acme.json (sur l'infra picasoft, dans /DATA/docker/traefik/certs/acme.json).+
  
 ===== Entrées DNS ===== ===== Entrées DNS =====
  
 Une configuration fine d'un serveur de mail nécessite 4 entrées DNS : Une configuration fine d'un serveur de mail nécessite 4 entrées DNS :
-  - **MX** : <code>@ MX 200 pica01-test.test</code> où ''pica01-test.test'' est le sous-domaine visé par les mails. +  - **MX** : <code>@ MX 200 mail.picasoft.net</code> où ''mail.picasoft.net'' est le sous-domaine visé par les mails. 
-  - **SPF** : +  - **SPF** : <code>@ IN TXT "v=spf1 mx ~all"</code> : indique que les mails doivent venir d'un serveur déclaré dans le champ MX (ci-dessus) 
-  - **DKIM** : comme expliqué dans la section précédente, il faut copier tel quel dans le DNS le contenu du fichier ''nov2018.txt''((en supposant que le sélecteur soit ''nov2018''.)) créé à la génération des clefs DKIM.+  - **DKIM** : comme expliqué plus haut, il faut copier tel quel dans le DNS le contenu du fichier ''nov2018.txt''((en supposant que le sélecteur soit ''nov2018''.)) créé à la génération des clefs DKIM.
   - **DMARC** : la rédaction du champ peut se réaliser [[https://wiki.archlinux.org/index.php/OpenDMARC#dmarcrecord|manuellement]] mais nous recommandons l'aide fournie par [[https://dmarcguide.globalcyberalliance.org/#/|ce site interactif]]. La sortie générée est également à copier tel quel dans le DNS.   - **DMARC** : la rédaction du champ peut se réaliser [[https://wiki.archlinux.org/index.php/OpenDMARC#dmarcrecord|manuellement]] mais nous recommandons l'aide fournie par [[https://dmarcguide.globalcyberalliance.org/#/|ce site interactif]]. La sortie générée est également à copier tel quel dans le DNS.
 +
 +<bootnote>Pour DMARC, il y a aussi une documentation et un exemple [[technique:adminsys:mail:config:dmarc|sur cette page]].</bootnote>
  
 =====Création des conteneurs avec Docker===== =====Création des conteneurs avec Docker=====
  
-Les images sont générées à partir des ''Dockerfile'' sur le //repository// de Picasoft(([[https://gitlab.utc.fr/picasoft/dockerfiles/tree/mail/pica-mail-mta|MTA]] et [[https://gitlab.utc.fr/picasoft/dockerfiles/tree/mail/pica-mail-mda/auth_LDAP|MDA]])). Au moment de la rédaction de cette page, ces fichiers se trouvaient sous ''$(USER_DIRECTORY)/dockerfiles/pica-mail-mta'' et ''$(USER_DIRECTORY)/dockerfiles/pica-mail-mda/auth_LDAP'', respectivement pour le MTA et le MDA. +Les instructions se trouvent [sur le dépôt dédié](https://gitlab.utc.fr/picasoft/projets/services/mail-system/).
- +
-Puis : +
-<code> +
-cd /dockerfiles/pica-mail-mta +
-docker build -t pica-mail-mta . +
-cd /dockerfiles/pica-mail-mda +
-docker build -t pica-mail-mda . +
-cd /dockerfiles/docker-compose +
-docker-compose -f mail.yml up +
-</code> +
- +
-Un exemple de fichier docker-compose se trouve dans [[https://gitlab.utc.fr/picasoft/dockerfiles/blob/mail/docker-compose/mail.yml|/docker-compose/mail.yml]]. +
- +
-Noter qu'un fichier .env se trouve dans le répertoire docker-compose, il est important car c'est lui qui définit le préfixe des réseaux, à savoir "pica". Il faut absolument se placer dans un répertoire contenant mail.yml et .env +
- +
-(Ce qui signifie que si on demande au docker-compose de créer le réseau "mail", alors c'est le réseau "pica_mail" qui sera créé. Ce comportement de docker-compose est un problème connu de Docker, mais il ne sera pas changé dans des versions suivantes, pour des raisons de compatibilité.)+
  • technique/adminsys/mail/deploiement.1581689591.txt.gz
  • de 127.0.0.1