Serveur mail (CentOS 7.1) 2/6 : Installation et configuration de Dovecot

Dovecot est un serveur IMAP et POP3.

Installation de Dovecot

Pour installer Dovecot, nous allons taper la commande suivante :

1
# yum install dovecot

Configuration de Dovecot

Avant de modifier le fichier de configuration, nous allons le sauvegarder via la commande suivante :

1
# cp /etc/dovecot/dovecot.conf{,.ori}

Nous allons activer le support IMAP et POP3 dans Dovecot. Pour cela on édite le fichier « dovecot.conf » via la commande suivante :

1
# vi /etc/dovecot/dovecot.conf

On dé-commente et on modifie la ligne 24 comme suit :

1
protocols = imap pop3

Nous allons configurer Dovecot pour qu’il écoute en IPv4 et IPv6. Pour cela on dé-commente la ligne 30 « listen = *, :: » Avant de modifier le fichier de configuration, nous allons le sauvegarder via la commande suivante :

1
# cp /etc/dovecot/conf.d/10-auth.conf{,.ori}

Nous allons paramétrer l’authentification sur Dovecot. Pour cela, on édite le fichier de configuration « 10-auth.conf » via la commande suivante :

1
# vi /etc/dovecot/conf.d/10-auth.conf

On dé-commente la ligne 10 et on la modifie comme suit :

1
disable_plaintext_auth = no

Comme le serveur va gérer plusieurs domaine, nous devons modifier le format de l’utilisateur lors de la connexion pour exiger que le domaine associé à l’utilisateur soit renseigné. Pour cela on dé-commente et on modifie la ligne 51 comme suit :

1
auth_username_format = %Ln@%d

On modifie la ligne 100 comme suit :

1
auth_mechanisms = plain login

Comme nous n’allons pas utiliser le service Director, nous allons le désactiver via la commande suivante :

1
# mv /etc/dovecot/conf.d/10-director.conf{,.disabled}

Avant de modifier le fichier de configuration, nous allons le sauvegarder via la commande suivante :

1
# cp /etc/dovecot/conf.d/10-logging.conf{,.ori}

Nous allons modifier le chemin et le nom des fichiers de log de Dovecot. Pour cela, nous allons éditer le fichier « 10-logging.conf » via la commande suivante :

1
# vi /etc/dovecot/conf.d/10-logging.conf

On dé-commente la ligne 7 et on la modifie comme suit pour modifier le chemin du fichier de log de Dovecot :

1
log_path = /var/log/dovecot/dovecot.log

Nous allons loguer les authentifications qui ont échouées. Pour cela, on dé-commente et on modifie la ligne 24 comme suit :

1
auth_verbose = yes

Avant de modifier le fichier de configuration, nous allons le sauvegarder via la commande suivante :

1
# cp /etc/dovecot/conf.d/10-mail.conf{,.ori}

Nous allons modifier le chemin de stockage des mails pour que chaque domaine corresponde à un répertoire et pareil pour les utilisateurs du domaine. Pour cela, nous allons éditer le fichier « 10-mail.conf » via la commande suivante :

1
# vi /etc/dovecot/conf.d/10-mail.conf

Pour cela on dé-commente la ligne 30 et on la modifie comme suit :

1
mail_location = maildir:/var/vmail/%d/%n

Nous devons spécifier le groupe d’utilisateur système qui aura accès aux boites mails. Pour cela, on dé-commente et on modifie la ligne 119 comme suit :

1
mail_access_groups = vmail

On va renseigner l’uid et le gid du premier utilisateur. Pour cela, on dé-commente et on modifie la ligne 168 comme suit pour l’uid :

1
first_valid_uid = 2222

Pour le gid, on dé-commente et on modifie la ligne 175 comme suit :

1
first_valid_gid = 2222

On ajoute la ligne suivante à la fin du fichier :

1
default_login_user = vmail

Avant de modifier le fichier de configuration, nous allons le sauvegarder via la commande suivante :

1
# cp /etc/dovecot/conf.d/10-master.conf{,.ori}

On édite le fichier « 10-master.conf » via la commande suivante:

1
# vi /etc/dovecot/conf.d/10-master.conf

On dé-commente la ligne 32 et on la modifie comme suit :

1
process_min_avail = 1

On ajoute la ligne suivante après la ligne 32 :

1
user = vmail

On décommente les lignes 91, 92 et 93 et on les modifie comme suit :

1
2
3
mode = 0600
user = vmail
group = vmail

On ajoute les lignes suivantes après la ligne 94 :

1
2
3
4
5
unix_listener auth-client {
  mode = 0660
  user = postfix
  group = postfix
}

On dé-commente la ligne 108 et on la modifie comme suit :

1
user = root

Avant de modifier le fichier de configuration, nous allons le sauvegarder via la commande suivante :

1
# cp /etc/dovecot/conf.d/10-ssl.conf{,.ori}

Nous allons désactiver le support du SSL dans Dovecot. Pour cela, nous allons éditer le fichier « 10-ssl.conf » via la commande suivante :

