Installer et configurer Dovecot

Débutant à expert • Dovecot

Installer et configurer Dovecot

Dovecot

Découvrez comment installer et configurer un serveur Dovecot grâce à notre présentation. Dans ce chapitre, vous trouverez toutes les informations nécessaires pour comprendre et mettre en place Dovecot, afin de garantir un serveur de messagerie fiable et performant. De la section de texte en-tête à l’image, suivez nos conseils détaillés et pratiques pour configurer Dovecot selon vos besoins spécifiques. Ne manquez pas cette opportunité d’optimiser votre serveur de messagerie avec Dovecot. Informations, résumés et guides étape par étape vous attendent dans cette page. Explorez dès maintenant notre contenu complet sur l’installation et la configuration de Dovecot pour améliorer votre expérience de messagerie.

 

Ce que vous apprendrez

  • Rappel pour installer Dovecot
  • Compréhension des différents fichiers
  • Personnalisation du fichier de configuration générale
  • Personnaliser le fichier pour MySQL

Chapitre

Tutoriel Dovecot

Ce cours vous permet bien comprendre le jargon de Dovecot. Le temps estimé ci-dessous. Et pour quel niveau de compréhension.

Details

Débutant

3 hrs 00 min

Mise à jour : 29/09/2023

Pré-requis
Installer Apache et php 8.2
PostfixAdmin
Créer un utilisateur vmail
Gestion des droits des groupes
Créer un répertoire pour les domaines et adresses mail
Postfix

Rappel pour installer Dovecot

Pour installer Dovecot nous avons besoin des paquets de Debian.

Ces paquets sont composé de plusieurs modules.

 

  • dovecot-core

  • dovecot-imapd

  • dovecot-lmtpd

  • dovecot-managesieved

  • dovecot-mysql

  • dovecot-pop3d

  • dovecot-sieve

  • dovecot-submissiond

Les différents fichiers Dovecot

Compréhension du fichier dovecot.conf

Les paquets pré-construits installent généralement les fichiers de configuration dans /etc/dovecot/. Vous trouverez le chemin correct en exécutant : Dans ce fichier nous avons

root@mail#doveconf -n | head -n 1

# 2.3.19.1 (9b53102964): /etc/dovecot/dovecot.conf

Docecot est composé de 3 fichiers d’origines.

  • dovecot.conf
  • dovecot-dict-auth.conf.ext
  • dovecot-sql.conf.ext

Et vous avez 2 dossiers :

  • conf.d
  • private

 

Compréhension du fichier dovecot-sql.conf.ext

Nous disposons également d’un fichier appelé dovecot-dict-sql.conf.ext. dovecot-sql.conf.ext, comme son nom l’indique, est utilisé pour informer les éléments de la base de données de MySQL, Pgsql ou Sqlite.

Le répertoire conf.d

Je vous expliquerais un peu plus ce fichier dès que nous serons dans la partie de configuration.

Dans ce dossier, vous avez 22 fichiers qui ont une fonction bien spécifique.

Les chiffres sont l’ordre de priorité.

Je vous les énumères  :

  • 10-auth.conf
  • 10-director.conf
  • 10-logging.conf
  • 10-mail.conf
  • 10-master.conf
  • 10-ssl.conf
  • 10-tcpwrapper.conf
  • 15-lda.conf
  • 15-mailboxes.conf
  • 20-imap.conf
  • 20-pop3.conf

 

  • 90-acl.conf
  • 90-plugin.conf
  • 90-quota.conf
  • auth-checkpassword.conf.ext
  • auth-deny.conf.ext
  • auth-master.conf.ext
  • auth-passwdfile.conf.ext
  • auth-sql.conf.ext
  • auth-static.conf.ext
  • auth-system.conf.ext
  • auth-vpopmail.conf.ext

10-auth.conf

10-auth.conf, vous pouvez voir sans ce fichier que c’est un système d’identification de différentes façons. Je vous donne les principaux :

  • Système
  • sql
  • ldap (annuaire)

10-director.conf

10-director.conf, paramètres spécifiques au directeur.

Director peut être utilisé par le proxy Dovecot pour conserver une correspondance temporaire entre l’utilisateur et le serveur de messagerie.
Temporaire.

 

 

10-logging.conf

10-logging.conf,

 

 

10-mail.conf

10-mail.conf, Emplacement des boîtes aux lettres et espaces de noms.Emplacement des boîtes aux lettres des utilisateurs.

10-master.conf

10-master.conf, vous pouvez ouvrir les différents services et portspop, imap, lmtp, que vous voulez utiliser.

10-ssl.conf

10-ssl.conf, vous activer le certificat de votre domaine soit avec let’s encrypt ou autohébergé pour votre sécurité. Et les différents protocole ssl.

10-tcpwrapper.conf

10-tcpwrapper.conf,

15-lda.conf

15-lda.conf, Le MDA permet de distribuer les courriels, par l’Agent de Distribution Locale (LDA) du MDA. 

15-mailboxes.conf

15-mailboxes.conf,

20-imap.conf

20-imap.conf,

20-lmtp.conf

