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 >

samedi 29 novembre 2008

Test la fonctionnalité

Une fois PostGIS 1.3.4 installée, on peut par exemple effectuer le test suivant

testgis=# \df *json
                                List of functions
 Schema |     Name      | Result data type |         Argument data types         
--------+---------------+------------------+-------------------------------------
 public | _st_asgeojson | text             | integer, geometry, integer, integer
 public | st_asgeojson  | text             | geometry
 public | st_asgeojson  | text             | geometry, integer
 public | st_asgeojson  | text             | geometry, integer, integer
 public | st_asgeojson  | text             | integer, geometry
 public | st_asgeojson  | text             | integer, geometry, integer
 public | st_asgeojson  | text             | integer, geometry, integer, integer
(7 rows)

testgis=# select st_asgeojson('LINESTRING(0 0,1 1)'::geometry);
                                                   st_asgeojson                                                    
-------------------------------------------------------------------------------------------------------------------
 {"type":"LineString","coordinates":[[0.000000000000000,0.000000000000000],[1.000000000000000,1.000000000000000]]}
(1 row)

testgis=# select st_asgeojson('LINESTRING(0 0,1 1)'::geometry,1);
                       st_asgeojson                        
-----------------------------------------------------------
 {"type":"LineString","coordinates":[[0.0,0.0],[1.0,1.0]]}
(1 row)

testgis=# select st_asgeojson('LINESTRING(0 0,1 1)'::geometry,2);
                         st_asgeojson                          
---------------------------------------------------------------
 {"type":"LineString","coordinates":[[0.00,0.00],[1.00,1.00]]}
(1 row)

[Qmail-LDAP-Samba] Notifcation par mail du redémarrage de mon serveur à Montpellier

1. Objectifs

Souvent quand je suis au taf, j'ai besoin de faire des manipulations concernants des commandes GNU/Linux générales que je manipule depuis mon serveur à Montpellier. Parfois, j'ai besoin d'appeler mon colocataire à Montpellier pour lui demander d'intervenir. Ce qui n'est pas toujours juste. La plupart du temps, je dois redémarrer mon serveur. Le problème est que je n'ai pas souvent l'occasion de me rappeler quels sont les services qui sont actifs et ce qui sont désactivés, vu que mon serveur gère aussi bien par iptables le réseau interne à mon appartement que le réseau entrant depuis l'extérieur.

Aussi depuis quelques jours, je travaille sur une notification d'envoi de mails me rappellant les services importants manipulés par iptables qui sont activés ou désactivés....Par rapport à ce qui existe, on peut faire largement mieux mais ici c'est juste pour faire au plus simple!!!

2. Mise en place

Le principe repose sur l'envoi de mail en utilisant qmail-inject, qui me renverra un message au format HTML avec un titre générique et par un utilisateur info spécifique pour la gestion de l'envoi de ce type de mail. Comme la plupart de mes commandes iptables sont dans /etc/rc.local. On commence donc par définir les fonctions suivantes dans /etc/rc.local

....
....
#======================================[++ Fonctions utilisees ++]=======================================
#
MAIL_NOTIFY="/root/mail_notify.txt";

InitMailToSend(){
        echo "Subject: [DavidGIS.fr] Message de olivia.davidgis.fr" > ${MAIL_NOTIFY};
        echo "Content-Type: text/html" >> ${MAIL_NOTIFY};
        echo "" >> ${MAIL_NOTIFY};
        echo "<html>" >> ${MAIL_NOTIFY};
        echo "<head>" >> ${MAIL_NOTIFY};
        echo "<style type='text/css'>" >> ${MAIL_NOTIFY};
        echo "table {border: 5px solid white}" >> ${MAIL_NOTIFY};
        echo "td {border: 5px solid green}" >> ${MAIL_NOTIFY};
        echo "</style>" >> ${MAIL_NOTIFY};
        echo "</head>" >> ${MAIL_NOTIFY};
        echo "<body>" >> ${MAIL_NOTIFY};
        echo "<h1 align='center'>Message du serveur olivia.davidgis.fr</h1>" >> ${MAIL_NOTIFY};
        echo "<center>" >> ${MAIL_NOTIFY};
        echo "<b>+++ Le serveur a redémarré le $(date '+ %Y-%m-%d vers  %H:%M:%S') +++</b><br>" >> ${MAIL_NOTIFY};
        echo "<table>" >> ${MAIL_NOTIFY};
        echo "<tr>" >> ${MAIL_NOTIFY};
        echo "<td style='border: 5px solid black'>" >> ${MAIL_NOTIFY};
        echo "<img src='http://www.davidgis.fr/download/janita.jpg'/>" >> ${MAIL_NOTIFY};
        echo "</td>" >> ${MAIL_NOTIFY};
        echo "<td style='border: 5px solid black'>" >> ${MAIL_NOTIFY};
        echo "<h2>INFOS:</h2>" >> ${MAIL_NOTIFY};
        echo "<table>" >> ${MAIL_NOTIFY};
}

