Serveur mail (Debian 7.6) 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
# apt-get install dovecot-imapd dovecot-pop3d

Configuration de Dovecot

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

1
# cp /etc/dovecot/dovecot.conf /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

Nous allons configurer Dovecot pour qu’il écoute en IPv4 et IPv6. Pour cela on décommente la ligne 26 :

1
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 /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 9 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 50 comme ci-dessous :

1
auth_username_format = %Ln@%d

On modifie la ligne 99 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 /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 /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 /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

On joute les lignes suivantes à la fin du fichier :

1
2
3
4
mail_access_groups = vmail
default_login_user = vmail
first_valid_uid = 2222
first_valid_gid = 2222

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

1
# cp /etc/dovecot/conf.d/10-master.conf /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
6
7
unix_listener auth-client {
  mode = 0660
  user = postfix
  group = postfix
}

user = root

On décommente et on modifie les lignes 105 à 107 comme suit :

1
2
3
4
5
unix_listener = /var/spool/postfix/private/auth {
  mode = 0666
  user = postfix
  group = postfix
}

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

1
# cp /etc/dovecot/conf.d/10-ssl.conf /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 décommente la ligne 6 et on la modifie 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 /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 16 :

1
mail_plugins = $mail_plugins

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

1
# cp /etc/dovecot/conf.d/20-pop3.conf /etc/dovecot/conf.d/20-pop3.conf.ori

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

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

On décommente la ligne 80 :

1
mail_plugins = $mail_plugins

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

1
# mv /etc/dovecot/conf.d/90-acl.conf /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 /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 commente les lignes 10, 11, 15, 49, 51, 57 :

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
Ligne 10
#passdb { 
  Ligne 11
  #driver = pam 
Ligne 15
#}
Ligne 49
#userdb {
  Ligne 51
  #driver = passwd
Ligne 57
#}

On indique à Dovecot les nouveaux paramètres d’authentification en ajoutant les lignes suivantes à la fin du fichier :

1
2
3
4
5
6
7
8
passdb {
  driver = passwd-file
  args = scheme=SHA1 /etc/dovecot/passwd
}
userdb {
  driver = static
  args = uid=2222 gid=2222 home=/var/vmail/%d/%n allow_all_users=yes
}

On créer le répertoire qui contiendra les logs ainsi que le fichier de log de Dovecot via les commandes suivantes :

1
2
# mkdir /var/log/dovecot/
# touch /var/log/dovecot/dovecot.log

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

1
# service dovecot restart

Le premier démarrage générer un message d’erreur indiquant qu’il va fixer les droits de « /var/run/dovecot ». Le second démarrage ne doit entraîner aucune erreur. On redémarre Postfix pour prendre en compte les modifications, via la commande suivante :

1
# service postfix restart

Dans un premier temps nous générer un mot de passe (ici 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
# touch /etc/dovecot/passwd

Ensuite édite le fichier qui contiendra 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

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=