Bienvenue sur le forum technique internet et developpement Web - Experience Linux antispam antivirus, drivers etc. Pour me contacter, laissez un message sur le forum ou ecrivez moi sur alexandre arobase (contre le spam) inforeseau point com par exemple - Windev - Windev mobile - Windows
Forum technique developpement, GNU Linux et logiciels, de l'ours Index du Forum Forum technique developpement, GNU Linux et logiciels, de l'ours
Forum d'echange et d'entre aide sur le developpement, GNU Linux
 
 Sujets surveillésSujets surveillés   FAQFAQ   RechercherRechercher   Liste des MembresListe des Membres   Groupes d'utilisateursGroupes d'utilisateurs   S'enregistrerS'enregistrer 
 ProfilProfil   Se connecter pour vérifier ses messages privésSe connecter pour vérifier ses messages privés   ConnexionConnexion 

Forum developpement logiciel et Internet - Support informatique
 
Bienvenue sur le forum informatique et internet.
N'hésitez pas à poser vos questions, à vous inscrire pour participer.
Ce forum a pour but de partager une base de connaissance ouverte à tous couvrant l'informatique et les réseaux, antivirus et anti spywares. On a pas de pognon, de moins en moins même, mais on a des idées !
Dans l'esprit du logiciel libre, et de l'accès pour tous à la connaissance, vous pouvez copier les informations présentes dans ce forum. Il sera cool de votre part de placer un lien en retour vers ce forum, mais ça n'est pas obligatoire.
 


Patcher qmail avec chkuser ovh release 1


 
Poster un nouveau sujet   Répondre au sujet    Forum technique developpement, GNU Linux et logiciels, de l'ours Index du Forum -> Experiences linux
Voir le sujet précédent :: Voir le sujet suivant  
Auteur Message
ronours
Site Admin


Inscrit le: 25 Fév 2007
Messages: 670

MessagePosté le: Mer Nov 28, 2007 10:12 am    Sujet du message: Patcher qmail avec chkuser ovh release 1 Répondre en citant

Lire en entier avant de tenter quoi que ça soit !

Installer le patch chkuser sur qmail serveur dedié ovh release 1

ATTENTION, vous engagez votre propre responsabilité en suivant ce tuto. ça a fonctionné sur mon serveur sur lequel j'avais deja patché avec qmailqueue pour faire fonctionner spamassassin et clamd (clamav) antivirus.
Ca devrait fonctionner sur une fresh install aussi.

Ne vous lancez pas dedans si vous ne savez pas, par exemple, decompresser un tar ou autre. C'est destiné a un admin avec un peu d'experience Very Happy

Pour installer le patch chkuser, qui permet de controler les emails dès l'arrivée sur le serveur afin de limiter le remplissage de la mailqueue, nous allons installer le patch chkuser. Compatible avec le patch qmailqueue, il faut juste repartir du source patché si c'est le cas.

Chkuser permet egalement de ne pas analyser par antivirus et antispam les emails erronés, ce qui fait gagner une ressource considérable en terme de CPU ! On diminue le load facilement par 3 pour une machine avec qmail qui heberge des domaines un peu agés, et donc, spammés.

Pour installer chkuser, nous avons besoin de la derniere version de vpopmail, aucun soucis, ça va s'installer presque tout seul. Tout le travail qui suit est a executer qmail stoppé, nous travaillons en console en ssh!

Code:
service qmail stop


Donc, vpopmail installé par defaut sur la release 1 d'ovh n'est pas suffisament recent, il faut donc mettre a jour. On va se positionner dans /home/ovh/src/ et on va telecharger la toute derniere version au moment ou j'ecris cet article:
Code:
wget http://ovh.dl.sourceforge.net/sourceforge/vpopmail/vpopmail-5.4.25.tar.gz


On decompresse, et on va dans le dossier.
Code:
tar -xvzf vpopmail-5.4.25.tar.gz


Code:
cd vpopmail-5.4.25

Faites une sauvegarde de votre vpopmail actuel au cas ou :
Code:
tar -cvzf /home/vpopmail_backup.tgz /home/vpopmail/


Comme l'annonce la "FAQ" copiée ci dessous, aucun parametre ne sera modifié lors de la mise a jour! cool!

Citation:
16. I want to upgrade vpopmail, what do I need to worry about?
Two things happen on an upgrade. The programs, library and
include files get over written and the permissions get fixed.
None of the users or domain get touched. So to upgrade:
1) download new vpopmail software
2) ./configure with your options
3) make
4) make install-strip
5) upgrade completed.


Comme l'annonce la faq, vous allez dans le dossier fraichement decompressé, et vous tapez
Code:
./configure  --enable-roaming-users=y --enable-qmail-ext=y

