L'article suivant vise à installer et configurer un serveur de messagerie POP3/IMAP/SMTP simple dans votre VPS Debian en utilisant Postfix, Dovecot et SASL.
Qu'est-ce que Postfix ? C'est une goutte de remplacement pour l'ancien et mature Sendmail. Postfix tente également d'être très rapide, facile à administrer et sécurisé.
Qu'est-ce que Pigeonnier ? Il s'agit d'un serveur IMAP et POP3 open source pour les systèmes de type *NIX, écrit principalement dans un souci de sécurité.
Qu'est-ce que SASL ? SASL, Simple Authentication and Security Layer, est un mécanisme générique permettant aux protocoles d'effectuer l'authentification.
1.) Prérequis
– Vous voudrez peut-être vérifier si votre nom d'hôte/nom de domaine est un FQDN valide (nom de domaine complet) et s'il possède un enregistrement DNS MX valide.
# dig +short MX mydomain.com 10 mydomain.com.
ok le nom d'hôte "mondomaine.com" a un enregistrement MX et :
# dig +short A $(dig +short MX mydomain.com | head -1 | cut -d' ' -f2) 12.34.56.78
le jeu d'enregistrements MX revient à l'adresse IP de notre serveur Debian (12.34.56.78)
2.) Mettez à jour le système et installez les packages requis
– Avant d'aller plus loin, nous devons nous assurer que nous disposons d'un système entièrement à jour.
# apt-get update # apt-get upgrade # apt-get dist-upgrade
2.a) Installer le suffixe
# apt-get install postfix
(lorsque vous y êtes invité, choisissez "Site Internet", puis définissez "mondomaine.com" comme nom de messagerie système.)
2.b) Installer le pigeonnier
# apt-get install dovecot-common dovecot-imapd dovecot-pop3d
2.c) Installer sasl pour l'authentification des utilisateurs
# apt-get install libsasl2-2 libsasl2-modules sasl2-bin
(activez le démon sasl en définissant START=yes dans /etc/default/saslauthd . vous pouvez également réduire le nombre de threads en définissant THREADS=3 par exemple)
ou si vous vous sentez courageux :
# sed -i -e 's/START=no/START=yes/' -e 's/THREADS=5/THREADS=3/' /etc/default/saslauthd
configurer /etc/postfix/sasl/smtpd.conf
# echo -e "pwcheck_method: saslauthd\nmech_list: plain login cram-md5 digest-md5" > /etc/postfix/sasl/smtpd.conf
redémarrer SASL
# /etc/init.d/saslauthd restart
3.) Créer un utilisateur système Pour gérer les e-mails entrants et avoir accès aux boîtes aux lettres uniquement.
– créer un groupe utilisé pour les boîtes aux lettres virtuelles
# groupadd vmail -g 2222
– créer un utilisateur utilisé pour les boîtes aux lettres virtuelles
# useradd vmail -r -g 2222 -u 2222 -d /var/vmail -m -c "mail user"
4.) Préparez le certificat SSL pour l'utilisation du transport SSL
– copiez/déplacez votre ssl dans un répertoire par exemple /etc/sample-ssl/
# mkdir /etc/sample-ssl # rsync -Waq /path/to/certs/ /etc/sample-ssl/
5.) Configuration du suffixe
- avant de faire quoi que ce soit d'autre, assurez-vous d'avoir une sauvegarde du fichier de configuration d'origine
# cp /etc/postfix/main.cf{,.orig}
5.a) configurer le fichier de configuration principal de postfix (/etc/postfix/main.cf)
– assurez-vous de changer ‘mydomain.com’ avec votre nom de domaine et définissez également les chemins ssl de manière appropriée
# vim /etc/postfix/main.cf
myhostname=mydomain.com mydomain=mydomain.com myorigin=$mydomain mydestination = localhost mynetworks = 127.0.0.0/8 inet_interfaces = all mailbox_size_limit = 0 recipient_delimiter = + debug_peer_level=2 smtpd_banner=$myhostname ESMTP $mail_name biff=no relayhost= show_user_unknown_table_name=no append_dot_mydomain = no alias_maps = hash:/etc/aliases alias_database = hash:/etc/aliases virtual_mailbox_base=/var/vmail virtual_mailbox_domains=hash:/etc/postfix/vmail_domains virtual_mailbox_maps=hash:/etc/postfix/vmail_mailbox virtual_alias_maps=hash:/etc/postfix/vmail_aliases virtual_minimum_uid=100 virtual_uid_maps=static:2222 virtual_gid_maps=static:2222 virtual_transport=dovecot smtpd_tls_cert_file=/etc/sample-ssl/ssl.crt smtpd_tls_key_file=/etc/sample-ssl/ssl.key smtpd_tls_CAfile=/etc/ssl/certs/ca-certificates.crt smtp_tls_CAfile=/etc/ssl/certs/ca-certificates.crt smtp_use_tls=yes smtpd_use_tls=yes smtpd_tls_loglevel=1 smtpd_tls_received_header=yes tls_random_source=dev:/dev/urandom smtp_tls_note_starttls_offer=yes smtpd_tls_session_cache_timeout=3600s smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache queue_directory=/var/spool/postfix smtpd_sasl_type=dovecot smtpd_sasl_path=private/auth smtpd_sasl_auth_enable=yes broken_sasl_auth_clients=yes smtpd_sasl_security_options=noanonymous smtpd_sasl_tls_security_options=$smtpd_sasl_security_options smtpd_sasl_local_domain=$myhostname smtpd_sasl_application_name=smtpd smtpd_helo_required=yes smtpd_helo_restrictions=reject_invalid_helo_hostname smtpd_recipient_restrictions=reject_unknown_recipient_domain, reject_unauth_pipelining, permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
5.b) créer /etc/postfix/vmail_domains contenant les domaines pour lesquels postfix acceptera les emails
– le format est de 2 colonnes. domaine à gauche, statut à droite. s'il n'y a rien sur le côté droit, le domaine est désactivé.
# vim /etc/postfix/vmail_domains
mydomain.com OK my-otherdomain.com OK
5.c) créer /etc/postfix/vmail_mailbox contenant les boîtes aux lettres acceptées
# vim /etc/postfix/vmail_mailbox
[email protected] mydomain.com/info [email protected] mydomain.com/admin [email protected] my-otherdomain.com/webmaster
5.d) créer /etc/postfix/vmail_aliases contenant les alias virtuels
# vim /etc/postfix/vmail_aliases
[email protected] [email protected] [email protected] [email protected] [email protected] [email protected]
hacher les fichiers de configuration
# postmap /etc/postfix/vmail_domains # postmap /etc/postfix/vmail_mailbox # postmap /etc/postfix/vmail_aliases
6.) Configuration du pigeonnier
- avant de faire quoi que ce soit d'autre, assurez-vous d'avoir une sauvegarde du fichier de configuration d'origine
# cp /etc/dovecot/dovecot.conf{,.orig}
– créer le fichier de configuration principal du pigeonnier
# vim /etc/dovecot/dovecot.conf
protocols = imap imaps pop3 pop3s log_timestamp = "%Y-%m-%d %H:%M:%S " first_valid_uid=2222 last_valid_uid=2222 first_valid_gid=2222 last_valid_gid=2222 mail_privileged_group = vmail disable_plaintext_auth=yes auth_executable = /usr/lib/dovecot/dovecot-auth auth_verbose = yes mail_location = maildir:/var/vmail/%d/%n/Maildir ssl_cert_file = /etc/sample-ssl/sample-chained.crt ssl_key_file = /etc/sample-ssl/sample.key protocol lda { auth_socket_path = /var/run/dovecot/auth-master postmaster_address = [email protected] mail_plugins = sieve log_path = } auth default { mechanisms = plain login passdb passwd-file { args = scheme=SHA1 /etc/dovecot/users.conf } userdb static { #args = /etc/dovecot/users.conf args = uid=2222 gid=2222 home=/var/vmail/%d/%n allow_all_users=yes } socket listen { master { path = /var/run/dovecot/auth-master mode = 0600 user = vmail group = vmail } client { path = /var/spool/postfix/private/auth mode = 0660 user = postfix group = postfix } } }
assurez-vous de définir la configuration en fonction de vos parcours et de vos besoins
– créer notre fiche utilisateur :
# touch /etc/dovecot/users.conf
– ensuite, utilisez la commande suivante afin de générer un hachage de mot de passe pour un utilisateur particulier :
# dovecotpw -s SHA1
(mot de passe généré ajouté à users.conf sans la partie {SHA1}, par exemple :)
# cat /etc/dovecot/users.conf [email protected]:7mh/MbZGZf7pc2pV6To7WuHJY8E=
7.) Configurer les autorisations et terminer l'installation
# chgrp vmail /etc/dovecot/dovecot.conf # chmod g+r /etc/dovecot/dovecot.conf # chown root:root /etc/dovecot/users.conf # chmod 600 /etc/dovecot/users.conf
– livrer les courriers entrants au colombier
# vim /etc/postfix/master.cf
(ajoutez ce qui suit)
dovecot unix - n n - - pipe flags=DRhu user=vmail:vmail argv=/usr/lib/dovecot/deliver -f ${sender} -d ${recipient}
– tant que vous y êtes, vous pouvez également activer le port de soumission en décommentant la ligne suivante :
submission inet n - - - - smtpd
– recharger les services
# /etc/init.d/dovecot restart # /etc/init.d/postfix restart
Bien sûr, vous n'avez rien à faire si vous utilisez l'un de nos services d'hébergement VPS optimisé pour Debian, auquel cas vous pouvez simplement demander à nos administrateurs Linux experts de l'installer pour vous. Ils sont disponibles 24h/24 et 7j/7 et prendront immédiatement en charge votre demande.
PS. Si vous avez aimé cet article, partagez-le avec vos amis sur les réseaux sociaux en utilisant les boutons à gauche ou laissez simplement une réponse ci-dessous. Merci.