Voici un billet qui trainait depuis l'installation de ce serveur en juin dernier.
Le contexte : installation de qmailrocks
Qmailrocks n’est pas un logiciel à proprement parlé, mais plutôt un tutoriel afin de construire un serveur mail fonctionnel à base de Qmail.
Au menu de qmailrocks : un service POP (vpopmail), un service IMAP , des interfaces web d’administrations (vqadmin et QmailAdmin) etc…
Le soucis est que cette installation est "certifié" Debian 3 et donc comme on pouvait s'y attendre: avec Debian Etch ca ne marche pas à 100%.
Le problème
Tout c’est bien passé sauf pour l’IMAP. Plutôt qu’un long discours voyons le syslog :
authdaemond: stopping authdaemond children
authdaemond: modules="authvchkpw", daemons=5
authdaemond: Installing libauthvchkpw
authdaemond: libauthvchkpw.so: cannot open shared object file: No such file or directory
Le coupable : le package courier-authlib-chkpsswd qui n’existe pas sous Debian Etch.
Une première piste fut trouvé sur les forums de Qmailrocks, ici, mais le package a été construit pour une installation fonctionnant avec MySQL ce qui n'est pas mon cas et donc ca n'a pas marché.
La solution : reconstruire le package
Etape 1 : Télécharger les sources du package courier-authlib
apt-get source courier-authlib
Etape 2 : Changer la regle de compilation
Editer courier-authlib-0.58/debian/rules
Remplacer without-authvchkpw par with-authvchkpw
Etape 3 : Reconstruire le package
aptitude install fakeroot
dpkg-buildpackage -rfakeroot -us -uc
Un certain nombre de dépendances seront nécessaires, rien qu’un aptitude install ne puisse résoudre.
Etape 4 : Copie de la librairie
cp courier-authlib-0.58/debian/tmp/usr/lib/courier-authlib/libauthvchkpw.so.0.0.0 /usr/lib/courier-authlib/
Ne reste plus qu’a redémarrer les différents services ( imap, authdaemon, imap-ssl) et c’est fini.
Liens divers :