Plus de log avec qmail

Un article de Wiki SOS-ADMIN.

Ce guide vous est proposé par www.elginux.com
Voici une petite astuce pour avoir des logs pop et smtp pour ceux qui utilisent qmail sans daemontools (cette fonctionnalité étant assurée par supervise).

Sommaire

Avant-propos

Histoire de s'instruire un petit peu avec de jolie image, je vous invite à regarder, voir imprimer, encadrer, etc... ceci :
http://www.nrg4u.com/qmail/the-big-qmail-picture-103-a4.pdf

Mise en place

Code : Nous commencons par faire un backup de /etc/init.d/qmail
cp /etc/init.d/qmail /etc/init.d/qmail.old


Fichier : Maintenant, nous pouvons éditer /etc/init.d/qmail et faire les changements ci-dessous

n'oubliez pas de remplacer nsX.server.tld

# diff -u /etc/init.d/qmail.old /etc/init.d/qmail.log
--- /etc/init.d/qmail.old       Mon Sep  5 17:13:44 2005
+++ /etc/init.d/qmail.log       Sun Dec 18 00:49:33 2005
@@ -15,18 +15,20 @@
         echo -n "Starting: "
         env - PATH="/var/qmail/bin:/usr/local/bin" \
     /var/qmail/bin/qmail-start ./Maildir/ /usr/local/bin/tai64n \
-    | /usr/local/bin/setuidgid qmaill /usr/local/bin/multilog /var/log/qmail &
+    | /usr/local/bin/setuidgid qmaill /usr/local/bin/multilog t n20 s1000000 /var/log/qmail/send &
         echo -n "qmail "

         env - PATH="/var/qmail/bin:/usr/local/bin" \
         tcpserver -H -R -c100 0 pop-3 /var/qmail/bin/qmail-popup \
         nsX.server.tld \
-        /home/vpopmail/bin/vchkpw /var/qmail/bin/qmail-pop3d Maildir &
+        /home/vpopmail/bin/vchkpw /var/qmail/bin/qmail-pop3d Maildir 2>&1 \
+        | /usr/local/bin/setuidgid qmaill /usr/local/bin/multilog t n20 s1000000 /var/log/qmail/pop3d &
         echo -n "pop "

     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 &
+        /var/qmail/bin/qmail-smtpd 2>&1 \
+        | /usr/local/bin/setuidgid qmaill /usr/local/bin/multilog t n20 s1000000 /var/log/qmail/smtp &
         echo "smtp"
         ;;
   stop)

Création des répertoires

Code : Il nous faut préparer les répertoires de log
mv /var/log/qmail /var/log/qmail.old # optionnel
mkdir -p /var/log/qmail/send /var/log/qmail/pop3d /var/log/qmail/smtp
chown -R qmaill /var/log/qmail

Relancer qmail

Code : Il ne nous reste plus qu'à relancer qmail
/etc/init.d/qmail stop
/etc/init.d/qmail start

Vérification du bon fonctionnement

Code : Vous pouvez voir maintenant les logs de qmail pour send, pop3d et smtp
tail -f /var/log/qmail/send/current /var/log/qmail/pop3d/current /var/log/qmail/smtp/current

ou encore :

tail -f /var/log/qmail/*/current

Astuces supplémentaires

Maintenant à vous de voir pour la suite, ce que vous voulez faire de vos logs, comme par exemple grapher le tout avec mrtg ou autres outils pour cela.

Code : Vous pouvez aussi rajouter un alias à votre .bashrc (ou en ligne de commande)
alias tfqmail='tail -f /var/log/qmail/*/current'

Vous pourrez alors utiliser la commande suivante sous la console :

tfqmail