Maniatux's Blog

Welcome to the internet

NetBSD : Serveur IMAP

Rédigé par Xavier - -

Précédemment nous avons vu comment paramétrer un SMTP avec NetBSD et nous allons maintenant mettre en place un accès IMAP.

Cette fois-ci, ça n'est pas intégré d'office, il n'y a pas de daemon IMAP ou même POP sur NetBSD. Il va falloir en installer un depuis les "ports", ou les packages précompilés.

Installation depuis pkgsrc (compilation) - Non testé

Vous devez déjà avoir des outils de compilation et la liste des pkgsrc. Pour cela vous pouvez consulter cette page.

Ensuite, pour compiler dovecot, vous devez aller dans /usr/pkgsrc/mail/dovecot.

# cd /usr/pkgsrc/mail/dovecot2
# make
# make install
# make clean
# make clean-depends

Installation depuis les packages

Il faut configurer quelques variables du système pour indiquer à pkg_add où aller chercher ses paquets. La configuration est elle aussi décrite sur cette page.

# PATH="/usr/pkg/sbin:$PATH"
# PKG_PATH="ftp://ftp.NetBSD.org/pub/pkgsrc/packages/NetBSD/i386/5.1/All"
# export PATH PKG_PATH
# pkg_add dovecot

Il vous faudra juste modifier "i386" par "amd64" si besoin, ainsi que "5.1" par la version de votre NetBSD.

Configuration

Commencez par copier le script de lancement de dovecot qui est situé dans /usr/pkg/share/examples/rc.d et collez-le dans /etc/rc.d avec la commande:

# cp /usr/pkg/share/examples/rc.d/dovecot /etc/rc.d/

Pour en autoriser le lancement, ajoutez dovecot=YES dans le rc.conf.

# vi /etc/rc.conf
dovecot=YES

Nous allons ensuite configurer Dovecot pour qu'il fonctionne en IMAP+SSL et désactiver le reste. Ouvrez le fichier /usr/pkg/etc/dovecot/dovecot.conf:

# vi /usr/pkg/etc/dovecot/dovecot.conf

Trouvez la ligne suivante (au début) :

# Protocols we want to be serving.
protocols = imap pop3 lmtp

Et retirez tout pour ne laisser que imap. Il n'y a pas grand chose d'autre à paramétrer ici, le reste est réparti dans d'autres fichiers. Enregistrez et fermez. Entrez dans le répertoire /usr/pkg/etc/dovecot/conf.d et listez le contenu:

# cd /usr/pkg/etc/dovecot/conf.d/
# ls

Je trouve personnellement qu'on ne peut pas faire plus clair, on sait précisément quel fichier il faut modifier pour obtenir le fonctionnement désiré !

Dovecot est théoriquement fonctionnel. En pratique il ne l'est pas car il est configuré pour refuser les connexions non chiffrées (SSL). Et justement nous n'avons pas configuré le chiffrement. Donc deux solutions :

  • Soit utoriser les connexions non chiffrées, dans le fichier 10-auth.conf (disable_plaintext_auth = no) - fortement déconseillé
  • Soit continuer à lire ce tutoriel pour mettre en place le chiffrement.

OpenSSL est présent dans NetBSD et Dovecot fournit un fichier de configuration (.cnf) pour lui. Il est présent dans /usr/pkg/share/examples/dovecot/ et nous pouvons l'utiliser pour générer un certificat et une clé privée. Commencez par l'ouvrir pour effectuer quelques modifications:

# vi /usr/pkg/share/examples/dovecot/dovecot-openssl.cnf

Vous pouvez modifier les paramètres du certificat pour l'adapter à votre serveur/domaine. Par exemple le pays, le mail de contact, etc... mais c'est optionnel. Par contre modifiez la ligne encrypt_key = yes par encrypt_key = no sinon il vous demandera un mot de passe et cela ne semble pas nécessaire.

Nous pouvons ensuite générer le certificat et la clé privée:

# cd /root
# openssl req -new -x509 -nodes -config "/usr/pkg/share/examples/dovecot/dovecot-openssl.cnf" -out "src001cert.pem" -keyout "src001key.pem"
# mv src001cert.pem /etc/openssl/certs/
# mv src001key.pem /etc/openssl/private/

Maintenant ouvrez le fichier de configuration SSL de Dovecot situé dans /usr/pkg/etc/dovecot/conf.d :

# vi /usr/pkg/etc/dovecot/conf.d/10-ssl.conf

Les paramètres à modifier se situent au début et vous devez modifier/obtenir:

ssl = required
ssl_cert = </etc/openssl/certs/src001cert.pem
ssl_key = </etc/openssl/private/src001key.pem

Et oui, il faut mettre le caractère < sinon ça ne fonctionne pas, et vous serez bloqué comme moi pendant de longues minutes à essayer de re générer des certificats, modifier les permissions alors qu'il manque juste un caractère dans le fichier de config...

Maintenant, lancez dovecot:

# /etc/rc.d/dovecot start

Pour faire l'essai, utilisez un client mail comme Thunderbird depuis une autre machine. Vous devriez recevoir le certificat dès la connexion IMAP puis visualiser les mails de l'utilisateur en question !

Classé dans : Sysadmin - Mots clés : aucun