20-lmtp, Protocole Local de Transport des Courriels (LMTP) du MTA qui est une variante locale au serveur de messagerie du SMTP.

20-pop3.conf

20-pop3.conf,

 

90-acl.conf

90-acl.conf,

 

90-plugin.conf

90-plugin.conf,

 

90-quota.conf

90-quota.conf,

 

auth-checkpassword.conf.ext

auth-checkpassword.conf.ext,

 

auth-deny.conf.ext

auth-deny.conf.ext,

 

auth-dict.conf.ext

auth-dict.conf.ext,

 

Auth-master.conf.ext

auth-master.conf.ext,

 

 

Auth-passwdfile.conf.ext

Auth-passwdfile.conf.ext,

 

Auth-sql.conf.ext

Auth-sql.conf.ext,

 

 

Auth-static.conf.ext

Auth-static.conf.ext

 

 

Auth-system.conf.ext,

Auth-system.conf.ext,

 

Installer Dovecot

Vous avez besoin pour installer Dovecot imap, pop, lmtp qui sert pour l’envoie de mail
en rafale, puis mysql pour joindre la base de données

Commande

root@mail#apt install dovecot-core dovecot-imapd dovecot-pop3d dovecot-lmtpd dovecot-mysql

Configurer Dovecot

Création d'un fichier /etc/dovecot/local.conf

Conseil

Pour ne pas perde votre configuration dovecot préconise de créer un fichier que vous appelez local.conf dans le dossier /etc/dovecot.

Dans  ce fichier, vous trouvez toute la configuration de Dovecot.

Avant tout, vous comment vous pouvez créer le fichier.

Commande

root@mail:/etc/dovecot#vi ocal.conf

Création d'un fichier /etc/dovecot/local-sql.conf.ext

Conseil

Pour ne pas perde votre configuration Dovecot préconise de créer un fichier que vous appelez local-sql.conf.ext dans le dossier /etc/dovecot.

Je vous conseille de faire un copier coller du fichier original /etc/dovecot/dovecot-sql.conf.ext.

Commande

root@mail:/etc/dovecot# cp dovecot-sql.conf.ext local-sql.conf.ext

root@mail:/etc/dovecot#vi local-sql.conf.ext

Maintenant que vous avez copié les fichiers, vous ouvrez le fichier local.conf toujours dans /etc/dovecot/local.conf.

Dovecot.conf

 Dans /etc/dovecot vous avez un fichier qui se nomme dovecot.conf. C’est là que nous que nous pouvons indiquer si nous voulons garder se fichier ou en créant un notre comme local.conf ou dovcot-local.conf.

Nous avons aussi un fichier qui se nomme dovecot-dict-sql.conf.ext.

dovecot-sql.conf.ext comme son nom l’indique c’est pour informer les éléments de la base de données de MySQL, Pgsql ou Sqlite.

Pour mieux comprendre les élément de ce fichier, voici un exemple 

Comme je vous ai exipliqué, dovecot.conf est le fichier de la configuration générale.

Pour pouvoir utiliser le fichier local.conf que vous avez créé. Vous devez vérifier si vous avez bien à la fin du fichier !include_try local.conf.

Vous pouvez fermer le fichier.

local.conf

Pour la prise des différents protocoles imap, pop3 et lmtp,  Vous ouvrez le fichier local.conf

Commande

root@mail:/etc/dovecot#vi local.conf

Vous allez inscrire deux lignes.

Fichier local.conf

# §Fichier de configuration local.conf de dovecot
#vim /etc/dovecot/dovecot.conf
protocols = imap pop3 lmtp
listen = *, ::

10-auth.conf

Vous ouvrez le  fichier qui se trouve dans le répertoire etc/dovecot.conf.d/10-aut.conf

Fichier etc/dovcot/conf.d/10-auth.conf.conf

root@mail:/etc/dovecot#vi /etc/dovecot/conf.d/10-auth.conf

vous copiez les lignes suivantes dans le fichier local.conf :

Fichier etc/dovcot/local.conf

#----------------------------10-auth.conf---------------------------------------------#

#Autorisation des utilisateurs
disable_plaintext_auth = yes
auth_mechanisms = plain login

Créer des fichiers logs pour Dovecot

Vous allez créer trois fichiers log qui vont vous permette de voir si vous avez des erreurs dans la configuration.

Fichier /var/log

root@mail:/etc/dovecot# touch /var/log/dovecot.log
root@mail:/etc/dovecot#touch /var/log/dovecot-info.log
root@mail:/etc/dovecot#touch /var/log/dovecot-debug.log

Ajoutez les logs dans /etc/dovecot/local.conf

Vous allez continuer à remplir ce fichier local.conf pour ajouter les variables des logs.

Ces informations vous les retrouvez dans le fichier /etc/dovecot/10-logging.conf

Fichier etc/dovcot/local.conf

#----------------------------10-logging.conf------------------------------------------#
## Log destination.

log_path = /var/log/dovecot.log
info_log_path = /var/log/dovecot-info.log
debug_log_path = /var/log/dovecot-debug.log
auth_verbose = yes
auth_debug = yes
mail_debug = no