FinalizeMailToSend() {
        echo "</table>" >> ${MAIL_NOTIFY};
        echo "</td>" >> ${MAIL_NOTIFY};
        echo "</tr>" >> ${MAIL_NOTIFY};
        echo "</table>" >> ${MAIL_NOTIFY};
        echo "</body>" >> ${MAIL_NOTIFY};
        echo "</html>" >> ${MAIL_NOTIFY};
}

CorrectInfoMailToSend() {
    echo "<tr><td> $1</td></tr> " >> ${MAIL_NOTIFY};  
}

WarningInfoMailToSend() {
    echo "<tr><td style='border: 5px solid red'>$1!!!</td></tr>" >> ${MAIL_NOTIFY};  
}

InitMailToSend;
# ouverture de port
# 1 := oui
# 0 := non
...
OPEN_PORT_SQUID3=1
OPEN_PORT_P3SCAN=0
...
....
# P3Scan
# Pour appeler SpamAssassin et F-prot (anti-virus)
#
if [ $OPEN_PORT_P3SCAN -eq 1 ]
then
        CorrectInfoMailToSend "Redirection de POP3 pour les mails du reseau vers P3Scan --> Spam (SpamAssassin ) et Virus (F-Prot)"
        iptables -A INPUT -d 82.236.232.184 -p tcp --dport 8110 -j ACCEPT
        for port in pop3 imap3 imap2 imap
        do
                iptables -t nat -A OUTPUT  -p tcp --dport $port -m owner --uid-owner 115 -j ACCEPT
                iptables -t nat -A OUTPUT  -p tcp --dport $port -j REDIRECT --to 8110
                iptables -t nat -A PREROUTING -p tcp -i $INTERFACE_INTERNET --dport $port -j REDIRECT --to 8110
        done
        for port in 110 143 220
        do
                iptables -t nat -A PREROUTING -i $INTERFACE_LAN -s 192.168.2.1/10 -p tcp --dport $port -j DNAT --to-destination 192.168.2.1:8110
                iptables -t nat -A PREROUTING -i $INTERFACE_INTERNET -d 192.168.2.0/24 -p tcp --dport $port -j REDIRECT --to-port 8110
        done
else
        WarningInfoMailToSend "P3Scan est inactif!!!"
fi

....
....
#================================================================
# Notification par mail du redémarrage du serveur!
#===============================================================

FinalizeMailToSend;
cat ${MAIL_NOTIFY} | QMAILUSER=info /var/qmail/bin/qmail-inject davidtecher@yahoo.fr

3. Création de l'utilisateur info pour la notification de mail

C'est maintenant que les smbldap-qmail-tools rentrent en action...

On commence par créer l'utisateur info grâce à smbldap-useradd. On se connecte ensuite en tant que info puis on se déconnecte!

root@olivia:~# smbldap-useradd -a -s /bin/bash -c "Infos.DavidGIS.FR" -m -P info
Changing UNIX and samba passwords for info
New password: 
Retype new password: 
root@olivia:~# su info
info@olivia:/root$ exit

Maintenant on crée la boîte aux lettres

root@olivia:~# smbldap-qmail-useradd -A active  -m info@davidgis.fr -H davidgis.fr -M nolocal \
-D ldapwithprog -P /var/qmail/bin/spamcheck.sh -S /home/user/info/Maildir -c 0 -q 0 -s 0  info
Use of uninitialized value in concatenation (.) or string at /usr/local/sbin/smbldap-qmail-useradd line 136.

Un premier envoi de mail pour crée le répertoire Maildir ne donne rien

root@olivia:~# echo test|/var/qmail/bin/qmail-inject info
root@olivia:~# tail -f /service/qmail/log/main/current |tai64nlocal 
2008-11-29 00:23:16.328211500 status: local 1/10 remote 0/20
2008-11-29 00:23:22.477099500 delivery 3: success: 1227914606.M542633P13934.olivia/did_0+0+1/
2008-11-29 00:23:22.477104500 status: local 0/10 remote 0/20
2008-11-29 00:23:22.477106500 end msg 11748467
2008-11-29 00:26:22.141431500 new msg 11748589
2008-11-29 00:26:22.141590500 info msg 11748589: bytes 216 from  qp 15311 uid 0
2008-11-29 00:26:22.145000500 starting delivery 4: msg 11748589 to local info@davidgis.fr
2008-11-29 00:26:22.145100500 status: local 1/10 remote 0/20
2008-11-29 00:26:26.156750500 delivery 4: deferral: safecat:_fatal:_could_not_stat_directory:_file_does_not_exist/
2008-11-29 00:26:26.156754500 status: local 0/10 remote 0/20

