Outils pour utilisateurs

Outils du site


kb:linux:modoboa:avoir_plusieurs_domaines_pour_chaque_service_sur_modoboa

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édentesRévision précédente
kb:linux:modoboa:avoir_plusieurs_domaines_pour_chaque_service_sur_modoboa [2020/12/31 11:25] beukb:linux:modoboa:avoir_plusieurs_domaines_pour_chaque_service_sur_modoboa [2020/12/31 16:09] (Version actuelle) – a beu
Ligne 9: Ligne 9:
   * Port 25  ->  mx01.virtit.fr   * Port 25  ->  mx01.virtit.fr
   * Ports 80 et 443  ->  mail.virtit.fr (mais aussi autoconfig.virtit.fr et peut-être d'autres)   * Ports 80 et 443  ->  mail.virtit.fr (mais aussi autoconfig.virtit.fr et peut-être d'autres)
-  * Ports 465 et 587 ->  smtp.virtit.fr+  * Ports 587 ->  smtp.virtit.fr
   * Ports 143 et 993  -> imap.virtit.fr   * Ports 143 et 993  -> imap.virtit.fr
  
Ligne 21: Ligne 21:
 === Configuration IPv4 === === Configuration IPv4 ===
  
-Dans le cas où vous n'avez qu'une seule IP, il va falloir re-diriger les ports 80 et 443 vers le Reverse Proxy, et les ports 25, 143, 465, 587 et 993 vers le serveur Modoboa. Tous les domaines devront avoir pour entrée votre IP.+Dans le cas où vous n'avez qu'une seule IP, il va falloir re-diriger les ports 80 et 443 vers le Reverse Proxy, et les ports 25, 143, 587 et 993 vers le serveur Modoboa. Tous les domaines devront avoir pour entrée votre IP.
  
 Si vous avez deux IP, il faudra simplement utiliser les mêmes configurations que pour l'IPv6. Si vous avez deux IP, il faudra simplement utiliser les mêmes configurations que pour l'IPv6.
Ligne 27: Ligne 27:
 === Configuration IPv6 === === Configuration IPv6 ===
  
-Je vais partir du principe que vous avez plusieurs IPv6, et donc une pour chaque machine. Comme pour l'IPv4, il va falloir configurer les ports 80 et 443 vers le Reverse Proxy, ainsi que les ports 25, 143, 465, 587 et 993 vers le serveur Modoboa. Sauf, que s'ajoute a cette liste le port 80 vers le serveur Modoboa.+Je vais partir du principe que vous avez plusieurs IPv6, et donc une pour chaque machine. Comme pour l'IPv4, il va falloir configurer les ports 80 et 443 vers le Reverse Proxy, ainsi que les ports 25, 143,  587 et 993 vers le serveur Modoboa. Sauf, que s'ajoute a cette liste le port 80 vers le serveur Modoboa.
  
 ==== Configuration de Nginx ==== ==== Configuration de Nginx ====
Ligne 35: Ligne 35:
 Pour simplifier l'usage, on ne va pas utiliser le module Nginx de Certbot((outils pour générer des certificats Let's Encrypt)) mais le module webroot, non dépendant a un serveur web particulier. Pour simplifier l'usage, on ne va pas utiliser le module Nginx de Certbot((outils pour générer des certificats Let's Encrypt)) mais le module webroot, non dépendant a un serveur web particulier.
  
-Pour cela, +Pour cela, il va falloir commencer par créer le dossier pour les challenges :
  
