Mise en garde en cas de mise à jour courier-authlib avec IMAP sur OVH-R2
Pour la petite histoire, je vais quand même raconter comment faire pour remettre courier-authlib-0.58 sans ebuild puisqu'il ne marche pas sur Gentoo OVH 2. Ça servira pitêtre à quelqu'un. La pratique est un peu barbare. Mais elle fonctionne. Elle constite principalement à copier directement certains fichiers à partir d'une release clean. Mais avant, il faut désinstaller courier-authlib : "emerge --unmerge courier-authlib".
Pour avoir une liste plus complète, vous tapez "locate courier-authlib" sur le serveur ayant la version courier-authlib-0.58. Il y aura alors juste trois fichiers et un lien manquants dans la liste.
En attendant, dans l'urgence, voici ce qui devrait suffir :
/etc/courier/authlib/authdaemonrc
/etc/init.d/courier-authlib
/etc/init.d/courier-imapd
/usr/lib64/courier-authlib (dossier)
/usr/lib64/courier/courier-authlib (dossier)
/usr/sbin/courierlogger
/var/lib/init.d/started/courier-authlib
Puis, il faut recréer deux liens symboliques :
sf /etc/init.d/courier-authlib /var/lib/init.d/started/courier-authlib
sf /etc/init.d/courier-imapd /var/lib/init.d/started/courier-imapd
Enfin, il n'y aura plus qu'à démarrer :
/etc/init.d/courier-authlib start
/etc/init.d/courier-imapd start
Voilà, j'espère ne rien avoir oublié.
Ça marche aussi en cas qu'un "emerge --update courier-imapd".
Envoyé par
tarak
Merci ca marche.... Mais, je n'ai toujours pas trouvé comment générer le authmysql.so !!! c'est ca qui me bloquait dès le début...
ce que j'ai essayé:
modifier l'ebuild du 0.58 en ajoutant dans la conf authmysql en option => rien
fait la meme manip que diji ai dit avec authmysql en option ==> rien !
Tu as réussi à résoudre ça ? J'ai le même problème.
Quelqu'un aurait svp le bon courier-authlib-0.58.ebuild ?
Bonjours, en fait voila, j'ai un petit soucis bizare. chaque jours pratiquement, j'ai (lors des authentifications sur roundcube en imap) dans mes logs, l'erreur:
Citation:
vmysql: sql error[3]: MySQL server has gone away
et donc, après un:
Citation:
/etc/init.d/courier-authlib restart
Tout refonctionne normalement. Mais le lendemain, je retrouve la même erreur ca devien embèttant... Par contre en pop3 pas de soucis !!
Merci ca marche.... Mais, je n'ai toujours pas trouvé comment générer le authmysql.so !!! c'est ca qui me bloquait dès le début...
ce que j'ai essayé:
modifier l'ebuild du 0.58 en ajoutant dans la conf authmysql en option => rien
fait la meme manip que diji ai dit avec authmysql en option ==> rien !
Geoffroy
18/03/2009, 22h05
Code:
mkdir -p /usr/portage/local/tarak/
cd /usr/portage/local/tarak/
wget http://demo.ovh.com/download/0837df37ad168c1bf17276b96f80dbbf/courierAuthlib.tar.gz
tar -xvzf courierAuthlib.tar.gz
rm -f courierAuthlib.tar.gz
echo 'PORTDIR_OVERLAY="$PORTDIR_OVERLAY /usr/portage/local/tarak/"' >> /etc/make.conf
echo ">net-libs/courier-authlib-0.58" >> /etc/portage/package.mask
emerge --ask --verbose courier-authlib
Geoffroy
18/03/2009, 21h23
J'allais le dire. Je termine cette histoire de 0.58 ce soir si j'ai le temps.
Ok, le problème de Maildir ce règle comme ça :
Dans /etc/courier-imap/imapd
Code:
MAILDIR=Maildir
MAILDIRPATH=homedir
puis restart imapd.
Non, mais j'ai dit que j'avais réussi a recompiler authlib, avec ces options
Code:
./configure --prefix=/usr/local --exec-prefix=/usr/local --with-authvchkpw --without-authldap \
--without-authmysql --disable-root-check --with-ssl --with-authchangepwdir=/usr/local/libexec/authlib
qui sont sur le lien d'origine de diji.
Le seul soucis que j'ai maintenant, c'est que quand je me log en IMAP, j'ai ça :
Code:
* BYE [ALERT] Fatal error: .maildir: No such file or directory
Connection closed by foreign host.
mwè... Tas raison, zoré pa du jouer avec la release ! mais bon, pour ton pas a pas,
C'est louche, ca me fait:
localhost courier-authlib # ebuild courier-authlib-0.58.ebuild digest
Appending /usr/portage/local/tarak to PORTDIR_OVERLAY...
/usr/portage/local/tarak/net-libs/courier-authlib/courier-authlib-0.58.ebuild: l: command not found
/usr/portage/local/tarak/net-libs/courier-authlib/courier-authlib-0.58.ebuild: l: command not found
*
* ERROR: net-libs/courier-authlib-0.58 failed.
* Call stack:
* ebuild.sh, line 1867: Called source '/usr/portage/local/tarak/net-libs/courier-authlib/courier-authlib-0.58.ebuild'
* courier-authlib-0.58.ebuild, line 8: Called inherit 'eutils' 'flag-o-ma'ic' 'autotools
* ebuild.sh, line 1201: Called die
* The specific snippet of code:
* [ ! -e "$location" ] && die "${1}.eclass could not be found by inherit()"
* The die message:
.eclass could not be found by inherit()
*
* If you need support, post the topmost build error, and the call stack if relevant.
* This ebuild is from an overlay: '/usr/portage/local/tarak/'
Geoffroy
18/03/2009, 17h10
Envoyé par
tarak
il faut la version 0.55 ! et portage est a 0.60
Autant pour moi, j'avais gardé la bonne version dans un overlay local.
Bon bon bon. J'ai bien envie de vous dire :"Ca vous apprendra à jouer avec la Release", mais a priori ça ne vous aidera pas trop.
Donc :
Code:
mkdir -p /usr/portage/local/tarak/net-libs/courier-authlib/
cd /usr/portage/local/tarak/net-libs/courier-authlib/
wget http://pastebin.com/pastebin.php?dl=f4f586caf -O courier-authlib-0.58.ebuild
ebuild courier-authlib-0.58.ebuild digest
echo '$PORTDIR_OVERLAY="$PORTDIR_OVERLAY /usr/portage/local/tarak/"' >> /etc/make.conf
echo ">net-libs/courier-authlib-0.58" >> /etc/portage/package.mask
emerge --ask --verbose courier-authlib
Avec un peu de bol, je n'ai pas écrit de bêtise et ça suffira.
Enjoy.
edit : et bien non, ça ne suffira pas. L'ebuild a besoin d'un patch que je n'ai pas gardé. Il faudrait aller fouiller dans un snapshot de portage un peu daté. Il faudrait...
j'ai fait:
./configure --with-authvchkpw --with-libauthmysql --disable-root-check
quand je fait le make && make conf, j'ai une partie comme ca:
Compiling authmysqllib.c
authmysqllib.c: In function 'do_connect':
authmysqllib.c:144: warning: value computed is not used
authmysqllib.c: In function 'auth_mysql_getuserinfo':
authmysqllib.c:752: warning: value computed is not used
authmysqllib.c:757: warning: value computed is not used
authmysqllib.c:762: warning: value computed is not used
authmysqllib.c:773: warning: value computed is not used
authmysqllib.c:795: warning: value computed is not used
authmysqllib.c:812: warning: value computed is not used
authmysqllib.c:820: warning: value computed is not used
authmysqllib.c:828: warning: value computed is not used
authmysqllib.c:843: warning: value computed is not used
authmysqllib.c:850: warning: value computed is not used
authmysqllib.c: In function 'auth_mysql_setpass':
authmysqllib.c:989: warning: value computed is not used
authmysqllib.c:992: warning: value computed is not used
authmysqllib.c: In function 'auth_mysql_enumerate':
authmysqllib.c:1101: warning: value computed is not used
authmysqllib.c:1105: warning: value computed is not used
authmysqllib.c:1109: warning: value computed is not used
authmysqllib.c:1122: warning: value computed is not used
et donc le fichier .so ne se crée pas qqn pourai m'envoyer le sien et c'est tout ?
il faut la version 0.55 ! et portage est a 0.60
Geoffroy
18/03/2009, 16h49
?
Vous le compilez à la main ? Pourquoi ne pas passer par emerge ?
Code:
echo ">net-libs/courier-authlib-0.58" >> /etc/portage/package.mask
emerge --ask --verbose net-libs/courier-authlib
Et si, mais uniquement dans ce cas là, l'emerge s'arrête sur le linkage avec mysql, alors tentez quelque chose dans ce gout là :
Code:
echo "net-libs/courier-authlib -mysql" >> /etc/portage/package.use
emerge --ask --verbose net-libs/courier-authlib
./configure --with-authvchkpw --disable-root-check
# make && make check
# cp .libs/libauthvchkpw.so /usr/lib/courier-authlib/
ca me fait:
cp .libs/libauthvchkpw.so /usr/lib/courier-authlib
cp: ne peut évaluer `.libs/libauthvchkpw.so': Aucun fichier ou répertoire de ce type
Euh, moi je veux bien utiliser authmysql, mais je suis en release et j'ai pas trop envie de péter tous les comptes emails en changeant. Si on me donne une solution/tuto claire et où je suis sur de ne pas perdre de comptes ni de mails pour passer à authmysql je suis preneur
Bon, pour mon libauthvchkpw.so, j'ai refait config avec d'autre options et ça fonctionne, par contre quand j'essaye de me connecter en imap, ça dis que le MAILDIR est introuvable.
TBC_Ly0n
18/03/2009, 15h03
Vous avez eu un premier averto et vous continuez gaiement à faire tourner des outils obsolètes en contournant le problème... et maintenant, vous êtes dans la merde !
La solution, elle est connue : Faire en sorte d'utiliser vpopmail avec Mysql. Une fois que les comptes ont été migrés (vconvert), il suffit de demander à courier-authlib une authentification Mysql ! Vous conservez un vpopmail + qmail obsolète, mais en utilisant un stockage des comptes modernes (Mysql) et vous pouvez faire évoluer courier-imap tranquillement !
En faisant ça, je ne suis même pas sur qu'on sorte du cadre de la release !
Soit dit en passant, si tu désactives l'authentification mysql pour le courier-authlib 0.55, ça évitera qu'il s'arrête dessus !
Je pensais que ce sujet me sauverai, enfin, il m'avait sauvé à l'époque, mais là, depuis mon dernier emerge, il y a quelque chose qui a du sauter parce que j'ai plus d'authentification imap, donc, j'ai repris ton message, mais quand je tente de compiler courier-authlib, j'obtiens ça :
Code:
[...]
make[2]: entrant dans le répertoire « /home/tmp/qmailrocks/courier-authlib-0.55 »
Linking libauthmysql.la
/usr/lib/gcc/i686-pc-linux-gnu/3.4.6/../../../../i686-pc-linux-gnu/bin/ld: bad -rpath option
collect2: ld returned 1 exit status
Du coup impossible de récupérer le libauthvchkpw.so
Est-ce qu'il serait possible a quelqu'un qui l'a de me le fournir ? Je sais pas si ça fonctionnera mais je vois que ça....
Vivi
Mais là le post concerne bien les version >0.58 (je suis en 0.60.6 avec donc un module authvchkpw de la 0.55 et tout fonctionne)
TBC_Ly0n
14/01/2009, 16h43
courier-authlib-0.55 < 0.58 ==> Ca marchera sans problème.
c'est à partir de la 0.58 que le problème a été inséré.
Autre workaround (un peu rock'n'roll) : utiliser le libauthvchkpw.so d'une vielle version
1)
Télécharger qmail
2) Compiler l'authlib et copier le libauthvchkpw.so
Code:
# tar jxvf courier-authlib-0.55.tar.bz2
# cd courier-authlib-0.55
# ./configure --with-authvchkpw --disable-root-check
# make && make check
# cp .libs/libauthvchkpw.so /usr/lib/courier-authlib/
3) Ajouter
authvchkpw dans la authmodulelist de /etc/courier/authlib/authdaemonrc
4) Installer le module
Code:
# /usr/lib/courier/courier-authlib/authdaemond
5) Relancer le daemon
Code:
# /etc/init.d/courier-authlib restart
6) L'envie de meurtre après les échecs d'auth en IMAP disparait (ouf)
via
TBC_Ly0n
15/07/2008, 22h01
Conclusion : il faut utiliser des outils avec des mecs qui les font vivre !
Un serveur Courier intégral marche pas mal du tout ! Ca s'interface avec un peu n'importe quoi : mysql, base dbm, ldap...
Mince, c'est ballot, je viens de faire la mise à jour.
Comment je fais pour réinstaller une ancienne version d'authlib ?
Edit : Ok, avec ta ligne et un nouveau emerge il me prends bien la bonne version
Merci.
Geoffroy
21/06/2008, 02h32
A tout les administrateurs de serveur mail en Release 2 OVH :
- Si vous utilisez courier-imapd avec l'installation par défaut de la Release 2 OVH, et le module d'authentification authvchkpw (voir dans /etc/courier/authlib/authdaemonrc), ne mettez pas à jour net-libs/courier-authlib vers une version supérieure (strictement) à net-libs/courier-authlib-0.58 si vous souhaitez conserver ce mode d'authentification. Les versions supérieurs ne supportent plus l'authentification vpopmail.
Envoyé par
emerge --update courier-authlib
* Messages for package net-libs/courier-authlib-0.60.2-r1:
*
* vpopmail support has been removed, it's unmaintained upstream and will be
* removed with the next release.
*
* Please remove vpopmail USE-flag.
- Workaround
Pour masquer les versions en question :
Code:
echo ">net-libs/courier-authlib-0.58" >> /etc/portage/package.mask