Le blog de Jean David TECHER, un Réunionnais à Saint-Priest/Lyon

Aller au contenu | Aller au menu | Aller à la recherche


< 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 >

mercredi 6 août 2008

[Qmail - LDAP] Qmail-remove pour purger ses mails

Depuis plusieurs jours, j'ai ce mail qui traine dans mon serveur

2008-08-06 17:42:56.238200500 starting delivery 81: msg 11748527 to remote depressions@ideas-now.com
2008-08-06 17:42:56.238205500 status: local 0/10 remote 1/20
2008-08-06 17:42:57.712704500 delivery 81: deferral: Sorry,_I_wasn't_able_to_establish_an_SMTP_connection._(#4.4.1)/
2008-08-06 17:42:57.712710500 status: local 0/10 remote 0/20
2008-08-06 17:58:07.262245500 status: exiting

C'est ce que me confirme qmail-qstat

root@olivia:~/qmail-remove-0.95# qmail-qstat 
messages in queue:1
messages in queue but not yet preprocessed: 0

Il faut s'en débarasser!

Pour celà, il y a qmail-remove

Installation

Rien de plus simple que

wget http://www.linuxmagic.com/opensource/qmail/qmail-remove/qmail-remove-0.95.tar.gz
tar xvzf qmail-remove-0.95.tar.gz 
cd qmail-remove-0.95
   make
make install

Il faut aussi créer le répertoire nécessaire

mkdir /var/qmail/queue/yanked

Utilisation

Avant de le lancer, il faut arrêter le serveur

