La configuration de votre propre serveur de messagerie sur Linux VPS est une tâche importante pour tout administrateur système Linux. Postfix est l'une des solutions de serveur de messagerie les plus utilisées et les plus simples disponibles. Il s'agit d'un agent de transfert de courrier (MTA) gratuit, open source et puissant qui peut être utilisé pour envoyer et recevoir des e-mails. Par défaut, Postfix est le logiciel MTA par défaut sur toutes les distributions Linux.
Dovecot est un serveur de messagerie IMAP et POP3 open source qui peut servir de serveur de stockage de courrier. Il est utilisé pour envoyer et récupérer des e-mails vers et depuis les boîtes aux lettres locales.
Roundcube est un client de messagerie IMAP basé sur le Web qui peut lire les e-mails stockés par Dovecot sur des boîtes aux lettres virtuelles. Il fournit toutes les fonctionnalités que vous attendez d'un client de messagerie, y compris la prise en charge MIME, les identités d'expéditeurs multiples, la vérification orthographique, la manipulation de dossiers et bien d'autres.
Dans ce didacticiel, nous allons vous montrer comment configurer un serveur de messagerie complet avec Postfix, Dovecot et Roundcube sur Ubuntu 18.04 VPS.
Prérequis
- Un nouveau VPS Ubuntu 18.04 sur la plate-forme cloud Atlantic.Net.
- Un nom de domaine valide pointant vers votre adresse IP VPS. Dans ce didacticiel, nous utiliserons email.example.com.
- Enregistrements A et MX pour votre serveur.
Remarque :Vous pouvez vous référer au Atlantic DNS Guide pour gérer les enregistrements DNS.
Étape 1 - Créer un serveur cloud Atlantic.Net
Tout d'abord, connectez-vous à votre serveur Atlantic.Net Cloud. Créez un nouveau serveur en choisissant Ubuntu 18.04 comme système d'exploitation avec au moins 2 Go de RAM. Connectez-vous à votre serveur cloud via SSH et connectez-vous à l'aide des informations d'identification mises en évidence en haut de la page.
Une fois connecté à votre serveur Ubuntu 18.04, exécutez la commande suivante pour mettre à jour votre système de base avec les derniers packages disponibles.
apt-get update -y
Étape 2 - Configurer le nom d'hôte
Ensuite, vous devrez définir le nom d'hôte de votre serveur. Dans ce cas, nous définirons le nom d'hôte sur mail.example.com, comme indiqué ci-dessous :
hostnamectl set-hostname email.example.com
Ensuite, ouvrez le fichier /etc/hosts et liez l'adresse IP de votre serveur avec le nom d'hôte :
nano /etc/hosts
Ajoutez la ligne suivante :
l'adresse IP de votre serveur email.example.com email
Enregistrez et fermez le fichier. Ensuite, exécutez la commande suivante pour appliquer les modifications de configuration :
nom d'hôte -f
Étape 3 :Installez Apache, MariaDB et PHP
Roundcube nécessite l'installation d'Apache, MariaDB et PHP sur votre serveur. Vous pouvez les installer avec la commande suivante :
apt-get install apache2 mariadb-server php libapache2-mod-php php-mysql -y
Après avoir installé tous les packages requis, vous devrez activer le module de réécriture Apache pour que Roundcube fonctionne. Vous pouvez l'activer avec la commande suivante :
réécriture a2enmod
Ensuite, rechargez le service Apache pour appliquer les modifications :
systemctl redémarre apache2
Étape 4 - Installer le certificat SSL Let's Encrypt
Ensuite, vous devrez installer le certificat SSL Let's Encrypt Free sur votre serveur pour configurer votre serveur de messagerie avec TLS.
Tout d'abord, installez le client Certbot sur votre serveur avec la commande suivante :
add-apt-repository ppa:certbot/certbotapt-get update -yapt-get install python-certbot-apache -y
Ensuite, téléchargez le certificat SSL Let's Encrypt Free pour votre domaine email.example.com avec la commande suivante :
certbot certonly --apache -d email.example.com
Cette commande téléchargera le certificat dans le répertoire /etc/letsencrypt/live/email.example.com/.
Étape 5 - Installer et configurer Postfix
Commençons ensuite à installer un serveur de messagerie Postfix avec la commande suivante :
apt-get install postfix
Vous serez redirigé vers l'écran suivant :
Sélectionnez Site Internet et appuyez sur TAB et Entrez continuer. Vous devriez voir l'écran suivant :
Indiquez votre nom de domaine et appuyez sur Tab et Entrez pour terminer l'installation.
Le fichier de configuration par défaut de Postfix se trouve dans /etc/postfix/main.cf. Avant de configurer Postfix, il est recommandé de sauvegarder ce fichier :
mv /etc/postfix/main.cf /etc/postfix/main.cf.bak
Ensuite, créez un nouveau fichier de configuration Postfix comme indiqué ci-dessous :
nano /etc/postfix/main.cf
Ajoutez les lignes suivantes :
# GENERAL SETTINGSsmtpd_banner =$myhostname ESMTP $mail_namebiff =noappend_dot_mydomain =noreadme_directory =no# SMTP SETTINGSsmtp_use_tls=yessmtp_tls_security_level =maysmtp_tls_session_cache_database =btree:${data_directory}/smtp_scache# SMTPD SETTINGSsmtpd_use_tls=yessmtpd_tls_security_level =maysmtpd_tls_session_cache_database =btree:${data_directory}/smtpd_scachesmtpd_tls_cert_file =/etc/letsencrypt/live/email.example.com/fullchain.pemsmtpd_tls_key_file=/etc/letsencrypt/live/email.example.com/privkey.pemsmtpd_relay_restrictions =permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination# SASL SETTINGSsmtpd_sasl_auth_enable =yessmtpd_sasl_type =dovecotsmtpd_sasl_path =private/ auth# BOÎTE MAIL VIRTUELLE ET PARAMÈTRES LMTPvirtual_transport =lmtp:unix:private/dovecot-lmtpvirtual_mailbox_domains =/etc/postfix/virtual_mailbox_domains# AUTRES PARAMÈTRESmyhostname =email.example.commyorigin =/etc/mailnamemydestination = localhost.$mydomain, localhostrelayhost =m ynetworks =127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128mailbox_size_limit =0recipient_delimiter =+inet_interfaces =allinet_protocols =allalias_maps =hash:/etc/aliasesalias_database =hash:/etc/aliasEnregistrez et fermez le fichier.
Ensuite, vous devrez définir votre domaine dans le fichier /etc/postfix/virtual_mailbox_domains :
nano /etc/postfix/virtual_mailbox_domainsAjoutez la ligne suivante :
exemple.com #domaineEnregistrez et fermez le fichier puis convertissez le fichier dans un format que Postfix peut comprendre avec la commande suivante :
postmap /etc/postfix/virtual_mailbox_domainsEnsuite, éditez le fichier de configuration principal de Postfix :
nano /etc/postfix/master.cfDécommentez la ligne suivante :
submission inet n - y - - smtpdEnregistrez et fermez le fichier lorsque vous avez terminé.
Étape 6 - Installer et configurer Dovecot
Ensuite, vous devrez installer Dovecot avec les autres packages requis. Vous pouvez les installer à l'aide de la commande suivante :
apt-get install dovecot-core dovecot-imapd dovecot-pop3d dovecot-lmtpd -yEnsuite, vous devrez définir l'emplacement de messagerie Dovecot pour communiquer avec Postfix et les domaines de boîtes aux lettres virtuelles. Vous pouvez le définir en éditant le fichier /etc/dovecot/conf.d/10-mail.conf :
nano /etc/dovecot/conf.d/10-mail.confRecherchez la ligne suivante :
mail_location =mbox:~/mail:INBOX=/var/mail/%uEt remplacez-le par ce qui suit :
mail_location =maildir:/var/mail/vhosts/%d/%nEnregistrez et fermez le fichier.
Créez ensuite le répertoire vhosts de Dovecot et le sous-répertoire de votre nom de domaine.
mkdir /var/mail/vhostsmkdir /var/mail/vhosts/example.comEnsuite, créez un utilisateur vmail et un groupe, et attribuez la propriété des répertoires à l'utilisateur vmail.
groupadd -g 5000 vmailuseradd -r -g vmail -u 5000 vmail -d /var/mail/vhosts -c "utilisateur de messagerie virtuel"chown -R vmail:vmail /var/mail/vhosts/Modifiez ensuite le fichier de configuration principal de Dovecot et activez les services sécurisés IMAP et POP3 :
nano /etc/dovecot/conf.d/10-master.confRecherchez les lignes suivantes :
inet_listener imaps { #port =993 #ssl =yes }Et remplacez-les par ce qui suit :
inet_listener imaps { port =993 ssl =yes }Sur le même fichier, recherchez les lignes suivantes :
inet_listener pop3s { #port =995 #ssl =yes }Et remplacez-les par ce qui suit :
inet_listener pop3s { port =995 ssl =yes }Ensuite, recherchez les lignes suivantes :
service lmtp {unix_listener lmtp {#mode =0666}Et remplacez-les par ce qui suit :
service lmtp {unix_listener /var/spool/postfix/private/dovecot-lmtp {mode =0600user =postfixgroup =postfix}Ensuite, recherchez les lignes suivantes :
service auth { # Postfix smtp-auth #unix_listener /var/spool/postfix/private/auth { # mode =0666 #}}Et remplacez-les par ce qui suit :
service auth {...#Postfix smtp-authunix_listener /var/spool/postfix/private/auth {mode =0666user=postfixgroup=postfix}Enregistrez et fermez le fichier lorsque vous avez terminé.
Ensuite, configurez le processus d'authentification Dovecot en éditant le fichier /etc/dovecot/conf.d/10-auth.conf :
nano /etc/dovecot/conf.d/10-auth.confDécommentez la ligne suivante :
disable_plaintext_auth =ouiSur le même fichier, recherchez la ligne suivante :
auth_mechanisms =plainEt remplacez-le par ce qui suit :
auth_mechanisms =connexion simpleEnsuite, commentez la ligne suivante pour désactiver le comportement par défaut de Dovecot pour l'authentification des utilisateurs.
#!include auth-system.conf.extEnsuite, décommentez la ligne suivante pour activer la configuration du fichier de mot de passe.
!include auth-passwdfile.conf.extEnregistrez et fermez le fichier lorsque vous avez terminé.
Modifiez ensuite le fichier /etc/dovecot/conf.d/auth-passwdfile.conf.ext :
nano /etc/dovecot/conf.d/auth-passwdfile.conf.extModifiez le fichier comme indiqué ci-dessous :
passdb { driver =passwd-file args =scheme=PLAIN username_format=%u /etc/dovecot/dovecot-users}userdb {driver =staticargs =uid=vmail gid=vmail home=/var/mail/vhosts/% d/%n}Enregistrez et fermez le fichier.
Ensuite, créez un fichier de mots de passe pour l'utilisateur auquel vous souhaitez attribuer un compte de messagerie :
nano /etc/dovecot/dovecot-usersAjoutez les lignes suivantes :
[email protected] :[email protected]Enregistrez et fermez le fichier.
Étape 7 - Configurer Dovecot pour utiliser Let's Encrypt SSL
Ensuite, vous devrez configurer Dovecot pour qu'il fonctionne avec SSL. Vous pouvez le faire en éditant le fichier /etc/dovecot/conf.d/10-ssl.conf :
nano /etc/dovecot/conf.d/10-ssl.confRecherchez la ligne suivante :
ssl =ouiRemplacez-le par ce qui suit :
ssl =requisEnsuite, recherchez les lignes suivantes :
#ssl_cert =Et remplacez-les par ce qui suit :
ssl_cert =Enregistrez et fermez le fichier lorsque vous avez terminé, puis redémarrez les services Postfix et Dovecot pour appliquer les modifications de configuration :
systemctl restart postfixsystemctl restart dovecotÉtape 8 - Installer et configurer Roundcube
apt-get install roundcubeLors de l'installation, vous serez invité à configurer la base de données. Choisissez l'option souhaitée et appuyez sur Entrée pour terminer l'installation.
Ensuite, vous devrez configurer l'hôte virtuel Apache pour Roundcube. Vous pouvez le faire en éditant le fichier /etc/apache2/sites-enabled/000-default.conf :
nano /etc/apache2/sites-enabled/000-default.confModifiez le fichier comme indiqué ci-dessous :
Alias /mail /usr/share/roundcube ServerAdmin [email protected] DocumentRoot /var/www/html ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combiné Enregistrez et fermez le fichier, puis redémarrez le service Web Apache pour appliquer les modifications :
systemctl redémarre apache2Étape 9 - Accéder à la messagerie Web Roundcube
Maintenant, ouvrez votre navigateur Web et saisissez l'URL hhttp://email.example.com/mail. Vous serez redirigé vers la page de connexion Roundcube :
Fournissez votre nom d'utilisateur et votre mot de passe que vous avez définis dans le fichier de mots de passe Dovecot et cliquez sur Connexion bouton. Vous devriez voir le tableau de bord par défaut de Roundcube sur la page suivante :
Conclusion
Toutes nos félicitations! Vous avez installé et configuré avec succès un serveur de messagerie avec Postfix, Dovecot et Roundcube. Vous pouvez désormais envoyer et recevoir des e-mails à partir du tableau de bord de la messagerie Web Roundcube. Prêt à démarrer avec Postfix, Dovecot et Roundcube ? Essayez-le sur un compte d'hébergement VPS d'Atlantic.Net dès aujourd'hui !
En savoir plus sur nos services d'hébergement VPS et nos serveurs privés virtuels.