Vous êtes ici : » Accueil» Linux » Installer le serveur de messagerie sur Ubuntu 20.04 LTS à l’aide de Postfix, Dovecot et Roundcube

Le serveur mail privé complet

Installer le serveur de messagerie sur Ubuntu 20.04 LTS à l’aide de Postfix, Dovecot et Roundcube

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 impliquent MTA (Mail Transfer Agent), MDA (Mail Delivery Agent), Antivirus, Spam Detection et Interface Web. Le MTA est tenu de communiquer ou de relayer les e-mails entre Internet et le serveur de messagerie pour envoyer et recevoir des e-mails vers d’autres serveurs. 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éception en identifiant les utilisateurs correspondants. Outre le MTA et le MDA, un serveur de messagerie a également besoin d’outils pour mettre en liste grise les serveurs, 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. Une interface Web est également nécessaire pour accéder au serveur de messagerie afin de lire / écrire / gérer les e-mails.

Ce guide fournit les étapes complètes requises pour installer un serveur de messagerie ou de messagerie sur Ubuntu 20.04 LTS. Ce didacticiel fournit toutes les étapes requises pour installer Postfix en tant que MTA, Dovecot en tant que MDA, Postgrey en tant que serveur de stratégie de liste grise, Clam en tant qu’antivirus, Amavis en tant que filtre de contenu, SpamAssassin en tant que filtre anti-spam, Postfix Admin pour les domaines et utilisateurs administratifs, et RoundCube en tant que Web Interface 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 MySQL. 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 20.04 LTS.

Remarques:

Il s’agit d’un long tutoriel, impliquant plusieurs commandes et configurations d’installation. Assurez-vous d’exécuter toutes les commandes et d’appliquer toutes les configurations car il est vraiment difficile de déboguer s’il manque même une seule configuration. Maintenant, respirez profondément, calmez-vous, prenez une tasse de thé / 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 a utilisé le 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. Vous pouvez l’améliorer davantage en fonction de vos besoins réels.
Ajoutez également des notes en soumettant vos précieux commentaires au cas où vous auriez des suggestions ou de meilleures options de configuration.

Conditions préalables

Ce didacticiel suppose que vous avez déjà installé le serveur Ubuntu 20.04 LTS pour une utilisation en production. Vous pouvez suivre Spin Up Ubuntu 20.04 LTS Server sur Amazon EC2 pour installer Ubuntu 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 Web Server sont déjà installés. Vous pouvez suivre Comment installer MySQL 8 sur Ubuntu 20.04 LTS, Comment installer PHP 7 sur Ubuntu 20.04 LTS, Comment installer Apache 2 sur Ubuntu 20.04 LTS, Configurer l’hôte virtuel sur Apache et Comment installer Let’s Encrypt For Apache sur Ubuntu.

Assurez-vous que les ports 25 (SMTP), 587 (SMTP sur TLS), 465 (SMTPS), 143 (IMAP), 993 (IMAPS), 110 (POP3), 995 (POP3S) ne sont pas ouverts ou fermés à l’aide du pare-feu approprié outil. UFW est l’outil de configuration du pare-feu par défaut utilisé sur Ubuntu 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.

Un nom de domaine valide pointe vers votre serveur et vous avez accès pour mettre à jour l’enregistrement de 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 Let’s Encrypt 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 Postfix Admin et Roundcube, à savoir mailadmin.example.com et webmail.example.com.

Vérifiez également auprè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 l’enregistrement de domaine

Cette section fournit les configurations requises au niveau de l’enregistrement DNS pour continuer l’installation du serveur de messagerie. Assurez-vous que votre enregistrement de domaine est configuré comme indiqué ci-dessous.

Un enregistrement – Un enregistrement A existe avec le nom d’hôte et l’adresse IP de votre serveur de messagerie. Le nom d’hôte d’un serveur de messagerie doit être similaire à email.example.com.

Nom             Type    Valeur     TTL
mail.example.com. A xxx.xxx.xxx.xxx 300

Enregistrements CNAME – Ajoutez des enregistrements CNAME pour Postfix Admin et RoundCube.

Nom                     Type    Valeur             TTL
mailadmin.example.com.  CNAME   mail.example.com   300
webmail.example.com.    CNAME   mail.example.com   300

Enregistrement MX – L’enregistrement de domaine doit avoir un enregistrement MX comme indiqué ci-dessous.

Name              Type   Value             TTL
mail.example.com.  MX    0 xx.xxx.xxx.xxx  300

Enregistrement SPF – Un enregistrement de texte pour vérifier les hôtes autorisés à envoyer un e-mail pour 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. 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.

# Creuser
dig -x <votre IP de serveur> +short

# Exemple
dig -x <xxx.xxx.xxx.xxx> +short

# Production
email.example.com.

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@examen

Configurer le nom d’hôte

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>

# Production
<nom d'hôte actuel>

# Mettre à jour le nom d'hôte
sudo hostnamectl set-hostname mail.example.com

# Vérifier le nom d'hôte
hostname

# Production
mail.example.com

Mettez également à jour le fichier hosts comme indiqué ci-dessous. Assurez-vous de remplacer l’adresse IP et le nom d’hôte à l’aide de l’adresse IP et du domaine de votre serveur.

