Installer Dovecot
Auteur : Olivier BOYER - oboyer () ajoute ! org
Mots clés
OpenBSD, dovecot, imap, imaps, pop3, pop3s
Introduction
Page du projet : http://dovecot.org/
Dovecot est un serveur IMAP et POP3 libre, pour les systèmes Unix-like, développé pour être sécurisé.
Le produit va être installé via les ports.
Présentation de la maquette
Les éléments suivants sont mis en oeuvre :
- Un système OpenBSD 3.8
- Un serveur imap(s) et pop3(s)
- Le serveur se nomme
imap.leaves.org
Note
Toutes les commandes présentées ici, sont à exécuter, sauf mention contraire, en tant qu'administrateur de la machine.
Pré-requis
Ce document considère que le système OpenBSD est installé, fonctionnel et que l'arborescence des ports est présente dans /usr/ports.
Installer Dovecot
Pour installer le produit, exécutez les commandes suivantes :
# cd /usr/ports/mail/dovecot # make install clean clean=depends
A la fin de l'installation, le message suivant s'affiche :
Files to facilitate the generation of a self-signed
certificate and key for Dovecot have been installed:
/etc/ssl/dovecot-openssl.cnf (Edit this accordingly!)
/usr/local/sbin/dovecot-mkcert.sh
If this has been or will be accomplished by other means,
use the following paths for the files:
/etc/ssl/dovecotcert.pem
/etc/ssl/private/dovecot.pem
If you wish to have Dovecot started automatically at boot time,
simply add the follow lines to /etc/rc.local:
if [ -x /usr/local/sbin/dovecot ]; then
echo -n ' dovecot'; /usr/local/sbin/dovecot
fi
Un nouvel utilisateur _dovecot et un nouveau groupe _dovecot sont créés automatiquement. Le serveur dovecot s'exécutera sous l'identité de l'utilisateur _dovecot:_dovecot.
Configurer dovecot
Editer le fichier /etc/dovecot.conf
[Mettre un exemple de fichier de conf]
Configurer le support SSL
dovecot est fourni avec un script shell qui crée automatiquement les certificats et les copie au bon endroit. Ce script est : /usr/local/sbin/dovecot-mkcert.sh
Script dovecot-mkcert.sh
Modifier comme suit le script dovecot-mkcert.sh
#!/bin/sh
# Generates a self-signed certificate.
# Edit dovecot-openssl.cnf before running this.
OPENSSL=${OPENSSL-openssl}
SSLDIR=${SSLDIR-/etc/ssl}
OPENSSLCONFIG=${OPENSSLCONFIG-${SSLDIR}/dovecot-openssl.cnf}
CERTFILE=$SSLDIR/dovecotcert.pem
KEYFILE=$SSLDIR/private/dovecot.pem
#if [ ! -d $SSLDIR/certs ]; then
# echo "$SSLDIR/certs directory doesn't exist"
#fi
if [ ! -d $SSLDIR/private ]; then
echo "$SSLDIR/private directory doesn't exist"
fi
if [ -f $CERTFILE ]; then
echo "$CERTFILE already exists, won't overwrite"
exit 1
fi
if [ -f $KEYFILE ]; then
echo "$KEYFILE already exists, won't overwrite"
exit 1
fi
$OPENSSL req -new -x509 -nodes -config $OPENSSLCONFIG -out $CERTFILE -keyout
$KEYFILE -days 365 || exit 2
chmod 0600 $KEYFILE
echo
$OPENSSL x509 -subject -fingerprint -noout -in $CERTFILE || exit 2
Fichier de configuration du script
Pour générer les certificats d'authentification le script dovecot-mkcert.sh obtient ses paramètres du fichier de configuration /etc/ssl/dovecot-openssl.cnf. Le fichier livré par défaut doit être modifié pour refléter chaque installation.
Avant toute modification, sauvegardez le fichier original :
# cp /etc/ssl/dovecot-openssl.cnf /etc/ssl/dovecot-openssl.cnf.orig
Voici un exemple de configuration :
[ req ] default_bits = 1024 encrypt_key = yes distinguished_name = req_dn x509_extensions = cert_type prompt = no [ req_dn ] # country (2 letter code) C=FR # State or Province Name (full name) ST=Haute-Garonne # Locality Name (eg. city) L=Toulouse # Organization (eg. company) O=Leaves Networks Ltd # Organizational Unit Name (eg. section) OU=IMAP server # Common Name (*.example.com is also possible) CN=imap.leaves.org # E-mail contact emailAddress=postmaster@leaves.org [ cert_type ] nsCertType = server #EOF
Générer les certificats
Maintenant que le script dovecot-mkcert.sh et son fichier de configuration ont été personnalisé, il faut générer les certificats. Procédez comme suit :
# /usr/local/sbin/dovecot-mkcert.sh
Ce script crée les fichiers suivants :
/etc/ssl/dovecotcert.pem /etc/ssl/private/dovecot.pem
Lancer dovecot au démarrage
Modifiez comme suit le fichier /etc/rc.conf.local :
dovecot=YES
Puis, ajoutez les lignes ci-dessous au fichier /etc/rc.local :
if [ -x /usr/local/sbin/dovecot ]; then
echo -n ' dovecot'; /usr/local/sbin/dovecot
fi