1
# vi /etc/dovecot/conf.d/10-ssl.conf

On modifie la ligne 8 comme suit :

1
ssl = no

Avant de modifier le fichier de configuration, nous allons le sauvegarder via la commande suivante :

1
# cp /etc/dovecot/conf.d/20-imap.conf{,.ori}

Nous allons activer le support des plugins pour IMAP dans Dovecot. Pour cela, nous allons éditer le fichier « 20-imap.conf » via la commande suivante :

1
# vi /etc/dovecot/conf.d/20-imap.conf

On dé-commente la ligne 56 :

1
mail_plugins = $mail_plugins

Comme nous n’allons pas utiliser le service lmtp, nous allons le désactiver :

1
# mv /etc/dovecot/conf.d/20-lmtp.conf{,.disabled}

Comme nous n’allons pas utiliser le service ACL, nous allons le désactiver

1
# mv /etc/dovecot/conf.d/90-acl.conf{,.disabled}

Avant de modifier le fichier de configuration, nous allons le sauvegarder via la commande suivante :

1
# cp /etc/dovecot/conf.d/auth-system.conf.ext{,.ori}

Nous allons désactiver les paramètres d’authentification par défaut de Dovecot. Pour cela, nous allons éditer le fichier « auth-system.conf.ext » via la commande suivante :

1
# vi /etc/dovecot/conf.d/auth-system.conf.ext

On va modifier les paramètres d’authentification de Dovecot. On va lui indiquer que nous allons utiliser un fichier texte comme base de données pour y stocker les mots de passe de chaque utilisateur. Pour cela, on modifie la ligne 11 comme suit :

1
driver = passwd-file

On dé-commente et on modifie la ligne 14 comme suit :

1
args = scheme=SHA1 /etc/dovecot/passwd

On dé-commente et on modifie la ligne 51 comme suit :

1
driver = static

On dé-commente et on modifie la ligne 53 comme suit :

1
args = uid=2222 gid=2222 home=/var/vmail/%d/%n allow_all_users=yes

On créer le répertoire qui contiendra les logs de Dovecot et modifier le propriétaire via les commandes suivantes :

1
2
# mkdir /var/log/dovecot/
# chown vmail:vmail /var/log/dovecot/

On démarre Dovecot pour prendre en compte les changements via la commande suivante :

1
# systemctl start dovecot

On redémarre Postfix pour prendre en compte les modifications, via la commande suivante :

1
# systemctl restart postfix

Dans un premier temps nous générer un mot de passe (password) SHA1via la commande suivante :

1
# doveadm pw -s sha1 | cut -d '}' -f2

Il faut copier hash du mot de passe ainsi généré. Maintenant, nous allons créer le fichier ce dans lequel sera stocké l’utilisateur et son mot de passe via la commande suivante :

1
# vi /etc/dovecot/passwd

On y ajoute :

1
user@mon-domaine.fr:W6ph5Mm5Pz8GgiULbPgzG37mj9g=

Nous allons modifier le propriétaire du fichier « passwd » pour ne le rendre accessible qu’a l’utilisateur « root ». Pour cela, nous tapons les commandes suivantes :

1
2
# chown root: /etc/dovecot/passwd
# chmod 600 /etc/dovecot/passwd

Nous allons configurer Postfix et Dovecot pour qu’ils se lancent au démarrage du serveur via les commandes suivantes :

1
2
# systemctl enable postfix
# systemctl enable dovecot

Nous allons maintenant ajouter les règles « firewalld » pour autoriser les protocoles SMTP, POP3S et IMAPS via les commandes suivantes :

1
2
3
4
5
6
### Allows SMTP
# firewall-cmd --permanent --zone=public --add-service=smtp
### Allows POP3S
# firewall-cmd --permanent --zone=public --add-service=pop3s
### Allows IMAPS
# firewall-cmd --permanent --zone=public --add-service=imaps

Maintenant que les règles « firewalld » sont créés, il faut les activer. Pour cela, nous allons taper la commande suivante :

1
# firewall-cmd --reload

Pour ajouter une nouvelle adresse :

1
2
3
4
5
6
# vi /etc/postfix/vmail_mailbox

user1@mon-domaine.fr user1@mon-domaine.fr
 
# postmap /etc/postfix/vmail_mailbox
# service postfix restart

Pour ajouter un nouvel alias :

1
2
3
4
5
6
# vi /etc/postfix/vmail_aliases

user1@mon-domaine.fr user1@mon-domaine.fr
 
# postmap /etc/postfix/vmail_aliases
# service postfix restart

Pour ajouter un domaine :

1
2
3
4
5
6
# vi /etc/postfix/vmail_domains

mon-domaine1.fr OK
 
# postmap /etc/postfix/vmail_domains
# service postfix restart

Génération du hash du mot de passe et ajout de l’utilisateur:mot_de_passe dans le fichier « passwd » :

1
2
3
4
# doveadm pw -s sha1 | cut -d '}' -f2
# vi /etc/dovecot/passwd

user1@mon-domaine.fr:W6ph5Mm5Pz8GgiULbPgzG37mj9g=