Dovecot: Serveur IMAP

Transcription

Dovecot: Serveur IMAP
tontonserver
Dovecot: Serveur IMAP
1.
Installation de dovecot
Si votre distribution propose dovecot, installez-le avec votre
gestionnaire de paquetages. Vérifiez s'il supporte postgreSQL. Je l'ai
personnellement recompilé de cette manière:
./configure --with-pop3d --with-pgsql --with-gnu-ld
make
su
make
install
Les fichiers de configuration sont situés sous /usr/local/etc/ et
s'appellent dovecot*.conf
2.
Configuration de dovecot
Le fichier principal est très bien commenté. Attention, dans mon
cas (recompilation) la plupart des chemins de recherche des binaires contenus
dans le fichier sont faux. Par défaut, le fichier de configuration va chercher
les binaires sous /usr/libexec. Dans mon cas, ils sont sous /usr/local/libexec.
Assurez vous que les chemins correspondent. Je vais m'intéresser dans ce
chapitre uniquement à l'aspect POP et IMAP concernant postgreSQL.
Fichier /usr/local/etc/dovecot.conf:
(...)
# User database specifies where mails are located and
what user/group IDs
# own them.
auth_userdb = pgsql
/usr/local/etc/dovecot-pgsql-user.conf
# Password database specifies only the passwords for
users.
http://www.tontonserver.com
Propulsé par Joomla!
Généré: 18 February, 2017, 23:37
tontonserver
#
http://wiki.dovecot.org/Authentication
auth_passdb
= pgsql /usr/local/etc/dovecot-pgsql-pass.conf
(...)
§ Le fichier dovecot-pgsql-user.conf
Pour ceux qui ont utilisés la libpq-fe.h, les variables ont un air de déjà-vu.
Sinon, lire la documentation incluse avec dovecot, dovecot-pgsql.conf. Les
variables sont
§ %u pour l'email complet
§ %n pour la partie user de user@domain
§ %d pour la partie domain de user@domain
dovecot s'attend à recevoir en retour le chemin complet vers la
boîte sous le nom "mail", l'uid propriétaire des fichiers sous 'uid'
et le gid sous 'gid'.
connect =
host=127.0.0.1 dbname=vmail user=lecteur password=lire
user_query
= SELECT '/var/spool/vhosts/'||nom_domaine||'/'||nom_boite AS mail,5000 AS uid,
5000 AS gid FROM boites WHERE email = '%u'
§ Le fichier dovecot-pgsql-pass.conf
§
connect = host=127.0.0.1 dbname=vmail user=lecteur password=lire
§
default_pass_scheme = PLAIN
§
password_query = SELECT pw AS
password FROM boites WHERE email='%u'
Si vous modifiez un de ces deux fichiers, il faut redémarrer
http://www.tontonserver.com
Propulsé par Joomla!
Généré: 18 February, 2017, 23:37
tontonserver
dovecot pour qu'il le prenne en compte. Par défaut, il ne va pas les relire.
---FIXME---: la ligne connect= ne semble pas fonctionner (???) par contre, par
la socket, cela passe, avec connect = dbname=vmail user=lecteur. Curieux.
---FIXME---
Lancez dovecot. Ajustez le niveau de log jusqu'à obtenir un niveau
de verbosité suffisant. Il est possible d'utiliser /dev/stderr comme sortie de
logs. Voir le fichier de configuration de dovecot et sa documentation associée.
3.
Tests de la configuration
Dans le chapitre précédent, nous avons envoyé un mail à
l'utilisateur [email protected]. Le mot de passe associé dans la base était le
crypt de 'secret'. Vérifions le fonctionnement:
kevin@zipslack:~$
telnet localhost 110
Trying
127.0.0.1...
Connected
to localhost.
Escape
character is '^]'.
+OK dovecot
ready.
user
[email protected]
+OK
pass secret
+OK Logged
in.
list
+OK 1
messages:
1 428
http://www.tontonserver.com
Propulsé par Joomla!
Généré: 18 February, 2017, 23:37
tontonserver
.
quit
+OK Logging
out.
Connection
closed by foreign host.
Dovecot nous autorise bien a venir chercher le courrier
Envoyez maintenant un mail à l'utilisateur [email protected], par exemple
echo hello | mail -s "test" [email protected]
Puis testez de nouveau dovecot avec l'utilisateur [email protected] et le mot de
passe 'boum'.
kevin@zipslack:~$
telnet localhost 110
Trying
127.0.0.1...
Connected
to localhost.
Escape
character is '^]'.
+OK dovecot
ready.
user
[email protected]
+OK
pass boum
+OK Logged
in.
list
http://www.tontonserver.com
Propulsé par Joomla!
Généré: 18 February, 2017, 23:37
tontonserver
+OK 1
messages:
1 507
.
quit
+OK Logging
out.
Connection
closed by foreign host.
kevin@zipslack:~$
dovecot a lu dans la base de données le mot de passe. Il n'a pas
reconnu de cryptage (le pw ne commence pas par $1) et retombe en
authentification par défaut, c'est à dire PLAINTEXT.
4.
Remarques
§ Faites votre choix de cryptage par défaut
de mots de passe.
§ Si une boite mail est vide, dovecot
accepte le login, le pass, puis se déconnecte aussitôt. Cela peut être
surprenant. Il est donc conseillé à chaque création de boîte d'envoyer un mail
de bienvenue qui aura pour but réel de préparer l'arborescence de
l'utilisateur.
§ Vous pouvez dès à présent lancer un
client mail (mutt, thunderbird) et utiliser le serveur en POP ou en IMAP.
Dans tous ces
tests, j'ai souvent utilisé des valeurs par défaut. Faites attention en
adaptant à votre configuration.
Les fichiers dovecot-pgsql* contenant des mots de passe, il est conseillé de ne
pas les laisser en lecture à tout le monde.
Selon votre distribution, arrangez vous pour lancer à chaque démarrage le
serveur dovecot.
http://www.tontonserver.com
Propulsé par Joomla!
Généré: 18 February, 2017, 23:37
tontonserver
http://www.tontonserver.com
Propulsé par Joomla!
Généré: 18 February, 2017, 23:37