-FIXME+<code bash> 
 +# mkdir -p /var/www/.well-known/acme-challenge/ 
 +</code> 
 + 
 +ensuite il faudra ajouter dans le fichier **/etc/nginx/sites-available/default**, dans la section **server**, les lignes suivantes : 
 + 
 +<code> 
 +location /.well-known/acme-challenge/
 + allow all; 
 + alias /var/www/.well-known/acme-challenge/; 
 +
 +</code> 
 + 
 +et pour finir, il faudra re-charger Nginx : 
 + 
 +<code bash> 
 +# systemctl reload nginx 
 +</code> 
 + 
 +Dans le cas où vous votre Modoboa est derrière un Reverse Proxy, il va falloir le configurer de telle sorte a ce que les requêtes vers **/.well-known/acme-challenge/** des domaines **mx01.virtit.fr**, **smtp.virtit.fr** et **imap.virtit.fr** soient redirigées vers le Modoboa, alors que celle du domaine **mail.virtit.fr** doivent être conservé sur le Proxy. 
 + 
 +Pour cela, on va ajouter la configuration suivante au Nginx du Reverse Proxy : 
 + 
 +<code> 
 +server { 
 +        listen 80; 
 +        listen [::]:80; 
 +        server_name mx01.virtit.fr smtp.virtit.fr imap.virtit.fr; 
 + 
 +        location /.well-known/acme-challenge/
 +                allow all; 
 +                proxy_pass http://serveur-modoboa ; 
 +        } 
 + 
 +        return 302 https://mail.virtit.fr$request_uri; 
 +
 +</code> 
 + 
 +==== Génération des certificats ==== 
 + 
 +Maintenant, pour générer les certificats, il faut simplement taper la commande suivante pour chaque domaine : 
 + 
 +<code bash> 
 +# certbot certonly --webroot -w /var/www/ --rsa-key-size 4096 -d mx01.virtit.fr 
 +</code> 
 + 
 +==== Configurez les services ==== 
 + 
 + 
 +=== pour mx01.virtit.fr === 
 + 
 +Il faut modifier le fichier **/etc/postfix/main.cf** et remplacez les lignes suivantes : 
 + 
 +<code> 
 +myhostname = mx01.virtit.fr 
 +[....] 
 +smtpd_tls_key_file = /etc/letsencrypt/live/mx01.virtit.fr/privkey.pem 
 +smtpd_tls_cert_file = /etc/letsencrypt/live/mx01.virtit.fr/fullchain.pem 
 +</code> 
 + 
 +ensuite, il vous faudra aussi remplacer le domaine dans le fichier **/etc/amavis/conf.d/05-node_id** 
 + 
 +=== pour smtp.virtit.fr === 
 + 
 +Il faut modifier le fichier **/etc/postfix/master.cf** et ajouter, pour la section **submission** les lignes suivantes : 
 + 
 +<code> 
 +  -o smtpd_tls_cert_file=/etc/letsencrypt/live/smtp.virtit.fr/fullchain.pem  
 +  -o smtpd_tls_key_file=/etc/letsencrypt/live/smtp.virtit.fr/privkey.pem 
 +</code> 
 + 
 +=== pour imap.virtit.fr === 
 + 
 +Il faut modifier le fichier **/etc/dovecot/conf.d/10-ssl.conf** et remplacez les lignes suivantes : 
 + 
 +<code> 
 +ssl_cert = </etc/letsencrypt/live/imap.virtit.fr/fullchain.pem  
 +ssl_key = </etc/letsencrypt/live/imap.virtit.fr/privkey.pem 
 +</code> 
 + 
 +=== et pour l'ensemble des domaines === 
 + 
 +Il faudra modifier l'ensemble des domaines pour correspondre a votre réalité dans le fichier **/etc/automx.conf**, comme ceci: 
 + 
 +<code ini> 
 +# This file was automatically installed on 2020-12-30T16:23:00.311580 
 +[automx] 
 +provider = virtit.fr 
 +domains = * 
 + 
 +# Protect against DoS 
 +memcache = 127.0.0.1:11211 
 +memcache_ttl = 600 
 +client_error_limit = 20 
 +rate_limit_exception_networks = 127.0.0.0/8, ::1/128 
 + 
 +[global] 
 +backend = sql 
 +action = settings 
 +account_type = email 
 +host = mysql://modoboa:XXXXXXXXXXXXXXXXXXXXXX@localhost/modoboa 
 +query = SELECT concat(first_name, ' ', last_name) AS display_name, email, SUBSTRING_INDEX(email, '@', -1) AS domain FROM core_user WHERE email='%s' AND is_active=1 
 +result_attrs = display_name, email 
 + 
 +smtp = yes 
 +smtp_server = smtp.virtit.fr 
 +smtp_port = 587 
 +smtp_encryption = starttls 
 +smtp_auth = plaintext 
 +smtp_auth_identity = ${email} 
 +smtp_refresh_ttl = 6 
 +smtp_default = yes 
 + 
 +imap = yes 
 +imap_server = imap.virtit.fr 
 +imap_port = 993 
 +imap_encryption = ssl 
 +imap_auth = plaintext 
 +imap_auth_identity = ${email} 
 +imap_refresh_ttl = 6 
 + 
 +pop = no 
 +</code> 
 + 
 +Ensuite, il vous faudra simplement redémarrer les services : 
 + 
 +<code bash> 
 +# systemctl restart postfix dovecot amavis uwsgi 
 +</code>
kb/linux/modoboa/avoir_plusieurs_domaines_pour_chaque_service_sur_modoboa.txt · Dernière modification : 2020/12/31 16:09 de beu