root@olivia:~# ls /home/user/info/.
./             ../            .bash_history  .bash_logout   .bashrc        .profile       .pyzor/        .spamassassin/

Il est nécessaire de se connecter une première fois sous Horde pour créer le répertoire comme l'atteste ensuite le log de qmail

root@olivia:~# echo test|/var/qmail/bin/qmail-inject info
root@olivia:~# tail -f /service/qmail/log/main/current |tai64nlocal 
2008-11-29 00:26:26.156750500 delivery 4: deferral: safecat:_fatal:_could_not_stat_directory:_file_does_not_exist/
2008-11-29 00:26:26.156754500 status: local 0/10 remote 0/20
2008-11-29 00:28:03.159003500 starting delivery 5: msg 11748589 to local info@davidgis.fr
2008-11-29 00:28:03.159008500 status: local 1/10 remote 0/20
2008-11-29 00:28:05.931564500 delivery 5: deferral: safecat:_fatal:_could_not_stat_directory:_file_does_not_exist/
2008-11-29 00:28:05.931568500 status: local 0/10 remote 0/20
2008-11-29 00:28:57.518062500 new msg 11748467
2008-11-29 00:28:57.518066500 info msg 11748467: bytes 216 from  qp 15366 uid 0
2008-11-29 00:28:57.523103500 starting delivery 6: msg 11748467 to local info@davidgis.fr
2008-11-29 00:28:57.523107500 status: local 1/10 remote 0/20
2008-11-29 00:29:00.398939500 delivery 6: success: 1227914947.M551504P15376.olivia/did_0+0+1/
2008-11-29 00:29:00.398943500 status: local 0/10 remote 0/20
2008-11-29 00:29:00.398944500 end msg 11748467

root@olivia:~# ls /home/user/info/
Maildir

4. Tests

Dans la nuit de vendredi à samedi, j'ai donc redémarré mon serveur et attendu le mail dans ma boîte aux lettres


Fig 1. Réception du mail suite au redémarrage du serveur.

Voici le résumé comme attendu avec comme toujours une image de Jana pour égayer le mail


Fig 2. Résumé suite au redémarrage du serveur (vert: ce qui est actif/rouge: ce qui est inactif).

vendredi 28 novembre 2008

En attendant le 24 décembre 2008....

Voilà le verdict est tombé depuis hier après-midi! Depuis plusieurs semaines déjà, j'attendais une nouvelle dont la suite pour savoir si je restais ou je partais dépendait d'un simple coup de fil...Un stress que j'ai cumulé ces deux dernières semaines....Beaucoup de questions restant dans le vide...Jeudi le téléphone a sonné vers 14h00~14h30. La personne que j'ai eu au téléphone a donné la réponse que j'attendais depuis un moment...

Voilà c'est fait. Je suis arrivé ici, je m'en souviens le dimanche 3 février 2008....Beaucoup de choses se sont écoulés depuis...Enormément...Bien plus que je n'aurais pu l'imaginer...Apparement, je vais rester dans le coin!!! A 90% , je m'y attendais un peu...Il est temps de se poser et de se déposer maintenant !!!

En tout cas, D.J si tu lis ce message, saches que celà m'aura fait plaisir de te revoir en octobre. A toi aussi, je te souhaite "bonne continuation" . Mais bon, un nouveau départ sonne le glas pour moi! Suite à ce coup de fil, j'ai très rapidement évacué mon stress. J'ai ensuite appeler ma mère pour lui dire que je restais sur la côte d'Azur. Il me reste plus avant la fin de l'année à aller chercher le chat sur Montpellier et ramener mes ordinateurs et ma vie administrative par ici...

Avec beaucoup de recul à mon réveil vendredi matin, j'ai fait un drôle de rêve...un réveil où j'étais assez optimiste pour la suite des évènements...Je verrais bien...Comme beaucoup de personnes me l'ont dit quand je leurs donne un résumé de mon arrivée sur la côte, tous me disent que je suis arrivé avec beaucoup de chance. Je les remercies!!! C'est vrai qu'on ne débarque pas comme celà avec un tel bagage par ici...Pas facile de faire sa place au soleil....Mais bon il faut la mériter et aller la chercher...

