Contenu

Serveur mail (CentOS 6.5) 6/6 : Installation et configuration de Sieve

Contenu

Sieve est un langage de filtrage des mails. Pour activer ManageSieve dans Dovecot, nous devons installer le package dovecot-pigeonhole, via la commande suivante :

1
# yum install dovecot-pigeonhole

Nous allons maintenant ajouter la gestion de Sieve dans le fichier de configuration de Dovecot. Pour cela, nous allons éditer le fichier de configuration de Dovecot « dovecot.conf », via la commande suivante :

1
# vi /etc/dovecot/dovecot.conf

On modifie la ligne 20 comme suit :

1
protocols = imap pop3 sieve

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

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

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

1
2
3
4
5
unix_listener auth-master {
  mode = 0660
  user = vmail
  group = vmail
}

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

1
# cp /etc/dovecot/conf.d/15-lda.conf /etc/dovecot/conf.d/15-lda.conf.ori

On édite le fichier de configuration « 15-lda.conf » via la commande suivante :

1
# vi /etc/dovecot/conf.d/15-lda.conf

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

1
postmaster_address = postmaster@mon-domaine.fr

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

1
lda_mailbox_autocreate = yes

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

1
lda_mailbox_autosubscribe = yes

On décommente les lignes 42, 44 et 45 et modifie la ligne 44 comme suit :

1
mail_plugins = $mail_plugins sieve

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

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

Nous allons activer la prise en charge de Sieve et modifier les chemins des fichiers de logs de Sieve. Pour cela, on édite le fichier de configuration « 20-managesieve.conf » via la commande suivante :

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

On décommente les lignes 6, 11, 12, 13, 22, 42 et 60
On ajoute les lignes suivantes après la ligne 74 :

1
2
log_path = /var/log/dovecot/dovecot-sieve-errors.log
info_log_path = /var/log/dovecot/dovecot-sieve.log

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

1
# cp /etc/dovecot/conf.d/90-sieve.conf /etc/dovecot/conf.d/90-sieve.conf.ori

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

1
sieve_global_path = /etc/dovecot/sieve/global/default.sieve

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

1
sieve_global_dir = /etc/dovecot/sieve/global/

Nous allons créer les fichiers de logs, via les commandes suivantes :

1
2
3
4
5
6
# touch /var/log/dovecot/dovecot-lda.log
# touch /var/log/dovecot/dovecot-lda-errors.log
# touch /var/log/dovecot/dovecot-sieve.log
# touch /var/log/dovecot/dovecot-sieve-errors.log
# touch /var/log/dovecot/dovecot-lmtp.log
# touch /var/log/dovecot/dovecot-lmtp-errors.log

Nous allons créer les répertoires pour le plugin « sieve » dans Dovecot :

1
# mkdir -p /etc/dovecot/sieve/global

Nous allons vérifier que « sieve » est bien prise en compte dans Dovecot via la commande suivante :

1
# netstat -tunlp | grep :4190

Voilà ce que doit retourner la commande :

1
tcp 0 0 0.0.0.0:4190 0.0.0.0:* LISTEN 1606/dovecot

Maintenant nous allons modifier la configuration de Postfix pour prendre en compte sieve. Pour cela, on édite le fichier « main.cf » via la commande suivante :

1
# vi /etc/postfix/main.cf

On modifie la ligne 684 comme suit :

1
virtual_transport = dovecot

On ajoute la ligne suivante à la fin du fichier :

1
dovecot_destination_recipient_limit = 1

Nous devons aussi modifier le fichier de configuration « master.cf ». On l’édite via la commande suivante :

1
# vi /etc/postfix/master.cf

On ajoute les lignes suivantes à la fin du fichier :

1
2
dovecot unix - n n - - pipe
  flags=DRhu user=vmail:vmail argv=/usr/libexec/dovecot/deliver -f ${sender} -d ${recipient}

Nous allons redémarrer Postfix pour prendre les modifications, via la commande suivante :

1
# service postfix restart

Maintenant que Sieve est configuré coté serveur, nous allons active le plugin dans Roundcube. Pour cela nous allons éditer le fichier « config.inc.php » via la commande suivante :

1
# vi /var/www/html/roundcube/config/config.inc.php

On modifie la ligne 68 comme suit :

1
$config['plugins'] = array('managesieve');

Nous allons activer le fichier de configuration du plugin Siege via la commande suivante :

1
# cp /var/www/html/roundcube/plugins/managesieve/config.inc.php.dist /var/www/html/roundcube/plugins/managesieve/config.inc.php

Nous allons éditer le fichier de configuration du plugin Sieve, via la commande suivante :

1
# vi /var/www/html/roundcube/plugins/managesieve/config.inc.php

On modifie la ligne 5 comme suit :

1
$config['managesieve_port'] = 4190;

Nous allons maintenant créer un filtre Sieve. Pour cela nous allons créé un répertoire « sieve » qui contiendra le fichier dans lequel sera stocké les règles de filtrages. Pour ceal nous allons taper la commande suivante :

1
# mkdir /var/vmail/mon-domaine.fr/user/sieve

Nous allons créé le fichier qui contiendra les règles de filtrage, lui appliquer les bons droits, modifier le propriétaire, ainsi que le contexte SELinux, via les commandes suivantes :

1
2
3
4
# touch /var/vmail/mon-domaine.fr/user/sieve/filtres.sieve
# chmod 0600 /var/vmail/mon-domaine.fr/user/sieve/filtres.sieve
# chown vmail:vmail /var/vmail/mon-domaine.fr/user/sieve/filtres.sieve
# chcon -u unconfined_u /var/vmail/mon-domaine.fr/user/sieve/filtres.sieve

Maintenant, il ne reste plus qu’a activer les filtres dans Roundcube. Pour cela, on se connecte à Roundcube (https://www.mon-domaine.fr) , on va dans les paramètres. On clique sur Filtres dans la colonne Paramètres, on clique sur la roue cranté puis sur Activer/Désactiver