qui devrait bien se passer (roaming user c'est pop before smtp en fait, pour autoriser ceux qui pop a envoyer des mails)

puis nous tapons

Code:
make


pour compiler. Et là, paf! erreur, autoconf n'est pas assez récent ! la saleté!
Donc, nous devons le mettre a jour, comme la redhat 7.2 est vieille, on ne trouve pas de rpm suffisement a jour pour pouvoir compiler .Il faut installer autoconf depuis la sources.

Etape pour Autoconf install : download, configure, make, make install (ce qui se fait tout seul)
1 Download : (on va dans /root et on tape )
Code:
wget http://ftp.gnu.org/gnu/autoconf/autoconf-2.61.tar.gz

=>c'est pas la toute derniere, mais c'est la derniere source complete et ça suffit pour compiler vpopmail.
On decompresse :
Code:
tar -xvzf autoconf-2.61.tar.gz

et on entre dans le dossier decompressé
Code:
cd autoconf-2.61

2 Configure : on tape
Code:
./configure

et ça doit aller tout seul
3 Make, on tape :
Code:
make
(puis entrée!)
4 install, on tape :
Code:
make install
(et voila, vous devez avoir le tout dernier autoconf)

On retourne dans /home/ovh/src/vpopmail-5.4.25,
Code:
cd /home/ovh/src/vpopmail-5.4.25

et on refait un
Code:
make

Tout doit bien se passer. Je rappelle que qmail doit etre arreté !
On peut maintenant installer ! on tape :
Code:
make install-strip

et voila tout est mis a jour.

Si vous relancez qmail
Code:
service qmail start

ça doit tourner normalement. Reste plus qu'a "patcher" qmail pour chkuser.

On arrete qmail! (c'est pas grave si ça reste arreté, c'est pour le bien de tous lol)
Code:
service qmail stop

Je vous conseille d'archiver les sources d'origine, si vous avez deja installé antispam antivirus, sauvez la version des sources que vous avez patché avec qmailqueue en cas de soucis, on pourra revenir en arriere !

Code:
tar -cvzf /home/ovh/src/qmail-1.03_qmail_orig.tgz /home/ovh/src/qmail-1.03


Puis on va dans /root, on telecharge le patch et les fichiers de chkuser.
Code:
cd /root

Je ne sais pas si les deux sont necessaire, mais dans le doute, on les prends, le patch et la release!
Code:
wget http://www.interazioni.it/opensource/chkuser/download/archives/chkuser-2.0.9-release.tar.gz

Code:
wget http://www.interazioni.it/opensource/chkuser/download/archives/chkuser-2.0.9-update.tar.gz


On decompresse les deux :
Code:
tar -xvzf chkuser-2.0.9-release.tar.gz
tar -xvzf chkuser-2.0.9-update.tar.gz

on doit se retrouver avec un dossier et un fichier "patch" comme ça : chkuser-2.0.9-release.patch

On retourne dans le dossier source de qmail,
Code:
cd /home/ovh/src/qmail-1.03

et on tape :
Code:
patch </root/chkuser-2.0.9-release.patch


Ceci va modifier les sources comme il faut, et ajouter les fichiers manquants. Normalement aucune erreur ne se produit. S'il y a une erreur, essayez de comprendre d'où ça vient, et de toute façon(si il y a erreur), effacez ce dossier source de qmail,
Code:
cd /home/ovh/src

Code:
rm -rf ./qmail-1.03

et redecompressez votre sauvegarde pour repartir sur une base saine pour des essais.
Code:
tar -xvzf /home/ovh/src/qmail-1.03_qmail_orig.tgz


Si vous avez l'install par defaut, il faut decommenter, avec l'editeur de fichier de votre choix, dans le fichier chkuser_settings.h la ligne suivante :
#define CHKUSER_ENABLE_UIDGID
(on enleve le /* avant et le */ apres. Ceci car qmail, vpopmail et l'antivirus et antispam ne tournent pas sous les memes comptes. ça permet a chkuser de basculer sur le compte voulu.


Comme tout s'est bien passé, on va compiler, en faisant un :
Code:
make clean
(on efface les restes Smile )
Code:
make
(ça doit compiler sans erreur)
Si vous etes arrivé au bout, vous avez une version compilée pret à etre installée.

//################### URGENT - INDISPENSABLE ########################
Avant d'aller plus loin, sauvegardez les anciens binaires :
Code:
tar -cvzf /var/qmail.tgz /var/qmail


C'est cette sauvegarde qui vous permet de relancer qmail si vous merdez votre truc, plus principalement le dossier "bin" dans /var/qmail a restaurer si rien ne va.
//################### URGENT - INDISPENSABLE ########################

puis assurez vous que qmail est bien arreté !

Renommez le fichier /var/qmail/bin en /var/qmail/bin_orig :
Code:
mv /var/qmail/bin /var/qmail/bin_orig


ensuite taper
Code:
make setup check

qui devrait recreer ce dossier.

Afin d'etre sûr que rien n'ai bougé, on va copier l'ancien contenu de bin dans celui qui est créé. (Par ex si vous aviez antispam, le filtre perl etait là dedans et n'est pas recréé automatiquement).
Donc on copie le contenu du vieux dossier bin (bin_orig) sauvé précedement, en repondant non (taper N) a toute demande d'écrasement.

Code:
cp -R /var/qmail/bin_orig/* /var/qmail/bin/

Ainsi seuls les scripts hors qmail seront récupérés !

Le reste a du etre copié à sa place.

Maintenant, reste plus que deux parametres, en effet, pour que chkuser puisse verifier que le user existe, il doit pouvoir lire la liste des users dans vpopmail !

Pour ça on va donc changer l'uid avec lequel est lancé qmail, on va le lancer avec l'id de vpopmail !

pour ça, on va changer le parametre dans le fichier init.

Il faut ouvrir /etc/rc.d/init.d/qmail (avec l'editeur de votre choix) et modifier le paragraphe suivant :
Code:
env - PATH="/var/qmail/bin:/usr/local/bin" \
        tcpserver -H -R -x /etc/tcp.smtp.cdb -c100 -u503 -g503 0 smtp \
        /var/qmail/bin/qmail-smtpd 2>&1 > /dev/null &
        echo "smtp"
        ;;
  stop)


En ceci :

Code:
env - PATH="/var/qmail/bin:/usr/local/bin" \
        tcpserver -H -R -x /etc/tcp.smtp.cdb -c100 -u508 -g503 0 smtp \
        /var/qmail/bin/qmail-smtpd 2>&1 > /dev/null &
        echo "smtp"
        ;;

Vous notez, c'est le uid qui est passé de 503 a 508, l'id de vpopmail.

Pour verifier l'id sur votre machine tapez :
Code:
cat /etc/passwd|grep vpopmail

ça vous donne ça :
vpopmail:x:508:503::/home/vpopmail:/bin/bash

C'est le premier chiffre qui est uid (ici 508).

Vous sauvez votre fichier /etc/rc.d/init.d/qmail. De cette façon qmail sera lancé sous l'uid de vpopmail.

Ensuite, il faut autoriser le binaire qmail-smtpd a etre lancé par un autre uid!

Par defaut, il appartient a root apres install. On va dans /var/qmail/bin
Code:
cd /var/qmail/bin

et on va changer ça. Comme nous devons donner les droit d'execution en suid, on doit changer le proprietaire !
on fait ça (chaque ligne est une commande à saisir et à valider avec entrée):
Code:
 
chown qmaill qmail-smtpd
chgrp qmail qmail-smtpd
chmod 6555 qmail-smtpd

Chez moi j'ai un user "qmaill" dedié a qmail-smtpd. Sans droits speciaux, donc moins de risques. Choisissez votre user qmail d'origine mais pas root!.

Le groupe qmail existait deja. Ensuite on donne les droits en 655 (comme indiqué au dessus) pour que qmail-smtpd puisse etre appelé par chkuser et l'antispam au besoin.

Et voila, relançage de qmail, et c'est tout bon Very Happy

Code:
service qmail restart


Du coup, vous devez virer les "catch all" si vous en aviez. Vos fichier ".qmail-default" dans /home/vpopmail/domain/ton_domaine/.qmail-default doivent ressembler a ça :
Code:
| /home/vpopmail/bin/vdelivermail '' bounce-no-mailbox


Voila Very Happy en esperant que ça depanne !

Relancer qmail.

Testez en envoyant des mails de votre compte fai vers votre serveur et vice verça, essayez d'envoyer un mail vers un compte qui n'existe pas, et voyez.

Si tout est ok, votre serveur doit instantanement repondre que le compte n'existe pas et refuser aussi sec le message en renvoyant l'erreur au smtp qui essaie d'envoyer.

Les logs doivent afficher des choses du genre :
Citation:
CHKUSER rejected rcpt: from <Contact@giglizard.com::> remote <mail.carhuewifi.com.ar:unknown:200.0.236.115> rcpt <undhenk@mypseudo.com> : not existing recipient


(Affichage en console, là ou vous avez relancé qmail, car nous n'avons pas spécifié de sortie pour les logs, qui s'affichent donc en 'stdout', soit, la console.

Si il y a des erreurs, ça ne marche pas, ou autre, restaurez les fichiers d'origine en stoppant qmail, puis re decompressez votre sauvegarde avec les binaires :
Code:
cd /var

puis
Code:
mv qmail qmail_bad

puis
Code:
tar -xvzf qmail.tgz


et relancez qmail, la situation devrait etre retablie.

References :
http://www.inter7.com/vpopmail/
http://www.interazioni.it/opensource/chkuser/

Le tutoriel comporte des détails parfois évidents pour moi mais que j'ai rajouté suite à des questions d'utilisateurs qui avaient du mal a suivre.
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web de l'utilisateur
Montrer les messages depuis:   
Poster un nouveau sujet   Répondre au sujet    Forum technique developpement, GNU Linux et logiciels, de l'ours Index du Forum -> Experiences linux Toutes les heures sont au format GMT + 1 Heure
Page 1 sur 1

 
Sauter vers:  
Vous ne pouvez pas poster de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas voter dans les sondages de ce forum


Powered by phpBB © 2001, 2005 phpBB Group
Traduction par : phpBB-fr.com

Visitez aussi : Photos pour tous - Lezactus - Actualites et articles en ligne - Le forum du scrapbooking
Vous pouvez copier les messages partiellement sous reserve de mettre un lien vers la source sur ce forum - Edité et géré par Alexandre BLANC