# Show protocol level SSL errors.
verbose_ssl = yes

Ajouter le répertoire des mails

Vous pouvez vous apercevoir que chaque ligne à une importance.

mail location : vous permet de définir où se trouve le répertoire du domaines qui héberge les Email.

mail uid : c’est l’utilisateur du groupe mail que vous avez créé avant

mail gid : C’est le nom du groupe

Vous devez donner les droits aux utilisateurs linux de se connecter.

le chiffre c’est identifiant de l’utilisateur vmail

first_valid_uid : 8

last_valid_uid :8

le chiffre c’est identifiant du groupe vmail

first_valid_gid :8000

last_valid_gid :8000

 

Fichier etc/dovcot/local.conf

#----------------------------10-mail.conf--------------------------------------------#
mail_location = maildir:/var/mail/%d/%n/Maildir/
namespace inbox {
inbox = yes
}
# c'est utilisateurs et groupe qui accede aux mails

mail_uid=vmail
mail_gid=vmail

#Identifiant utisateur linux valides pour se connecter

first_valid_uid = 8
last_valid_uid = 8

first_valid_gid = 8000
last_valid_gid = 8000

mail_privileged_group = vmail

Ajouter les services de dovecot

Gestion des services Dovecot

Dovecot gère les ports 993 et 995 pour le pop3Sdans le fichier /etc/dovecot/10-master.conf.

Et /postfix/master.cf gère le port 587 qui est le port de soumission.

Puis aussi le port 465 qui est identifier dans le fichiersous soumissions.

Service auth

Fichier etc/dovcot/local.conf

#----------------------------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 /var/spool/postfix/private/auth {
mode = 0666
user = postfix
group = postfix
}
unix_listener auth-userdb {
mode = 0600
user = vmail
}
user = dovecot
}
service auth-worker {
user = vmail
}
service dict {
unix_listener dict {
}
}
#Configurez Dovecot pour recevoir les emails de Postfix en ajoutant les lignes
#ci-dessous :

service stats {
unix_listener stats-reader {
user =v mail
group = vmail
mode = 0660
}

unix_listener stats-writer {
user = vmail
group = vmail
mode = 0660
}
}

Sécuriser en sll Dovecot

Pour sécuriser votre domaine, vous avez besoin de créer un certificat sll.

Pour créer ce certificat, j’ai utilisé Letsencrypt qui est entièrement gratuit.

Je vous en parle dans la partie des pré-requis. Vous pouvez cliquer sur ce lien.

Pour avoir le cipher, vous devez aller sur le générateur de mozilla. cliquez sur ce lien.

 

Dovecot - générateur cipher dovecot

Vous copiez les données qui se trouve en dessous du générateur SSL et les insérés dans le fichier local.conf.

”Fichier

Interroger le nom et le mot de passe de la base de données Mysql

Dovecot à besoin où se trouve la base de données. Vous lui indiquez le chemin où se trouve le fichier. Vous avez créer un fichier qui s’appelle local-sql.conf.ext.

Ce fichier est à cet emplacement /etc/dovecot/local-sql.conf.ext.

Ces informations se trouve dans /etc/dovecot.conf.d/auth.sql.ext.

userdb pour récupérer les informations relatives à l'utilisateur. Elle peut renvoyer des champs :
uid - UID du système (remplace le paramètre mail_uid)
gid - GID du système (remplace le paramètre mail_gid)
home - Répertoire d'origine
mail - Emplacement du courrier (remplace le paramètre mail_location)

Si vous utilisez un UID et un GID uniques, et que le répertoire home ou le répertoire mail correspond à une chaîne modèle, vous pouvez utiliser userdb static à la place.

passdb pour récupérer le mot de passe. Elle peut renvoyer des champs :
# password - Le mot de passe de l'utilisateur. Ce champ doit être retourné.

Fichier etc/dovcot/local.conf

#-----------------------------auth-sql.conf.ext--------------------------------------#
passdb {
driver = sql
args = /etc/dovecot/local-sql.conf.ext
}
#userdb {
# driver = sql
# args = /etc/dovecot/dovecot-sql.conf.ext
#}

userdb {
driver = static
args = uid=mail gid=vmail home=/var/mail/%d/%n/Maildir
}

Connexion à la base de données /etc/dovecot/local-sql.conf.ext

mysql

Pour faire la relation entre votre base de données et Dovecot vous devez fournir des informations.

Host : Adresse IP Failover ou local

Dbname : nom de la base de données

user : le nom de l’utilisateur de la base de données

password : mot depas de la base de donées

connect = host=localhost dbname=dovecot user=dovecot password=pwd_dovecot

Redémarrer le service Dovecot

Vous pouvez redémarrer le service de Dovecot, en utilisant la commande systemctl restart + le nom du service.

Commande

root@mail:/etc/dovecot# systemctl restart dovecot

Vos questions

Faq

FAQ

Toutes vos interrogations les plus courantes sur dovecot sont dans la section FAQ, .

Comment installer Dovecot ?

Pour installer dovecot sur une Debian, vous devez utiliser les paquets dovecot-core *-mysql