svc -d /service/*

Puis, on procède à une recherche sur le motif ideas

qmail-remove -r -p ideas
Puis on relance le serveur
svc -u /service/*

On vérifie que c'est bon avec qmail-qstat

root@olivia:~/qmail-remove-0.95# qmail-qstat 
messages in queue: 0
messages in queue but not yet preprocessed: 0

Source pour qmail-remove: http://www.debianadmin.com/delete-qmail-server-messages-queue.html

[Qmail - LDAP] Filter les mails avec SpamAssassin

J'ai fait la modification suivante pour mon coloc' Ludo qui en a besoin ces temps-ci. Il a besoin d'une boite mails ces temps-ci. Normalement, une fois que Qmail et LDAP sont configurés, il faut ajouter les 3 entrées suivantes à l'annuaire pour chaque utilisateur

ChampsValeur
qmailDotModeldapwithprog
deliveryProgramPath/var/qmail/bin/spamcheck.sh
deliveryModenolocal

L'idée provient de http://www.mail-archive.com/qmail-ldap@argus.pipeline.ch/msg06122.html

Le contenu du script spamcheck.sh est
/usr/bin/spamc  |/usr/local/bin/maildir ./Maildir/

Rappel: SMBLDAP-QMAIL-TOOLS

Pour ceux qui ont un serveur Samba monté en PDC avec OpenLDAP et qui souhaitent configuré ce dernier avec un serveur de mail comme qmail, il existe aussi les smbldap-qmail-tools disponibles à http://smbldap-addons.sourceforge.net/smbldap-qmail-tools/

Pour monter un tel serveur, deux liens bien intéressant

Surtout beaucoup de patience pour le monter car il en faut en suivant les diverses manip'...mais le jeu en vaut la chandelle!

Spamc

Il faut aussi avoir installer spamc et spamassassin. Voici c un descriptif de spamc fourni par apt-cache sur Ubuntu
root@olivia:~# apt-cache show spamc
Package: spamc
Priority: optional
Section: mail
Installed-Size: 168
Maintainer: Duncan Findlay 
Architecture: i386
Source: spamassassin
Version: 3.2.3-0.volatile1
Depends: libc6 (>= 2.3.6-6), libssl0.9.8 (>= 0.9.8c-1), zlib1g (>= 1:1.2.1)
Suggests: spamassassin
Conflicts: spamassassin (<< 2.30-2)
Filename: pool/volatile/main/s/spamassassin/spamc_3.2.3-0.volatile1_i386.deb
Size: 70290
MD5sum: 4b5efc0020b846897d5afb0fdc814345
SHA1: ac81d80d098366b593895c3643b4cc1b7804306a
SHA256: ba8f2238d3cb55183362bfa6acff80d66f18349cf775f2329412e37e37486700
Description: Client for SpamAssassin spam filtering daemon
 spamc is the client to communicate with spamd, the daemonized form of
 SpamAssassin (see the spamassassin package). It is written in C for
 maximum speed and minimum loading overhead.
 .
 spamc is quite useful for integrating spamassassin into an MTA or
 into a .procmailrc file because of its speed.
 .
 This package is useless unless you have spamassassin installed,
 either on this machine or another local machine (i.e. a mail server).
 .
 Homepage: http://www.spamassassin.org

Package: spamc
Priority: optional
Section: universe/mail
Installed-Size: 164
Maintainer: Ubuntu MOTU Developers 
Original-Maintainer: Duncan Findlay 
Architecture: i386
Source: spamassassin
Version: 3.1.7-2ubuntu1
Depends: libc6 (>= 2.5-0ubuntu1), libssl0.9.8 (>= 0.9.8c-1)
Suggests: spamassassin
Conflicts: spamassassin (<< 2.30-2)
Filename: pool/universe/s/spamassassin/spamc_3.1.7-2ubuntu1_i386.deb
Size: 75272
MD5sum: d8e4cefa71dc5fe2c8bf1f46eedcedd4
SHA1: 528b8249b60177a1dbeeb8c8be6d8e4707ffb15b
SHA256: 065f90cec4111edfb529fb3206a0840aac24043d679031a5efaa189a45e6b831
Description: Client for SpamAssassin spam filtering daemon
 spamc is the client to communicate with spamd, the daemonized form of
 SpamAssassin (see the spamassassin package). It is written in C for
 maximum speed and minimum loading overhead.
 .
 spamc is quite useful for integrating spamassassin into an MTA or
 into a .procmailrc file because of its speed.
 .
 This package is useless unless you have spamassassin installed,
 either on this machine or another local machine (i.e. a mail server).
 .
 Homepage: http://www.spamassassin.org
Bugs: mailto:ubuntu-users@lists.ubuntu.com
Origin: Ubuntu

Script PHP pour ajouter les trois entrées requis

On partira ici du principe qu'on a un utilisateur déjà référencé sous qmail-ldap. Ici il s'appelle ludovic.pires. Si on a compilé PHP avec LDAP, on peut recourir au script suivant en utilisant ldap_modifiy()

<?
   $server = "localhost";
   $port = "389";
   $racine = "dc=chezdavid,dc=local";
 //  $rootdn = "uid=ludovic.pires,ou=Users,dc=chezdavid,dc=local";
   $rootdn = "cn=admin,dc=chezdavid,dc=local";
   $rootpw = "mot_de_passe";
   echo "Connexion...\n";
   $ds=ldap_connect($server);
if ($ds==1)
         {
                // on s'authentifie en tant que super-utilisateur, ici, ldap_admin
                $r=ldap_bind($ds,$rootdn,$rootpw);
                $entry["cn"]="ludovic.pires";
                $entry["sn"]="ludovic.pires";
                $entry["qmailDotMode"] = "ldapwithprog";
                $entry["deliveryProgramPath"] = "/var/qmail/bin/spamcheck.sh";
                $entry["deliveryMode"] = "nolocal";
                $r=ldap_modify($ds, "uid=ludovic.pires,ou=Users,dc=chezdavid,dc=local",$entry);
                echo "Deconnexion...\n";
                ldap_close($ds);
         }
else {
        echo  "Impossible de se connecter au serveur LDAP";

         }
?>
On l'exécute en ligne de commande en faisant
 /usr/lib/cgi-bin/php -q  php_qmail_spam_add.php

Pour vérifier que tout a été ajoutée sans souci

root@olivia:~# smbldap-usershow ludovic.pires|grep -e qmailDotMode -e delivery
qmailDotMode: ldapwithprog
deliveryProgramPath: /var/qmail/bin/spamcheck.sh
deliveryMode: nolocal

Test

Depuis mon bureau, je me suis envoyé deux fois le même mail à la maison, et en regardant les logs de spamd.log
root@olivia:~# tail -f /var/log/spamd.log 
Wed Aug  6 11:06:32 2008 [5488] info: prefork: child states: II
Wed Aug  6 13:31:29 2008 [5623] info: spamd: connection from olivia.davidgis.fr [127.0.0.1] at port 45032
Wed Aug  6 13:31:29 2008 [5623] info: spamd: setuid to ludovic.pires succeeded
Wed Aug  6 13:31:29 2008 [5623] info: spamd: creating default_prefs: /home/user/ludovic.pires/.spamassassin/user_prefs
Wed Aug  6 13:31:29 2008 [5623] warn: config: cannot write to /home/user/ludovic.pires/.spamassassin/user_prefs: No such file or directory
Wed Aug  6 13:31:29 2008 [5623] info: spamd: failed to create readable default_prefs: /home/user/ludovic.pires/.spamassassin/user_prefs
Wed Aug  6 13:31:29 2008 [5623] info: spamd: processing message <1218022003.7698.0.camel@jdtecher.xerus.net> for ludovic.pires:1016
Wed Aug  6 13:31:31 2008 [5623] info: spamd: identified spam (10.8/5.0) for ludovic.pires:1016 in 2.2 seconds, 1111 bytes.
Wed Aug  6 13:31:31 2008 [5623] info: spamd: result: Y 10 - FB_BAD_ERECT scantime=2.2,size=1111,user=ludovic.pires,uid=1016,required_score=5.0,rhost=olivia.davidgis.fr,raddr=127.0.0.1,rport=45032,mid=<1218022003.7698.0.camel@jdtecher.xerus.net>,autolearn=no
Wed Aug  6 13:31:31 2008 [5488] info: prefork: child states: II
Wed Aug  6 13:35:12 2008 [5623] info: spamd: connection from olivia.davidgis.fr [127.0.0.1] at port 45188
Wed Aug  6 13:35:12 2008 [5623] info: spamd: setuid to ludovic.pires succeeded
Wed Aug  6 13:35:12 2008 [5623] info: spamd: creating default_prefs: /home/user/ludovic.pires/.spamassassin/user_prefs
Wed Aug  6 13:35:12 2008 [5623] warn: config: created user preferences file: /home/user/ludovic.pires/.spamassassin/user_prefs
Wed Aug  6 13:35:12 2008 [5623] info: spamd: processing message <1218022229.7698.2.camel@jdtecher.xerus.net> for ludovic.pires:1016
Wed Aug  6 13:35:12 2008 [5623] warn: pyzor: check failed: internal error
Wed Aug  6 13:35:15 2008 [5623] info: spamd: identified spam (10.8/5.0) for ludovic.pires:1016 in 2.5 seconds, 1111 bytes.
Wed Aug  6 13:35:15 2008 [5623] info: spamd: result: Y 10 - FB_BAD_ERECT scantime=2.5,size=1111,user=ludovic.pires,uid=1016,required_score=5.0,rhost=olivia.davidgis.fr,raddr=127.0.0.1,rport=45188,mid=<1218022229.7698.2.camel@jdtecher.xerus.net>,autolearn=no

Finalement les sous-répertoires de .spamassassin sont proprement créés.

mardi 5 août 2008

[MultiTail] Exemple avec Qmail

On peut utiliser l'exemple suivant

multitail \
-l "tail -F -q /var/log/qmail/main/current|tai64nlocal" \
-l "tail -F -q /var/log/smtpd/main/current|tai64nlocal" \
-l "tail -F -q /var/log/pop3/main/current|tai64nlocal" \
-l "tail -F -q /var/log/spamd.log"

vendredi 1 août 2008

[Linux Magazine] Article sur la gestion de mémoire de PostgreSQL - à avoir absolument -.

Guillaume LELARGE nous gratifie d'un excellent article pour cet été dans le numéro de Linux Magazine France dédié à la mémoire dans PostgreSQL. Si vous avez 6,50€ à investir, je ne saurais vous le conseiller. C'est sûrement l'une des seules sources que je connaisse (en plus en français) qui traite de ce sujet au combien important.

Il est très bien fait et explique et illustre très bien les diverses types de mémoire, notamment le rôle de certains paramètres shared_buffers, etc...

P.S: Merci Guillaume pour cet article , il est très bien fait.