Outils pour utilisateurs

Outils du site


braveo:docinstallsieve

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

braveo:docinstallsieve [2016/07/19 15:36] (Version actuelle)
Ligne 1: Ligne 1:
 +====== Sieve ======
 +===== Introduction =====
 +Les règles sieves permettent une gestion des mails sur le serveur. C'est à dire que le tri des messages est exécuté sur le serveur par le serveur . Ce qui permet d'​établir des règles de message sur un webmail ...
 +Exemple de type de règle :
 + tu viens de la mailing maison du libre , je te déplace dans la poub...heu dans le dossier prévu a cet effet e
  
 +===== Prerequis ​ =====
 +avoir installé les services postfix,​ldap,​ dovecot, roundcube ...etc selon les pages du wiki  ​
 +En bref c'est d'​avoir suivi toute ces doc
 +
 +  * [[Braveo:​DocInstallSrvLDAP| Installation du Serveur LDAP]]
 +  * [[Braveo:​DocInstallSrvPOSTFIX| Installation des Serveurs MAILS ]]
 +  * [[Braveo:​DocInstallFonctionnement| Comment marche, LDAP avec PostFix et Dovecot?]]
 +  * [[Braveo:​DocInstallRoundcube_lenny| Installation du webmail (RoundCube) sous Debian Lenny]]
 +  * [[Braveo:​DocInstallClamav| Installation de Clamav/​Spamassassin/​Amavis sur le serveur mail]]
 +
 +===== Mise à jour de dovecot =====
 +Nous allons activer les dépots backports pour installer la dernière version de dovecot. Son moteur de gestions sieve a été entierement revu.
 +
 +Ajout du dépôt backports dans /​etc/​apt/​sources.list
 +  vi /​etc/​apt/​sources.list
 +
 +Et ajouter la ligne
 +  deb http://​backports.debian.org/​debian-backports lenny-backports main contrib non-free
 +Ensuite on crée le fichier /​etc/​apt/​preferences pour que le système installe le dovecot du backports par défaut.
 +  vi /​etc/​apt/​preferences
 +
 +et lui mettre
 +  # APT PINNING PREFERENCES
 +  Package: dovecot-common
 +  Pin: release a=lenny-backports
 +  Pin-Priority:​ 999
 +  ​
 +  Package: dovecot-pop3d
 +  Pin: release a=lenny-backports
 +  Pin-Priority:​ 999
 +  ​
 +  Package: dovecot-imapd
 +  Pin: release a=lenny-backports
 +  Pin-Priority:​ 999
 +           
 +
 +===== Le deliver dovecot =====
 +
 +C'est dovecot qui gère les règles sieve et exécute ces règles. ​
 +il faut donc que le depot du mail passe par dovecot. C'est donc le deliver de dovecot qu'il faut  utiliser. ​
 +
 +
 +nous allons éditer le main.cf ​
 +  vi /​etc/​postfix/​main.cf
 +et ajouter ​
 +  # Dovecot LDA
 +  virtual_transport = dovecot
 +  dovecot_destination_recipient_limit = 1
 +  ​
 +  mailbox_command = /​usr/​lib/​dovecot/​deliver
 +
 +ensuite dans le fichier master.cf
 +  vi /​etc/​postfix/​master.cf
 +ajoutez ​
 +  # Dovecot LDA
 +  dovecot ​   unix  -       ​n ​      ​n ​      ​- ​      ​- ​      pipe
 +     ​flags=DRhu user=utilisateurmail:​utilisateurmail argv=/​usr/​lib/​dovecot/​deliver -d $recipient
 +
 +Puis on modifie le dovecot.conf pour paramétrer le LDA (le deliver dovecot) ​
 +nous allons en profiter pour modifier la structure du répertoire /​var/​mail/​uid. pour que ca deviennent /​var/​mail/​[trois premières lettres de l'​uid]/​l'​uid
 +
 +de cette configuration nous en retirons au moins deux bénéfices. nous serons sur d'​utiliser le LDA dovecot. Ainsi si jamais les règles sieves ne fonctionne pas, nous serons sur que le pb ne vient pas de la non utilisation de dovecot pour la délivrance des mails. ​
 +
 +cela apporte aussi une stabilité au niveau des perf. mettre toutes les boites mails dans un même répertoire,​ les perfs du système de fichier diminueront au fur et à mesure que le nombre d'​utilisateur augmentera. ​
 +
 +donc on édite le fichier /​etc/​dovecot/​dovecot.conf
 +  vi /​etc/​dovecot/​dovecot.conf
 +et ajoute les lignes ci dessous(du a l'​installation de dovecot backports) ​
 +  mail_uid= 2009
 +  mail_gid= 2009
 +
 +on modifie la ligne 
 +  mail_location = maildir:/​var/​mai/​%n
 +en 
 +  mail_location = maildir:/​var/​mail/​%3n/​%n
 +
 +on ajoute le bloc ci dessous
 +  protocol lda {
 +        postmaster_address = postmaster
 +        auth_socket_path = /​var/​run/​dovecot/​auth-master
 +        #log_path = /​var/​log/​dovecot-local-deliver.log
 +        #​info_log_path = /​var/​log/​dovecot-local-deliver.log
 +  }
 +juste apres le bloc 
 +  passdb ldap {
 +        args = /​etc/​dovecot/​dovecot-passdb-ldap.conf
 +  }
 +on insere le bloc
 +  userdb ldap {
 +        args = /​etc/​dovecot/​dovecot-userdb-ldap.conf
 +  }
 +et on vérifie le bloc master pour qu'il soit identique que le bloc lda 
 +  master { 
 +        # doit etre identique que pour le lda 
 +        path = /​var/​run/​dovecot/​auth-master ​
 +        mode = 0666 
 +   }
 +
 +
 +et enfin on crée le fichier /​etc/​dovecot/​dovecot-userdb-ldap.conf
 +  vi /​etc/​dovecot/​dovecot-userdb-ldap.conf
 +on on insère dedans ​
 +  hosts = ldap.mdl29
 +  default_pass_scheme = PLAIN
 +  auth_bind = yes
 +  ldap_version = 3
 +  base = dc=mdl29,​dc=net
 +  deref = never
 +  scope = subtree
 +  user_attrs = uid=user
 +  user_filter = (&​(|(mail=%u)(uid=%u))(mailhost=mail.mdl29.net))
 +
 +On redemarre postfix , dovecot ​
 +  /​etc/​init.d/​postfix restart
 +  /​etc/​init.d/​dovecot restart
 +
 +et on envoi un mail pour voir si tout fonctionne , pour voir si le LDA dépose ​ bien dans /​var/​mail/​[3 lettre UID]/uid .
 +si ce n'est pas le cas alors la doc est mal faite il faut la corriger ​
 +
 +si c'est le cas on continue
 +
 +  ​
 +
 +===== Activation de sieve dans dovecot =====
 +bien maintenant que le LDA fonctionne nous allons pouvoir activer les règles sieves
 +pour ce faire on édite dovecot.conf ​
 +  vi /​etc/​dovecot/​dovecot.conf
 +
 +et dans le bloc LDA on insère la ligne 
 +  mail_plugins = sieve
 +ce qui nous donne 
 +  protocol lda {
 +        postmaster_address = postmaster
 +        auth_socket_path = /​var/​run/​dovecot/​auth-master
 +        mail_plugins = sieve
 +        #log_path = /​var/​log/​dovecot-local-deliver.log
 +        #​info_log_path = /​var/​log/​dovecot-local-deliver.log
 +  }
 +et en dessous de ce bloc on ajoute le bloc ci dessous ​
 + 
 +  plugin {
 +  sieve = /​var/​sieve-scripts/​%3u/​%u/​perso.sieve
 +  sieve_dir = /​var/​sieve-scripts/​%3u/​%u
 +  }
 +on redémarre dovecot ​
 +  /​etc/​init.d/​dovecot restart
 +
 +maintenant on peut créer une règle sieve a la main pour tester si sieve fonctionne  ​
 +donc nous créeons le fichier /​var/​sieve-scripts/​%3u/​%u/​perso.sieve ​
 +  vi /​var/​sieve-scripts/​%3u/​%u/​perso.sieve
 +et lui mettre dedans ​
 +
 +  require ["​fileinto"​];​
 +  # rule:[ma petite regle]
 +  if anyof (header :contains "​From"​ "​maison-du-libre@mdl29.net"​)
 +  {
 +        fileinto "​trash";​
 +        stop;
 +  }
 +Bien entendu vous pouvez modifier le from et le fileto (ici trash) qui doit être un répertoire qui existe ​
 +si tout marche bien les messages from maison-du-libre@mdl29.net devrait atterrir dans trash (la corbeille)
 +
 +
 +
 +===== activation du protocole manage sieve =====
 +
 +bon créer les scripts à la main c'est gentil mais ce n'est pas très très userfriendly. ​
 +Il existe un protocole sieve qui permet a n'​importe quel client (sieve) de générer les scripts sieves.
 +on va activer le daemon ​
 +dans /​etc/​dovcote/​dovecot.conf ​
 +on modifie la ligne 
 +  protocols =imap pop3
 +pour qu'​elle ressemble a cela 
 +  protocols =imap pop3 managesieve
 +
 +et on ajoute le bloc 
 +
 +  protocol managesieve {
 +   # Specify an alternative address:​port the daemon must listen on
 +   # (default: *:2000)
 +   ​listen = *:2000
 +   ​mail_debug=yes
 +   ​managesieve_logout_format = bytes ( in=%i : out=%o )
 +   ​mail_executable =/​usr/​lib/​dovecot/​managesieve
 +   ​login_executable = /​usr/​lib/​dovecot/​managesieve-login
 +  }
 +on referme ​
 +on restart dovecot ​
 +  /​etc/​init.d/​dovecot restart
 +on vérifie qu'il y a bien un processus managesieve-login
 +
 +et on peut installer le plugin manage sieve dans roundcube ​
 +
 +  ​
 +
 +===== installation du plugin manage sieve dans rouncube =====
 +
 +Le plugin sieve de roundcube est déjà installé (il est compris dans rouncube en fait), il suffit de l'​activer.
 +Pour cela, il suffit de modifier le fichier de configuration de roundcube (le main.inc.php).
 +et d'​ajouter le plugin.
 +  // List of active plugins (in plugins/ directory)
 +  $rcmail_config['​plugins'​] = array('​managesieve'​);​
 +
 +voilà.
braveo/docinstallsieve.txt · Dernière modification: 2016/07/19 15:36 (modification externe)