Je suis en train de re installer un serveur à la maison pour pouvoir migré en douceur ma vieillissante machine sous Debian 5. J’ai choisi une Ubuntu 9.10 édition serveur. Ce billet va traité la partie messagerie du serveur plus précisément de Dovecot qui va permettre interroger le serveur en POP et IMAP. Il fait suite à :
- Installation d’un serveur Ubuntu #1 ou je traitais des services Web.
- Installation d’un serveur Ubuntu #2 ou je traitais de la partie messagerie.
Installation de Dovecot
sudo apt-get install dovecot-common dovecot-imapd dovecot-pop3d
Configuration
Connexion Mysql Nous allons connecter Dovecot à la base mysql des comptes créer dans cet article. Cela permettra d’identifier les utilisateurs. Cette configuration se passe dans le fichier : /etc/dovecot/dovecot-sql.conf``` # Database driver: mysql, pgsql, sqlite driver = mysql connect = host=127.0.0.1 dbname=postfix user=a_username password=a_password
Mes mots de passes sont entrées avec la fonction ENCRYPT de MySQL
Il faut donc utiliser CRYPT en default_pass_scheme
default_pass_scheme = CRYPT
Requête pour vérifier le mot de passe
password_query = \
SELECT email, password \
FROM mailbox WHERE email = ‘%u’
#Requête pour vérifier l’utilisateur
user_query = \
SELECT CONCAT('/var/spool/vmail/',SUBSTRING_INDEX(email,'@',-1),'/',SUBSTRING_INDEX(email,'@',1)) as home, 5000 as uid, 5000 as gid \
FROM mailbox WHERE email = ‘%u’
La suite de la configuration se passe dans le fichier **/etc/dovecot/dovecot.conf**
# Permet d’utiliser les mots de passes en clair sans être en SSL (Je sais c’est pas “secure” mais je modifierai ca ensuite)
disable_plaintext_auth = no
Je stocke mes mails dans/var/spool/vmail/domaine/début_de_l’adresse (/var/spool/vmail/test.com/test pour [email protected])
mail_location = /var/spool/vmail/%d/%n
Le propriétaire du dossier est vmail:vmail avec UID=5000 et GID=5000
mail_uid = 5000 mail_gid = 5000 mail_privileged_group = vmail
auth default { mechanisms = plain
SQL database <doc/wiki/AuthDatabase.SQL.txt>
passdb sql { # Path for SQL configuration file args = /etc/dovecot/dovecot-sql.conf }
SQL database <doc/wiki/AuthDatabase.SQL.txt>
userdb sql { # Path for SQL configuration file args = /etc/dovecot/dovecot-sql.conf }
User to use for the process. This user needs access to only user and
password databases, nothing else. Only shadow and pam authentication
requires roots, so use something else if possible. Note that passwd
authentication with BSDs internally accesses shadow files, which also
requires roots. Note that this user is NOT used to access mails.
That user is specified by userdb above.
user = root }