# Mettre à jour les hôtes
sudo nano /etc/hosts

# Mettre à jour
127.0.0.1 localhost

xxx.xxx.xxx.xxx mail.example.com courrier

—–
—–

# 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é.

Installez Postfix

Cette section fournit les étapes pour installer Postfix MTA sur Ubuntu 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 20.04 - assurez-vous de sauvegarder votre serveur avant de l'exécuter
sudo apt dist-upgrade

# Autoclean
sudo apt autoclean

# Suppression automatique
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

# 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

sudo apt-get install postfix-policyd-spf-python

Lors de l’installation de Postfix, le programme d’installation vous demande de choisir le type de configuration comme indiqué sur la figure 1.

Installer Postfix sur Ubuntu 20.04 LTS – Configuration

Install Postfix On Ubuntu 20.04 LTS - 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.

Installer Postfix sur Ubuntu 20.04 LTS – Configuration – Site Internet

Install Postfix On Ubuntu 20.04 LTS - Configuration - Internet Site

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 20.04 LTS – Configuration – Site Internet

Install Postfix On Ubuntu 20.04 LTS - Configuration - Internet Site

Fig 3

Appuyez maintenant sur la touche Entrée pour configurer le nom d’hôte comme indiqué sur la figure 4.

Installer Postfix sur Ubuntu 20.04 LTS – Configuration – Nom d’hôte

Install Postfix On Ubuntu 20.04 LTS - Configuration - Hostname

Fig 4

Appuyez maintenant sur Entrée pour terminer l’installation. Les journaux d’installation doivent être similaires à ceux indiqués ci-dessous.

Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following additional packages will be installed:
  libmysqlclient21
Suggested packages:
  procmail postfix-pgsql postfix-ldap postfix-pcre postfix-lmdb postfix-sqlite sasl2-bin | dovecot-common resolvconf postfix-cdb mail-reader
  postfix-doc
The following NEW packages will be installed:
  libmysqlclient21 postfix postfix-mysql
-----
-----
Postfix (main.cf) is now set up with a default configuration.  If you need to 
make changes, edit /etc/postfix/main.cf (and others) as needed.  To view 
Postfix configuration values, see postconf(1).

After modifying main.cf, be sure to run 'systemctl reload postfix'.

Running newaliases
Created symlink /etc/systemd/system/multi-user.target.wants/postfix.service → /lib/systemd/system/postfix.service.
Setting up postfix-mysql (3.4.10-1ubuntu1) ...
Processing triggers for rsyslog (8.2001.0-1ubuntu1) ...
Processing triggers for ufw (0.36-6) ...
Processing triggers for systemd (245.4-4ubuntu3.1) ...
Processing triggers for man-db (2.9.1-1) ...
Processing triggers for libc-bin (2.31-0ubuntu9) ...

# Additional Package
sudo apt install postfix-policyd-spf-python

Ceci termine l’installation de Postfix sur Ubuntu 20.04 LTS.

Installez Dovecot

Cette section fournit les étapes pour installer Dovecot sur Ubuntu 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

# Output
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following additional packages will be installed:
  libexttextcat-2.0-0 libexttextcat-data liblua5.3-0
Suggested packages:
  dovecot-gssapi dovecot-ldap dovecot-lucene dovecot-managesieved dovecot-pgsql dovecot-sieve dovecot-solr dovecot-sqlite dovecot-submissiond
  ntp
The following NEW packages will be installed:
  dovecot-core dovecot-imapd dovecot-lmtpd dovecot-mysql dovecot-pop3d libexttextcat-2.0-0 libexttextcat-data liblua5.3-0
----
----
Setting up dovecot-mysql (1:2.3.7.2-1ubuntu3.1) ...
Processing triggers for ufw (0.36-6) ...
Processing triggers for systemd (245.4-4ubuntu3.1) ...
Processing triggers for man-db (2.9.1-1) ...
Processing triggers for libc-bin (2.31-0ubuntu9) ...
Processing triggers for dovecot-core (1:2.3.7.2-1ubuntu3.1) ...

Ceci termine l’installation de Dovecot sur Ubuntu 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.

Suivez ce lien pour tester votre serverur : https://www.smtper.net/

# Install OpenDKIM
sudo apt install opendkim opendkim-tools

# Output
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following additional packages will be installed:
  dns-root-data libmemcached11 libmilter1.0.1 libopendbx1 libopendbx1-sqlite3 libopendkim11 librbl1 libunbound8 libvbr2
Suggested packages:
  unbound
The following NEW packages will be installed:
  dns-root-data libmemcached11 libmilter1.0.1 libopendbx1 libopendbx1-sqlite3 libopendkim11 librbl1 libunbound8 libvbr2 opendkim opendkim-tools
----
----
Setting up opendkim-tools (2.11.0~beta2-1) ...
Setting up opendkim (2.11.0~beta2-1) ...
Created symlink /etc/systemd/system/multi-user.target.wants/opendkim.service → /lib/systemd/system/opendkim.service.
Processing triggers for systemd (245.4-4ubuntu3.1) ...
Processing triggers for man-db (2.9.1-1) ...
Processing triggers for libc-bin (2.31-0ubuntu9) ...


Vues : 18

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

dix-neuf + 11 =