Et dire que c'est bientôt Noël!!! Pour la semaine du 24, je vais poser une semaine, histoire de monter à Montpellier, le fêter avec mes amis...Ce soir-là, comme l'année dernière j'ai quand même un rituel par rapport à quelqu'un de proche que je me dois d'honorer..Je l'ai fait l'année dernière. Je tâcherais de le reformuler cette année...

Pour la prochaine année, je ne prévois rien de spécial à part faire ma vie ici sur la côte d'Azur/d'usure comme disent certains!!! J'ai le temps maintenant...

[Freebox & Qmail/SMTP] Réactivation de ma ligne suite à un impayé et test pour envoi de mail par SMTP depuis mon ordi à Montpellier

1. Réactivation de la ligne

Ca y est! Suite à un impayé émanant de ces languettes zot' marraine la po cabo la moucate de chez Free, ma ligne a enfin été réactivée!!!! Mes ordinateus répondent enfin !!! Donc pour résumer, suite à un réglement il faut moins de 24h00 pour la réactivation complète de tous les services!!!

C'est vraiment une band' la moucate ces gars-là!!! Mais bon que celà ne tienne

Je n'ai pas attendu plus longtemps!!! Une petite connexion en SSH à la maison pour m'assurer que mes fifilles (olivia et jenna - noms de mes ordinateurs) allaient bien. Et on reboote pour être sûr que le serveur a bien redémarré!

En rentrant ce soir à l'appartement, j'en ai profité pour appeler mon pote Ludo pour le prévenir que la ligne avait été réactivée. Enfin!!!

2. Envois de mails par SMTP

Depuis mon appartement d'Antibes, vu que mon IP est XXX.YYY.ZZZ.WWW, pour permettre l'envoi de mail depuis mon serveur SMTP à Montpellier, il a fallut commencer par filtrer le port SMTP. Maintenant, il s'agit pour Qmail/SMTP d'autorise mon IP pour l'envoi de mails

Rien de plus simple que

vi /service/smtpd/tcp

Ensuite on ajoute la ligne suivante

XXX.YYY.ZZZ.WWW:allow,RELAYCLIENT="",QMAILQUEUE="/var/qmail/bin/simscan"

On redémarre en douceur le serveur SMTP

cd /service/smtpd
make # pour prendre en compte les modifications apportées au fichier tcp
svc -d /service/smtpd # pour arrêter
svc -u /service/smtpd #pour démarrer

Depuis mon portable à mon appartement d'Antibes, sous évolution, j'envois un mail à davidtecher@yahoo.fr et on a donc

root@olivia:~# tail -f /service/smtpd/log/main/current |tai64nlocal 
2008-11-28 19:03:08.379718500 tcpserver: status: 1/40
2008-11-28 19:03:08.379722500 tcpserver: pid 9999 from XXX.YYY.ZZZ.WWW
2008-11-28 19:03:08.379724500 tcpserver: ok 9999 davidgis.fr:82.236.232.184:25 :XXX.YYY.ZZZ.WWW::36325
2008-11-28 19:03:09.228323500 tcpserver: end 9999 status 0
2008-11-28 19:03:09.228327500 tcpserver: status: 0/40
2008-11-28 19:06:24.367320500 tcpserver: status: 1/40
2008-11-28 19:06:24.367325500 tcpserver: pid 11356 from XXX.YYY.ZZZ.WWW
2008-11-28 19:06:24.367327500 tcpserver: ok 11356 davidgis.fr:82.236.232.184:25 :XXX.YYY.ZZZ.WWW::43555
2008-11-28 19:06:25.247288500 tcpserver: end 11356 status 0
2008-11-28 19:06:25.247293500 tcpserver: status: 0/40

root@olivia:~# tail -f /service/qmail/log/main/current |tai64nlocal 
2008-11-28 19:03:10.054911500 delivery 5: success: 193.252.149.39_accepted_message./Remote_host_said:_250_2.0.0_Ok:_queued_as_B565C158C002/
2008-11-28 19:03:10.054917500 status: local 0/10 remote 0/20
2008-11-28 19:03:10.054919500 end msg 11748578
2008-11-28 19:06:25.040473500 new msg 11748392
2008-11-28 19:06:25.040477500 info msg 11748392: bytes 655 from  qp 11357 uid 1004
2008-11-28 19:06:25.047312500 starting delivery 6: msg 11748392 to remote davidtecher@yahoo.fr
2008-11-28 19:06:25.047317500 status: local 0/10 remote 1/20
2008-11-28 19:06:27.125331500 delivery 6: success: 67.195.168.31_accepted_message./Remote_host_said:_250_ok_dirdel/
2008-11-28 19:06:27.125336500 status: local 0/10 remote 0/20
2008-11-28 19:06:27.125339500 end msg 11748392

Bingo!!!