Annonce publicitaire | ||
Introduction
Les principaux composants ou activités impliqués dans la configuration ou l’installation d’un serveur de messagerie complet pour une utilisation en production implique à savoir MTA (Mail Transfer Agent), MDA (Mail Delivery Agent), Antivirus, Spam Détection et Interface Web. Le MTA est tenu de communiquer ou de relayer les e-mails entre Internet et le serveur de messagerie assurant l’envoi et la réception des e-mails.
En même temps, le MDA lit la file d’attente des e-mails du MTA et enregistre les e-mails dans les boîtes de réceptions en identifiant les utilisateurs correspondants. Outre le MTA et le MDA, un serveur de messagerie a également besoin d’outils tel qu’un serveur de liste grise , d’un antivirus pour analyser les e-mails à la recherche de virus bien connus et d’un outil de détection de spam pour filtrer les spams, et une interface Web est également nécessaire pour accéder au serveur de messagerie afin de lire , écrire et gérer les e-mails.
Ce guide fournit les étapes complètes requises pour installer un serveur de messagerie complet sur Ubuntu 18.04 ou 20.04 LTS.
Ce didacticiel fournit aussi toutes les étapes requises pour installer Postfix en tant que MTA, Dovecot en tant que MDA, Dovecot-sieve en tant que filtre de distribution, Postgrey en tant que serveur de stratégie de liste grise, ClamAV en tant qu’antivirus, Amavis en tant que filtre de contenu, SpamAssassin en tant que filtre anti-spam, PostfixAdmin pour gérer les domaines et utilisateurs administratifs, et RoundCube en tant que Interface web pour les utilisateurs.
Il fournit également des configurations pour gérer les domaines virtuels et les utilisateurs virtuels à l’aide du système de gestion de base de données classique MySQL 5.7 ou mariaDB 10.4 .En fin de compte, il montre également comment vérifier la santé du serveur de messagerie à l’aide des outils standard. Toutes les étapes mentionnées dans ce tutoriel sont exécutées et testées sur Ubuntu 18.04 ou 20.04 LTS.
Remarques:
Il s’agit d’un long tutoriel, impliquant plusieurs commandes et configurations d’installations. Assurez-vous d’exécuter toutes les commandes et d’appliquer toutes les configurations car il est vraiment difficile de déboguer par la suite s’il manquait quelle que chose ou même une mauvaise configuration ou une erreur syntaxique.
Maintenant, respirez profondément, calmez-vous, prenez une tasse de thé ou café ou une chope de bière, mettez de la musique légère, détendez-vous et suivez les instructions des sections suivantes de ce didacticiel. Aussi, ne vous précipitez pas lors de l’installation de votre serveur de messagerie et assurez-vous de disposer de suffisamment de temps pour déboguer en cas de problème.
Ce didacticiel utilise le nom de domaine example.com à des fins de démonstration. En outre, il a utilisé mail.example.com comme nom d’hôte du serveur. Assurez-vous de remplacer example.com et mail.example.com par votre domaine réel et le nom d’hôte du serveur.
Ce didacticiel tente de couvrir tous les aspects majeurs de la configuration d’un serveur de messagerie de production. Vous pouvez affiner et mettre à jour davantage les configurations en fonction de vos besoins.
J’ai essayé de garder ce guide court sans expliquer les configurations et les paramètres.
Vous aurez un serveur de messagerie complet prêt pour une utilisation en production en suivant ce didacticiel.
Ajoutez également des notes en soumettant vos précieux commentaires au cas où vous auriez des suggestions ou de meilleures options de configurations ou pour signaler un problème. [Commentaires en bas de page] ou directement sur notre forum.
Conditions préalables pour un serveur de messagerie
Ce didacticiel suppose que vous avez déjà installé le serveur Ubuntu 18.04 ou 20.04 LTS pour une utilisation en production. Vous pouvez suivre Faire tourner Ubuntu 20.04 LTS sur AWS EC2 pour installer Ubuntu 18.04 ou 20.04 LTS. Cela suppose également que vous disposez des privilèges root ou d’un utilisateur régulier avec des privilèges sudo.
Cela suppose également que MySQL, PHP et Apache 2.4 sont déjà installés.
Vous pouvez suivre :
- Comment installer MySQL 8 ou mariaDB sur Ubuntu 18.04 ou 20.04 LTS.
- Comment installer PHP sur Ubuntu 18.04 ou 20.04 LTS.
- Comment installer Apache 2 sur Ubuntu 18.04 ou 20.04 LTS.
- Configurer l’hôte virtuel (VirtualHost)sur Apache.
- Comment installer Let’s Encrypt (certificat SSL) pour Apache sur Ubuntu.
- Comment installer Roundcube 1.4.11 sur ubuntu 18.04 ou 20.04.
Les ports à utiliser
- 25 (SMTP),
- 587 (SMTP sur TLS),
- 465 (SMTPS),
- 143 (IMAP),
- 993 (IMAPS),
- 110 (POP3),
- 995 (POP3S)
La liste des ports cités ci-dessus , ne doivent pas être bloqués par le pare-feu, ou utilisés par d’autres services autres que postfix et dovecot, (UFW) est l’outil de configuration du pare-feu par défaut utilisé sur Ubuntu 18.04 ou 20.04 LTS. Sur AWS EC2, le groupe de sécurité attribué à l’instance doit être mis à jour pour fermer ces ports pour la communication externe sur Internet.
Vous devez avoir un nom de domaine valide qui pointe vers l’adresse IP de votre serveur et que vous avez accès a y mettre à jour les enregistrements (DNS) du domaine.
Il s’attend également à ce qu’un certificat SSL valide soit installé pour le nom d’hôte attribué au serveur de messagerie. Vous pouvez suivre Comment installer LetsEncrypt For Apache sur Ubuntu. Le certificat SSL doit inclure example.com et mail.example.com. Vous pouvez également inclure deux sous-domaines supplémentaires pour héberger PostfixAdmin et Roundcube, à savoir mailadmin.example.com et webmail.example.com.
Vérifiez également au près de votre fournisseur d’hébergement pour autoriser l’envoi d’e-mails en masse en supprimant les restrictions sur le port 25. Nous sommes tenus de soumettre un formulaire demandant à AWS de supprimer les restrictions du port 25, comme expliqué ici.
Mettre à jour les enregistrements DNS
Cette section fournit les configurations requises au niveau des enregistrements DNS (Domain Name Server) pour continuer l’installation du serveur de messagerie. Assurez-vous que votre enregistrement de domaine est configuré comme indiqué ci-dessous.
Un enregistrement «A» doit exister avec le nom d’hôte et l’adresse IP de votre serveur de messagerie (VPS). Le nom d’hôte d’un serveur de messagerie doit être similaire à «mail.example.com», remplacez 999.999.999.999 par l’adresse IP publique fournie par votre FAI.
Nom Type Valeur d'adresse IP TTL example.com. A 999.999.999.999 300 mail.example.com. A 999.999.999.999 300
– Ajoutez des enregistrements CNAME pour Postfix Admin et RoundCube.
Nom Type Valeur TTL
mailadmin.example.com. CNAME example.com 300
webmail.example.com. CNAME example.com 300
Enregistrement MX
– L’enregistrement de domaine doit avoir un enregistrement MX comme indiqué ci-dessous.
Name Type Value TTL
example.com. MX 10 xx.xxx.xxx.xxx 300
mail.example.com. MX 20 xx.xxx.xxx.xxx 300
Enregistrement SPF
– Un enregistrement de type texte pour vérifier les hôtes autorisés à envoyer des e-mail depuis un domaine. Un enregistrement SPF générique doit être similaire à celui illustré ci-dessous.
Name Type Valeur TTL
mail.example.com. TXT 'v=spf1 a mx -all' 300
Enregistrement PTR
Un enregistrement PTR valide doit exister. Vous pouvez contacter votre fournisseur d’hébergement pour configurer un enregistrement PTR approprié au cas où le panneau de contrôle ne propose pas d’options pour définir le domaine inversé pour l’adresse IP de votre serveur de messagerie.
Name Type Value TTL
example.com PTR 999.ip-999-999-999.ptr 300
à titre d'exemple l'Ip inverse (PTR) de XX.220.122.123 est 123.ip-XX-220-122.eu
Sur (AWS), cela peut être fait en soumettant ce formulaire. Nous pouvons également vérifier le (DNS) inversé en utilisant la commande dig comme indiqué ci-dessous.
dig -x <votre IP de serveur> +short
Enregistrement DMARC
– Ajoutez l’enregistrement DMARC comme indiqué ci-dessous.
Name Type Value TTL
_dmarc.mail.example.com. TXT 'v=DMARC1; p=rejeter;pct=100; rua=mailto:postmaster@example.com
Configurer le nom d’hôte (hostname)
Cette section fournit les commandes permettant de configurer le nom d’hôte du serveur de messagerie. Le même nom d’hôte sera utilisé par Postfix et Dovecot. Exécutez maintenant les commandes mentionnées ci-dessous pour mettre à jour le nom d’hôte du serveur.
# Vérifier le nom d'hôte hostname -f # Résultat <nom-d'hote_actuel> # Mettre à jour le nom d'hôte sudo hostnamectl set-hostname mail.example.com
Mettez également à jour le fichier /etc/hosts comme indiqué ci-dessous. Assurez-vous de remplacer l’adresse IP et le nom d’hôte par l’adresse IP du domaine de votre serveur.
sudo nano /etc/hosts
# Mettre à jour 127.0.0.1 localhost <addrese-IP-du-domaine> mail.example.com example.com mail
Enregistrez et quittez l’éditeur en appuyant sur Ctrl + o – Entrée – Ctrl + x
Ceci termine la configuration du nom d’hôte. Vous pouvez redémarrer votre serveur et vérifier à nouveau le nom d’hôte. Il doit refléter le nouveau nom d’hôte que vous avez configuré.
Installer Postfix
Cette section fournit les étapes pour installer Postfix sur Ubuntu 18.04 ou 20.04 LTS. Exécutez maintenant les commandes comme indiqué ci-dessous pour installer Postfix.
# Actualiser l'index des packages sudo apt-get update # Mise à jour vers la dernière version d'Ubuntu 18.04 ou 20.04 - # assurez-vous de sauvegarder votre serveur avant de l'exécuter sudo apt dist-upgrade # Autoclean: nettoyage automatique sudo apt autoclean # Suppression automatique des paquets obsolètes sudo apt autoremove # OU ALORS sudo apt --purge autoremove
# Install PHP Packages sudo apt install php7.4-curl php7.4-gd php7.4-mbstring php7.4-imap php7.4-xml \ php-apcu php7.4-fpm php7.4-mysql php7.4-json php7.4-zip php7.4-bz2 php7.4-intl php7.4-gmp # Install Additional Packages sudo apt install zip unzip rar unrar sudo apt install pyzor razor arj cabextract lzop nomarch p7zip-full rpm2cpio tnef unzip unrar-free zip bzip2 cpio file gzip pax # Install Postfix sudo apt install postfix postfix-mysql
Lors de l’installation de Postfix, le programme d’installation vous demande de choisir le type de configuration comme indiqué sur la figure 1.
Configuration
Fig. 1
Appuyez sur la touche fléchée droite pour mettre en surbrillance l’option OK et appuyez sur la touche Entrée. Il fournira les options pour choisir le type de configuration comme indiqué dans la figure 2.
Choisir une configuration pour un Site Internet.
Fig 2
Gardez l’option Site Internet sélectionnée et appuyez sur la touche fléchée droite pour mettre en surbrillance l’option OK, comme illustré à la Fig 3 et.
Installer Postfix sur Ubuntu 18.04 ou 20.04 LTS – Configuration – Site Internet
Fig 3
Appuyez maintenant sur la touche Entrée pour configurer le nom d’hôte comme indiqué sur la figure 4.
Si les email adresses de votre serveur ressemblent à «Utilisateur@example.com», la correcte valeur pour cette option doit être «example.com».
Fig 4
Appuyez maintenant sur Entrée pour terminer l’installation. Installer en suite les packages additionnelles, il s’agis du module traitant les enregistrements de signatures (SPF ).
# Additional Package sudo apt install postfix-policyd-spf-python
Fichier de configuration main.cf
Ci-dessous un exemple testé et fonctionnel d’un fichier de configuration, /etc/postfix/main.cf , ce fichier détermine les stratégies globales du trafic (réception et envoi des e-mails) et définit la politique générale de sécurité du serveur.
Ne pas oublier de remplacer «example.com» par le nom de votre domaine.
Ne pas oublier aussi de remplacer «ip inverse (PTR)» par la valeur de l’enregistrement DNS (PTR) fournit par votre FAI.
Lisez bien les commentaires pour bien comprendre les différentes sections présentées dans le fichier de configuration main.cf de postfix.
Certaine sections présentées dans le fichier, configurent des services qui ne sont pas encore installés tel-que Amavis ou Spamassassin et spf et ou LetsEncrypt…, Je propose de faire un copier/coller de cet fichier, car postfix fonctionne sans problème avec cette configuration.
# -------------------------------------------------- # Fichie main.cf pour Postfix version 3.4.13 # -------------------------------------------------- smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu) biff = no append_dot_mydomain = no #delay_warning_time = 4h readme_directory = no compatibility_level = 2 # ----------------------- # SASL parameters # ----------------------- smtpd_sasl_type = dovecot smtpd_sasl_path = private/auth smtpd_sasl_auth_enable = yes broken_sasl_auth_clients = yes smtpd_sasl_security_options = noanonymous, noplaintext smtpd_sasl_local_domain = smtpd_sasl_authenticated_header = yes # ----------------------- # TLS parameters # Type de Certificat SSL/TLS créée par LetsEncrypt # ----------------------- smtpd_tls_cert_file=/etc/letsencrypt/live/example.com/fullchain.pem smtpd_tls_key_file=/etc/letsencrypt/live/example.com/privkey.pem smtpd_tls_CAfile=/etc/letsencrypt/live/example.com/chain.pem smtpd_use_tls = yes smtpd_tls_security_level = may smtpd_tls_auth_only = yes smtpd_sasl_tls_security_options = noanonymous smtpd_tls_loglevel = 1 smtpd_tls_received_header = yes smtpd_tls_session_cache_timeout = 3600s smtpd_tls_protocols = !SSLv2, !SSLv3 smtpd_tls_ciphers = high smtp_use_tls=yes smtp_tls_security_level = may #smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache smtp_tls_note_starttls_offer = yes tls_random_source = dev:/dev/urandomsmtp_tls_note_starttls_offer = yes # ----------------------- # SMTPD parameters # ----------------------- unknown_local_recipient_reject_code = 450 maximal_queue_lifetime = 7d minimal_backoff_time = 1000s maximal_backoff_time = 8000s smtp_helo_timeout = 60s smtpd_recipient_limit = 25 smtpd_error_sleep_time = 1s smtpd_soft_error_limit = 3 smtpd_hard_error_limit = 12 smtpd_delay_reject = yes disable_vrfy_command = yes #-------------------------------------------------- #HELO Restrictions - Reject - HELO/EHLO information #-------------------------------------------------- smtpd_helo_required = yes smtpd_helo_restrictions = permit_mynetworks, warn_if_reject reject_non_fqdn_hostname, reject_invalid_hostname, permit #-------------------------------------------------- #Sender Restrictions - Reject - MAIL FROM #-------------------------------------------------- smtpd_sender_restrictions = permit_mynetworks, permit_sasl_authenticated, warn_if_reject reject_non_fqdn_sender, reject_authenticated_sender_login_mismatch, reject_unknown_sender_domain, reject_unauth_pipelining, permit #-------------------------------------------------- # Client Restrictions - Connecting server - Reject client host #-------------------------------------------------- smtpd_client_restrictions = reject_rbl_client sbl.spamhaus.org, reject_rbl_client blackholes.easynet.nl, reject_rbl_client dnsbl.njabl.org #-------------------------------------------------- # Reject - DATA #-------------------------------------------------- smtpd_data_restrictions = reject_unauth_pipelining #-------------------------------------------------- # Relay Restrictions - Reject - RCPT TO #-------------------------------------------------- smtpd_relay_restrictions = permit_mynetworks, reject_unauth_pipelining, permit_sasl_authenticated, reject_non_fqdn_recipient, reject_unknown_recipient_domain, reject_unauth_destination, check_policy_service unix:private/policy-spf, check_policy_service inet:127.0.0.1:10023, permit smtpd_recipient_restrictions = check_policy_service unix:postgrey/socket, permit # ----------------------- # General parameters #_______________________________________________________________________________________ # pour assurer le non rejet de notre email et notamment forcer les serveurs distants # à ne pas rediriger vos courriers dans le dossier des spam, le paramètre myhosname doit # avoir forcement la valeur IP inverse (PTR) de votre adresse IP publique. # ----------------------- myhostname = <Ip inverse (PTR)> alias_maps = hash:/etc/aliases alias_database = hash:/etc/aliases mydomain = mail.example.com myorigin = /etc/mailname mydestination = $myhostname, mail.example.com, localhost.example.com, , localhost relayhost = mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 mailbox_size_limit = 0 recipient_delimiter = + inet_interfaces = all inet_protocols = ipv4 mynetworks_style = host message_size_limit = 10240000 # -------------------------------------------------------------- # Dovecot: ceci assure l'échange et le transport virtuel entre dovecot et postfix # -------------------------------------------------------------- virtual_transport = lmtp:unix:private/dovecot-lmtp # #++ paramètre ajouter 06/08/2022 # ++ smtputf8_inable = no # # ---------------------------------------------------------- # Virtual Mailbox # Paramètres de virtualisation, vous trouvrez la définition # des paramaètres d'accès à la base de données Postfixadmin # ---------------------------------------------------------- virtual_uid_maps = static:5000 virtual_gid_maps = static:5000 virtual_mailbox_base = /var/vmail virtual_mailbox_domains = mysql:/etc/postfix/mysql_virtual_mailbox_domains.cf virtual_mailbox_maps = mysql:/etc/postfix/mysql_virtual_mailbox_maps.cf virtual_alias_maps = mysql:/etc/postfix/mysql_virtual_alias_maps.cf relay_domains = mysql:/etc/postfix/mysql_relay_domains.cf queue_directory = /var/spool/postfix # ----------------------- # Header Checks # ----------------------- header_checks = regexp:/etc/postfix/header_checks mime_header_checks = regexp:/etc/postfix/mime_header_checks # ----------------------- # x-original-to # ----------------------- enable_original_recipient = no # ----------------------- # Content Checks # ----------------------- body_checks = regexp:/etc/postfix/body_checks # ----------------------- # Amavis # ----------------------- ## content_filter = smtp-amavis:[127.0.0.1]:10024 ## content_filter = amavis:[127.0.0.1]:10024 ## receive_override_options = no_address_mappings # ----------------------- # DKIM # ----------------------- milter_protocol = 6 milter_default_action = accept smtpd_milters = inet:localhost:8891 non_smtpd_milters = inet:localhost:8891
Fichier de configuration master.cf
Ci-dessous un exemple fonctionnel d’un fichier de configuration, /etc/postfix/master.cf , ce fichier détermine la stratégie globale du trafic de réception et d’envoi des e-mails et définit la politique générale de sécurité pour votre serveur.
Ne pas oublier de remplacer «example.com» par le nom de votre domaine.
Lisez bien les commentaires pour bien comprendre les differentes sections présentées dans le fichier de configuration main.cf de paostfix.
Certaine sections présentées dans le fichier, configure des services qui ne sont pas encore intallés tel que Amavis ou Spamassassin et spf et ou LetsEncrypt…
N’oubliez pas d’exécuter “postfix reload” après avoir édité ce fichier.
## Fichier de configuration de postfix /etc/postfix/master.cf smtp inet n - y - - smtpd submission inet n - - - - smtpd -o syslog_name=postfix/submission -o smtpd_tls_security_level=encrypt -o smtpd_sasl_auth_enable=yes -o smtpd_sasl_type=dovecot -o smtpd_tls_auth_only=yes -o smtpd_client_restrictions=permit_sasl_authenticated,reject_unauth_destination,reject -o smtpd_sasl_tls_security_options=noanonymous -o milter_macro_daemon_name=ORIGINATING # SMTP over SSL on port 465 smtps inet n - - - - smtpd -o syslog_name=postfix/smtps -o smtpd_tls_wrappermode=yes -o smtpd_sasl_auth_enable=yes -o smtpd_tls_auth_only=yes -o smtpd_client_restrictions=permit_sasl_authenticated,reject_unauth_destination,reject -o smtpd_sasl_security_options=noanonymous,noplaintext -o smtpd_sasl_tls_security_options=noanonymous -o milter_macro_daemon_name=ORIGINATING pickup fifo n - - 60 1 pickup -o content_filter= -o receive_override_options=no_header_body_checks cleanup unix n - y - 0 cleanup qmgr unix n - n 300 1 qmgr tlsmgr unix - - y 1000? 1 tlsmgr rewrite unix - - y - - trivial-rewrite bounce unix - - y - 0 bounce defer unix - - y - 0 bounce trace unix - - y - 0 bounce verify unix - - y - 1 verify flush unix n - y 1000? 0 flush proxymap unix - - n - - proxymap proxywrite unix - - n - 1 proxymap smtp unix - - y - - smtp relay unix - - y - - smtp -o syslog_name=postfix/$service_name showq unix n - y - - showq error unix - - y - - error retry unix - - y - - error discard unix - - y - - discard local unix - n n - - local virtual unix - n n - - virtual lmtp unix - - y - - lmtp anvil unix - - y - 1 anvil scache unix - - y - 1 scache postlog unix-dgram n - n - 1 postlogd # maildrop. See the Postfix MAILDROP_README file for details. # Also specify in main.cf: maildrop_destination_recipient_limit=1 # maildrop unix - n n - - pipe flags=DRhu user=vmail argv=/usr/bin/maildrop -d ${recipient} # See the Postfix UUCP_README file for configuration details. # uucp unix - n n - - pipe flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($recipient) # # Other external delivery methods. # ifmail unix - n n - - pipe flags=F user=ftn argv=/usr/lib/ifmail/ifmail -r $nexthop ($recipient) bsmtp unix - n n - - pipe flags=Fq. user=bsmtp argv=/usr/lib/bsmtp/bsmtp -t$nexthop -f$sender $recipient scalemail-backend unix - n n - 2 pipe flags=R user=scalemail argv=/usr/lib/scalemail/bin/scalemail-store ${nexthop} ${user} ${extension} mailman unix - n n - - pipe flags=FR user=list argv=/usr/lib/mailman/bin/postfix-to-mailman.py ${nexthop} ${user} # Amavis #smtp-amavis unix - - - - 2 smtp # Dovecot dovecot unix - n n - - pipe flags=DRhu user=vmail:mail argv=/usr/lib/dovecot/dovecot-lda -d $(recipient) # SPF policy-spf unix - n n - - spawn user=nobody argv=/usr/bin/policyd-spf # SpamAssassin # spamassassin unix - n n - - pipe #flags=DROhu user=vmail:vmail argv=/usr/bin/spamc -f -e /usr/sbin/sendmail -oi -f ${sender} ${recipient}
Creation des fichier Virtuels, nécessaires pour le bon fonctionnement de postfix et postfixadmin, ce sont des fichiers de définitions des méthodes d’accès à la base de données mysql ou mariaDB, pour stocker ou extraire les alias de domaines et d’utilisateurs et les informations concernant les les boîtes email et les utilisateurs.
Les 4 fichiers de virtualisation
/etc/postfix/mysql_relay_domains.cf
hosts = 127.0.0.1 user = <Utilisateur> password = <Mot_de_passe> dbname = <Base_de_Données> query = SELECT domain FROM domain WHERE domain='%s' and backupmx = 1
/etc/postfix/mysql_virtual_alias_maps.cf
hosts = 127.0.0.1
user = <Utilisateur>
password = <Mot_de_passe>
dbname = <Base_de_Données>
query = SELECT goto FROM alias WHERE address='%s' AND active = 1
/etc/postfix/mysql_virtual_mailbox_domains.cf
hosts = 127.0.0.1
user = <Utilisateur>
password = <Mot_de_passe>
dbname = <Base_de_Données>
query = SELECT domain FROM domain WHERE domain='%s' and backupmx = 0 and active = 1
/etc/postfix/mysql_vitual_mailbox_maps.cf
hosts = 127.0.0.1
user = <Utilisateur>
password = <Mot_de_passe>
dbname = <Base_de_Données>
query = SELECT goto FROM alias WHERE address='%s' AND active = 1
maintenant il faut compiler les fichiers que vous venez de créer en utilisant la sous commande postmap
sudo postmap /etc/postfix/maysql_*.cf
Vous devez maintenant redémarrer postfix:
sudo service postfix restart
Voici enfin l’aspect final du répertoire /etc/postfix
etc |__ postfix |__ /dynamicmaps.cf.d /postfix-files.d /sasl body_checks client_checks dkim.key dynamicmaps.cf header_checks main.cf @makedefs.out master.cf mime_header_checks mysql_relay_domains.cf mysql_relay_domains.cf.db mysql_virtual_alias_maps.cf mysql_virtual_alias_maps.cf.db mysql_virtual_mailbox_domains.cf mysql_virtual_mailbox_domains.cf.db mysql_virtual_mailbox_maps.cf mysql_virtual_mailbox_maps.cf.db *post-install postfix-files *postfix-script sender_checks sender_checks.db
Ceci termine l’installation de Postfix sur Ubuntu 18.04 ou 20.04 LTS.
Installer Dovecot
Cette section fournit les étapes pour installer Dovecot sur Ubuntu 18.04 ou 20.04 LTS. Les commandes mentionnées ci-dessous sont nécessaires pour installer Dovecot.
# Install Dovecot sudo apt install dovecot-core dovecot-imapd dovecot-pop3d dovecot-lmtpd dovecot-mysql
Configuration de dovecot
Ci-dessous des exemples testés et fonctionnels des fichiers de configurations pour dovecot. on commence par le fichier principal, /etc/dovecot/dovecot.conf .
# plus loins nous expliqurerons comment créer la fichier dh.pem
ssl_dh=</etc/dovecot/dh.pem
!include conf.d/*.conf
!include_try local.conf
Ci-dessous la configuration des paramètres d’accès à la base de données + la requête d’extraction des informations d’authentifications des utilisateurs, /etc/dovecot/dovecot-sql.conf .
driver = mysql connect = host=localhost dbname=<base_de_données> user=<utilisateur> password=<mot_de_passe> default_pass_scheme = SHA512-CRYPT password_query = SELECT username as user, password, '/var/vmail/%d/%n' as userdb_home,'maildir:/var/vmail/%d/%n' as userdb_mail, 5000 as userdb_uid, 5000 as userdb_gid FROM mailbox WHERE username = '%u' AND active = '1'
/etc/dovecot/conf.d/10-auth.conf
disable_plaintext_auth = yes !include auth-sql.conf.ext
/etc/dovecot/conf.d/10-mail.conf
mail_location = maildir:/var/vmail/%d/%n
/etc/dovecot/conf.d/10-auth.conf
disable_plaintext_auth = yes auth_mechanisms = plain login !include auth-sql.conf.ext
/etc/dovecot/conf.d/10-master.conf
service imap-login { inet_listener imap { port = 143 } inet_listener imaps { port = 993 ssl = yes } } service pop3-login { inet_listener pop3 { port = 110 } inet_listener pop3s { port = 995 ssl = yes } } service submission-login { inet_listener submission { port = 587 } } service lmtp { unix_listener /var/spool/postfix/private/dovecot-lmtp { mode = 0600 user = postfix group = postfix } } service auth { unix_listener auth-userdb { mode = 0600 user = vmail group = vmail } unix_listener /var/spool/postfix/private/auth { mode = 0666 user = postfix group = postfix } # Auth process is run as this user. user = dovecot } service auth-worker { # Auth worker process is run as root by default, so that it can access # /etc/shadow. If this isn't necessary, the user should be changed to # $default_internal_user. user = vmail }
/etc/dovecot/conf.d/10-ssl.conf
ssl = yes ssl_cert = </etc/letsencrypt/live/example.com/fullchain.pem ssl_key = </etc/letsencrypt/live/example.com/privkey.pem ssl_ca = </etc/letsencrypt/live/example.com/chain.pem ssl_min_protocol = TLSv1 ssl_cipher_list = ECDH+AESGCM:ECDH+CHACHA20:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:RSA+AESGCM:RSA+AES:!aNULL:!MD5:!DSS:!AESCCM ssl_prefer_server_ciphers = yes
/etc/dovecot/conf.d/20-lmtp.conf
protocol lmtp {
# Space separated list of plugins to load (default is global mail_plugins).
mail_fsync = optimized
mail_plugins = $mail_plugins
}
Création du fichier dh.pem
dh.pem
est un fichier contenant un très grand nombre premier (1066 ~ 2066 bit), généré aléatoirement pour être utilisé avec un certificat SSL.
La commande suivante peut être utilisée pour générer un fichier dh aléatoire.
2066
est un nombre arbitraire spécifiant la taille du nombre ?
Ceci termine momentanement l’installation de Dovecot sur Ubuntu 18.04 ou 20.04 LTS.
Installez OpenDKIM
Nous devons installer et configurer DKIM sur notre serveur de messagerie afin que les autres serveurs de messagerie puissent authentifier les e-mails envoyés depuis notre serveur et confirmer que les e-mails ne sont pas falsifiés ou modifiés et les e-mails sont autorisés par le propriétaire du domaine. Utilisez les commandes mentionnées ci-dessous pour installer OpenDKIM.
# Install OpenDKIM sudo apt install opendkim opendkim-tools
Ajoutez ensuite l’utilisateur postfix au groupe opendkim.
sudo gpasswd -a postfix opendkim
Modifiez le fichier de configuration principal d’OpenDKIM. /etc/opendkim.conf , Décommentez les lignes suivantes et remplacez simple par relaxed/simple.
Canonicalization simple Mode sv SubDomains no
Ajoutez ensuite les lignes suivantes sous la ligne #ADSPAction continue. Si votre fichier n’a pas de ligne #ADSPAction continue, ajoutez-les simplement sous subdomains no.
AutoRestart yes AutoRestartRate 10/1M Background yes DNSTimeout 5 SignatureAlgorithm rsa-sha256
Ajoutez les lignes suivantes à la fin de ce fichier. (Notez que sur Ubuntu 18.04 et 18.04 ou 20.04, l’ID utilisateur est déjà défini sur opendkim)
#OpenDKIM user # Remember to add user postfix to group opendkim UserID opendkim # Map domains in From addresses to keys used to sign messages KeyTable refile:/etc/opendkim/key.table SigningTable refile:/etc/opendkim/signing.table # Hosts to ignore when verifying signatures ExternalIgnoreList /etc/opendkim/trusted.hosts # A set of internal hosts whose mail should be signed InternalHosts /etc/opendkim/trusted.hosts
Enregistrez et fermez le fichier.
Créer une table de signature, une table de clés et un fichier d’hôtes de confiance Créer une structure de répertoires pour OpenDKIM
sudo mkdir /etc/opendkim sudo mkdir /etc/opendkim/keys
Changez le propriétaire de root en opendkim et assurez-vous que seul l’utilisateur opendkim peut lire et écrire dans le répertoire des clés.
sudo chown -R opendkim:opendkim /etc/opendkim sudo chmod go-rw /etc/opendkim/keys
Créez la table de signature, /etc/opendkim/signing.table et ajoutez cette ligne au fichier. Cela indique à OpenDKIM que si un expéditeur sur votre serveur utilise une adresse @example.com, il doit être signé avec la clé privée identifiée par default._domainkey.example.com.
*@example.com default._domainkey.example.com
Enregistrez et fermez le fichier. Créez ensuite la table des clés, /etc/opendkim/key.table
default._domainkey.example.com example.com:default:/etc/opendkim/keys/example.com/default.private
Enregistrez et fermez le fichier. Ensuite, créez le fichier d’hôtes de confiance, /etc/opendkim/trusted.hosts
Ajoutez les lignes suivantes au fichier nouvellement créé. Cela indique à OpenDKIM que si un e-mail provient de localhost ou du même domaine, OpenDKIM ne doit pas effectuer de vérification sur l’e-mail.
127.0.0.1
localhost
*.example.com
Enregistrez et fermez le fichier.
Générer une paire de clés privée/publique
Étant donné que DKIM est utilisé pour signer les messages sortants et vérifier les messages entrants, nous devons générer une clé privée pour la signature et une clé publique pour le vérificateur à distance. La clé publique sera publiée dans DNS. Créez un dossier séparé pour le domaine.
sudo mkdir /etc/opendkim/keys/example.com
Générez des clés à l’aide de l’outil opendkim-genkey.
La commande ci-dessus créera des clés de 2048 bits. -d (domain)
spécifie le domaine. -D (directory)
spécifie le répertoire où les clés seront stockées et nous utilisons par défaut
comme selector (-s)
, également connu sous le nom. Une fois la commande exécutée, la clé privée sera écrite dans le fichier default.private et la clé publique sera écrite dans le fichier default.txt. Faites de opendkim le propriétaire de la clé privée.
sudo opendkim-genkey -s default -d example.com -D /etc/opendkim/keys/example.com -b 2048
opendkim doit être le propriétaire exclusif du fichier default.private et avoir les privilèges d’écritures /lecture.
sudo chown opendkim:opendkim /etc/opendkim/keys/example.com/default.private
Publiez votre clé publique dans les enregistrements DNS
Afficher la clé publique
sudo cat /etc/opendkim/keys/example.com/default.txt
La chaîne de caractères après le paramètre «p» est la clé publique. (tout ce qui est en vert)
default._domainkey IN TXT "v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC5N3lnvvrYgPCRSoqn+awTpE+iGYcK BPpo8HHbcFfCIIV10Hwo4PhCoGZSaKVHOjDm4yefKXhQjM7iKzEPuBatE7O47hAx1CJpNu IdLxhILSbEmbMxJrJAG0HZVn8z6EAoOHZNaPHmK2h4UUrjOG8zA5BHfzJf7tGwI+K619fFUwIDAQAB" ; ----- DKIM key default for example.com
Copiez cette clé et ajoutez un enregistrement TXT aux entrées DNS de votre domaine , l’exemple ci-dessous montre comment procéder.
N’utilisez pas l’exemple de clé ci-dessous, ce n’est qu’une illustration et ne fonctionnera pas sur votre serveur.
- Name : default._domainkey
- TTL : 3600
- Type: TXT
- Value : “v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC5N3lnvvrYgPCRSoqn+awTpE+iGYcKBPpo8HHbcFfCIIV10Hwo4PhCoGZSaKVHOjDm4yefKXhQjM7iKzEPuBatE7O47hAx1CJpNuIdLxhILSbEmbMxJrJAG0HZVn8z6EAoOHZNaPHmK2h4UUrjOG8zA5BHfzJf7tGwI+K619fFUwIDAQAB” ;
Ceci termine momentanément l’installation de OpenDkim sur Ubuntu 18.04 ou 20.04 LTS.
Installer Postgrey (liste grise)
Une technique parmi d’autre pour lutter contre les spams.
Le greylisting : inscription sur liste grise est une technique antispam/antipourriel très simple qui consiste à rejeter temporairement un message, par émission d’un code de refus temporaire au serveur smtp émetteur (MTA). Dans la majorité des cas, les serveurs émetteurs réexpédient le courriel après quelques minutes. La plupart des serveurs émettant des pourriels ne prendraient pas cette peine.
Alors bien-sur un spammeur un peu plus futé fera un deuxième envoie, et sera donc accepté, mais parait ils le font que très rarement.
Vous aurez un petit délai d’attente pour la réception des emails mais une fois une première quarantaine effectuée, au bout de 5 envois honnêtes plus de soucis. A moyen terme, donc, c’est un problème moins gênant.
Lorsqu’un même serveur envois 5 mails et qu’ils sont valide, il enregistre automatiquement son adresse ip en whitelist.
Installation
sudo apt install postgrey
vous aurez sûrement quelques dépendances qui s’installeront aussi (des modules perl par exemple).
Configuration
Modifier dans la section smtpd_recipient_restrictions de votre fichier main.cf : c’est déjà fait mais une vérification s’impose pour assurer le bon fonctionnement de notre serveur de messagerie.
check_policy_service unix:postgrey/socket
ou
check_policy_service inet:127.0.0.1:60000
Modification du délais pour postgrey :
Il est conseillé un peu partout de réduire le temps de 5 minutes par défaut (échéance à laquelle Postgrey rejettera les nouveaux messages) à 1 minutes et une fois une bonne whitelist bien remplit de repasser à 5 minutes :
Créez le fichier : /etc/sysconfig/postgrey et mettez y ceci :
OPTIONS="--unix=/var/spool/postfix/postgrey/socket --delay=60"
Démarrage de Postgrey :
Pensez d’abord a configurer le script d’init en cas de redémarrage de votre serveur :
invoke-rc.d postgrey start
Vérifiez qu’il se soit bien lancé avec ps -ef | grep grey qui devrait vous donner quelque chose comme ça :
postgrey 23313 1 0 12:17 ? 00:00:00 /usr/sbin/postgrey -d --unix=/var/spool/postfix/postgrey/socket
Maintenant vous n’avez plus qu’a relancer Postfix et jeter un œil dans vos logs .
Installer Clam en tant qu’antivirus
exécutez la commande suivante en tant que sudo afin d’installer le démon ClamAV à partir des référentiels APT :
$ sudo apt-get install clamav clamav-daemon
Le système peut vous demander le mot de passe sudo et vous fournir également une option Y/n pour poursuivre l’installation. Entrez «Y», puis appuyez sur Entrée ; ClamAV sera alors installé sur votre système. Le processus peut cependant prendre un certain temps en fonction de votre vitesse Internet.
Vous pouvez vérifier votre installation ClamAV et également vérifier le numéro de version en exécutant la commande suivante dans votre Terminal :
clamscan --version
Attention: Amavis et ClamAV nécessitent une bonne quantité de RAM. Assurez-vous d’avoir au moins 1,3 Go de RAM gratuite sur votre serveur avant d’installer Amavis et ClamAV. L’ensemble de la pile de serveurs de messagerie (Postfix, Dovecot, Amavis, ClamAV, SpamAssassin, OpenDKIM, MySQL / MariaDB, PostfixAdmin et Roundcube Webmail) a besoin d’au moins 3 Go de RAM pour fonctionner correctement. Si votre RAM s’épuise, vous allez avoir des problèmes comme le serveur de messagerie hors ligne ou ne répond pas.
Postfix Admin pour administrer le serveur
Cette partie va vous montrer comment créer des boîtes aux lettres virtuelles sur le serveur de messagerie Ubuntu 18.04 ou 20.04 avec PostfixAdmin, qui est une interface Web open source pour configurer et gérer un serveur de messagerie basé sur Postfix pour de nombreux domaines et utilisateurs.
Avec les boîtes aux lettres virtuelles, nous n’avons pas besoin de créer un compte Unix local pour chaque adresse e-mail. Si vous envisagez de configurer un serveur de messagerie pour une entreprise ou une organisation, il est toujours préférable d’avoir un moyen facile de créer des boîtes aux lettres virtuelles dans une interface Web, ce qui permet également aux utilisateurs de modifier leurs mots de passe. C’est là qu’intervient PostfixAdmin.
Fonctionnalités de PostfixAdmin
- gérer les boîtes aux lettres, les domaines virtuels et les alias
- messages de vacances / d’in-office (Personnellement, je pense que c’est mieux fait dans le webmail Roundcube)
- alias de domaines (transfert d’un domaine à un autre avec validation de destinataire)
- les utilisateurs peuvent gérer leur propre boîte aux lettres (modifier l’alias, le mot de passe et le message de vacances)
- prise en charge des quotas pour les boîtes aux lettres uniques et le quota total d’un domaine
- Intégration fetchmail : vous pouvez récupérer les e-mails de votre adresse e-mail d’origine vers votre nouvelle adresse e-mail.
- client de ligne de commande postfixadmin-cli pour ceux qui ne veulent pas cliquer dans une interface Web 😉
Remarque: Une fois que vous avez terminé cette partie, vous ne pouvez plus utiliser de comptes Unix locaux comme adresses e-mail. Vous devez créer des adresses e-mail à partir de l’interface Web PostfixAdmin.
Conditions préalables
Si vous avez suivi les tutoriels de serveur de messagerie sur d’autres sites Web, je vous recommande de purger vos configurations () et de recommencer avec ma série de tutoriels, afin que vous n’alliez pas être confus par différents processus de configuration .
sudo apt purge postfix dovecot-core
Une fois les conditions ci-dessus remplies, installons et configurons PostfixAdmin.
Étape 1: Installer le serveur de base de données MariaDB
PostfixAdmin est écrit en PHP et nécessite une base de données (MySQL/MariaDB, PostgreSQL ou SQLite). Cet article utilisera la base de données MariaDB, qui est un remplacement drop-in pour MySQL. Il est développé par d’anciens membres de l’équipe MySQL qui craignent qu’Oracle ne transforme MySQL en un produit à source fermée. Entrez la commande suivante pour installer MariaDB sur Ubuntu 18.04 ou 20.04.
sudo apt install mariadb-server mariadb-client
Une fois installé, le serveur MariaDB doit être démarré automatiquement. Utilisez systemctl pour vérifier son état.
Exécutez maintenant le script de sécurité post-installation.
sudo mysql_secure_installation
Lorsqu’il vous demande d’entrer le mot de passe root MariaDB, appuyez sur entrer car le mot de passe root n’est pas encore défini. Entrez ensuite «y» pour définir le mot de passe root du serveur MariaDB.
Ensuite, vous pouvez appuyer sur Entrée pour répondre à toutes les questions restantes, ce qui supprimera l’utilisateur anonyme, désactivera la connexion root distante et supprimera la base de données de test. Cette étape est une exigence de base pour la sécurité de la base de données MariaDB. (Notez que Y est en majuscules, ce qui signifie qu’il s’agit de la réponse par défaut.)
Installer PostfixAdmin sur le serveur Ubuntu 18.04 ou 20.04
Parce que certains lecteurs utilisent le serveur MariaDB, tandis que d’autres utilisent MySQL, ce qui complique les choses, donc avant d’installer PostfixAdmin, nous installons le paquet pour empêcher le paquet de lancer l’assistant de configuration de la base de données.dbconfig-no-thanks
postfixadmin
sudo apt install dbconfig-no-thanks
Installez ensuite PostfixAdmin à partir du référentiel de logiciels Ubuntu par défaut.
sudo apt install postfixadmin
Maintenant, nous devons supprimer le paquet .dbconfig-no-thanks
sudo apt remove dbconfig-no-thanks
Lancez ensuite l’assistant de configuration de la base de données pour PostfixAdmin.
sudo dpkg-reconfigure postfixadmin
Lors de l’installation, il vous sera demandé si vous souhaitez réinstaller la base de données pour PostfixAdmin. Cela signifie simplement créer une base de données nommée , il ne supprimera pas vos bases de données existantes. Appuyez sur la touche Tab pour choisir Yes ( Oui).postfixadmin
Sélectionnez ensuite le type de base de données par défaut : , si vous utilisez MySQL ou MariaDB.mysql
Ensuite, choisissez la méthode de connexion par défaut : .Unix socket
Ensuite, choisissez le plugin d’authentification par défaut pour MySQL / MariaDB.
Appuyez sur Entrée pour choisir le nom de base de données par défaut pour PostfixAdmin.
Appuyez sur Entrée pour choisir le nom d’utilisateur de base de données par défaut pour PostfixAdmin.
Après cela, vous devez définir un mot de passe pour cet utilisateur. Notez que le mot de passe ne doit pas contenir le caractère, sinon vous ne pourrez peut-être pas vous connecter ultérieurement.#
Enfin, choisissez l’utilisateur administratif de base de données par défaut.
Après l’installation de PostfixAdmin, vous pouvez vous connecter à la console MySQL/MariaDB avec la commande suivante. Vous devrez entrer le mot de passe de l’utilisateur .postfixadmin
mysql -u postfixadmin -p
Et vous pouvez vérifier quelles bases de données l’utilisateur dispose des autorisations d’accès à l’utilisation de la commande suivante.
SHOW DATABASES;
sortie:
+--------------------+ | Database | +--------------------+ | information_schema | | postfixadmin | +--------------------+ 2 rows in set (0.002 sec)
Par défaut, la base de données ne contient aucune table. Vous pouvez vous déconnecter de la console MySQL/MariaDB avec la commande suivante.postfixadmin
EXIT;
L’installation crée également deux fichiers de configuration : et , qui contiennent tous deux les paramètres d’accès à la base de données, y compris le nom d’utilisateur et le mot de passe de la base de données. Nous devons modifier le type de base de données de à dans les deux fichiers./etc/dbconfig-common/postfixadmin.conf
/etc/postfixadmin/dbconfig.inc.php
mysql
mysqli
sudo nano /etc/dbconfig-common/postfixadmin.conf
changement
dbc_dbtype='mysql'
À
dbc_dbtype='mysqli'
Modifiez ensuite le deuxième fichier.
sudo nano /etc/postfixadmin/dbconfig.inc.php
changement
$dbtype='mysql';
À
$dbtype='mysqli';
Les fichiers Web sont installés sous le répertoire, qui appartient à root. PostfixAdmin nécessite un répertoire, alors créez-le./usr/share/postfixadmin/
templates_c
sudo mkdir /usr/share/postfixadmin/templates_c
Nous devons donner à l’utilisateur des autorisations de lecture, d’écriture et d’exécution sur ce répertoire avec la commande suivante :www-data
sudo setfacl -R -m u:www-data:rwx /usr/share/postfixadmin/templates_c/
Si votre système ne trouve pas la commande, vous devez installer le package.setfacl
acl
sudo apt install acl
Créer un hôte virtuel Apache pour PostfixAdmin
Si vous utilisez le serveur Web Apache, créez un hôte virtuel pour PostfixAdmin.
sudo nano /etc/apache2/sites-available/postfixadmin.conf
Placez le texte suivant dans le fichier. Remplacez postfixadmin.example.com par votre vrai nom de domaine et n’oubliez pas de définir un enregistrement DNS «A» pour celui-ci.
<VirtualHost *:80> ServerName mailadmin.example.com DocumentRoot /usr/share/postfixadmin/public ErrorLog ${APACHE_LOG_DIR}/postfixadmin_error.log CustomLog ${APACHE_LOG_DIR}/postfixadmin_access.log combined <Directory /> Options FollowSymLinks AllowOverride All </Directory> <Directory /usr/share/postfixadmin/> Options FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all </Directory> </VirtualHost>
Enregistrez et fermez le fichier. Activez ensuite cet hôte virtuel avec :
sudo a2ensite postfixadmin.conf
Rechargez Apache pour que les modifications prennent effet.
sudo systemctl reload apache2
Vous devriez maintenant pouvoir voir l’assistant d’installation web postfixadmin à l’adresse .http://mailadmin.example.com/setup.php
Installer les modules PHP requis et recommandés
Exécutez la commande suivante pour installer les modules PHP requis ou recommandés par PostfixAdmin.
sudo apt install php7.4-fpm php7.4-imap php7.4-mbstring php7.4-mysql php7.4-json php7.4-curl php7.4-zip php7.4-xml php7.4-bz2 php7.4-intl php7.4-gmp
Redémarrez ensuite Apache. (Si vous utilisez Nginx, vous n’avez pas besoin de redémarrer Nginx.)
sudo systemctl restart apache2
Activation de HTTPS
Pour chiffrer le trafic HTTP, nous pouvons activer HTTPS en installant un certificat TLS gratuit émis par Let’s Encrypt. Exécutez la commande suivante pour installer le client Let’s Encrypt (certbot) sur le serveur Ubuntu 18.04 ou 20.04.
sudo apt install certbot
Si vous utilisez Apache, installez le plugin Certbot Apache.
sudo apt install python3-certbot-apache
Et exécutez cette commande pour obtenir et installer le certificat TLS.
sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email you@example.com -d mailadmin.example.com
RoundCube en tant que Web Interface pour les utilisateurs
Roundcube est un client webmail open-source et complet gratuit écrit dans PHP. Un webmail est un client de messagerie dans votre navigateur, ce qui signifie qu’au lieu de lire et d’envoyer des e-mails d’un client de messagerie de bureau comme Mozilla Thunderbird, vous pouvez accéder à votre e-mail à partir d’un navigateur Web. Ce tutoriel va vous montrer comment installer Roundcube webmail sur Ubuntu 18.04 ou 20.04 avec Apache ou Nginx serveur web.
J’espère que ce tutoriel vous a aidé à installer et à mettre en marche votre serveur de messagerie personnel sur Ubuntu Comme toujours, si vous avez trouvé ce post utile, abonnez-vous à notre newsletter gratuite pour obtenir plus de trucs et astuces 🙂
Suivez ce lien pour tester votre serverur : https://www.smtper.net
Merci de votez pour cet article :
Mise à jour apportée au fichier /etc/postfix/main.cf
Modifé : 06/08/2022
Version : 2.01
Par : Lotfi Ben Naceur
Description : réinstallation de OpenDkim, + paramètre socket au lieu de inet: (localhost)
——————————————————–
La version 1.6 de roundcube webmail est désormais disponible ici