Serveur mail (Debian 6.6) 2/5 : 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 n’écoute qu’en IPv4. Pour cela on décommente la ligne 47 :

1
listen = *

On décommente et on modifie la ligne 53 :

1
disable_plaintext_auth = no

Nous allons modifier le chemin et le nom des fichiers de log de Dovecot. Pour cela, on décommente la ligne 69 et on la modifie comme suit pour modifier le chemin du fichier de log de Dovecot :

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

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

1
login_processes_count = 1

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, on décommente la ligne 231 et on la modifie comme suit :

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

On modifie la ligne 312 comme suit :

1
mail_privileged_group = vmail

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

1
mail_access_groups = vmail

On décommente et on modifie la ligne 385 et 386 comme suit :

1
2
first_valid_uid = 2222
last_valid_uid = 2222

On décommente et on modifie la ligne 392 et 393 comme suit :

1
2
first_valid_gid = 2222
last_valid_gid = 2222

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 841 comme suit :

1
auth_username_format = %Ln@%d

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

1
auth_verbose = yes

On modifie la ligne 893 comme suit :

1
mechanisms = plain login

Nous allons activer l’authentification via un fichier « Base de données ». Pour cela, nous devons décommenter les lignes 914, 916, et 918 et les modifier comme suit :

1
2
3
4
5
passdb passwd-file {
      File contains a list of usernames, one per line
      args = scheme=SHA1 /etc/dovecot/passwd
      deny = yes
}

On décommente les ligne 1063, 1076 et 1077 et on les modifie comme suit :

1
2
3
userdb static {
      args = uid=2222 gid=2222 home=/var/vmail/%d/%n
}

On décommente les lignes 1120, 1121, 1125, 1126, 1128, 1129, 1130 et on les modifie comme suit :

1
2
3
4
5
6
7
socket listen {
master {
      path = /var/run/dovecot/auth-master
      mode = 0600
      user = vmail
      group = vmail
}

On décommente les lignes 1131, 1135, 1136, 1137, 1138 et on les modifie comme suit :

1
2
3
4
5
6
7
client {
      path = /var/spool/postfix/private/auth
      mode = 0660
      user = postfix
      group = postfix
}
}

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
# /etc/init.d/dovecot restart

Dans un premier temps nous allons générer un mot de passe (password) SHA1 via 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 les droits du fichier « passwd » pour ne le rendre accessible qu’a l’utilisateur « root ». Pour cela nous tapons la commande suivante :

1
# chmod 600 /etc/dovecot/passwd

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

1
# /etc/init.d/postfix restart

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
# /etc/init.d/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
# /etc/init.d/postfix restart

Pour ajouter un domaine :

1
2
3
4
5
# vi /etc/postfix/vmail_domains
...
mon-domaine2.fr OK
# postmap /etc/postfix/vmail_domains
# /etc/init.d/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
# vim /etc/dovecot/passwd
...
user1@mon-domaine.fr:W6ph5Mm5Pz8GgiULbPgzG37mj9g=