Ma petite recette, composée en piochant à droite et gauche, entre le guide OVH out of date, des forums et des petites expériences perso, ...

0 - essayer emerge mod_python à tout hasard. Chez moi ça donne des messages d'erreur à la con, même après avoir perdu 15 minutes après un emerge --sync : daube.

1 - se loguer en root, aller dans un endroit tranquille genre /home/ovh/src

2 - télécharger la dernière source de mod_python

wget http://apache.cict.fr/httpd/modpython/mod_python-3.3.1.tgz

3 - on décompacte l'archive

tar zxvf mod_python-3.3.1.tgz

4 - on rentre dans le repertoire et on configure

./configure --with-apxs=/usr/local/apache/bin/apxs

J'avais téléchargé les sources de mon apache (sous gentoo on est en apache 2.0.59) et donné l'option --with-apache= à configure, mais ça me sortait un autre message d'erreur comme quoi la compilation statique avec apache n'était pas supportée. J'ai tout simplement supprimé l'option --with-apache.

5 - ensuite, je suis le guide OVH :

Modifions ensuite un paramètre dans le Makefile pour éliminer un warning désagréable au chargement du module. Il suffit pour cela d'éditer le fichier /home/ovh/src/mod_python-3.3.1/src/Makefile :

nano src/Makefile
 
changer la ligne
OPT=
en
OPT= -DEAPI

6 - après, encore une manip du guide OVH :

Enfin, nous allons vérifier que le module sera bien compilé avec les include de python2.3 :

ln -s /usr/local/include/python2.3/ /usr/include/python2.3

7 - après, on compile

make
make install

8 - On vérifie que le petit jésus est arrivé :

ls -l /usr/local/apache/modules

On doit avoir un mod_python.so tout frais.

9 - On dit à Apache de charger mod_python

nano /usr/local/apache/conf/httpd.conf

ajouter la ligne

LoadModule python_module modules/mod_python.so

10 - On redémarre Apache

Moi je fais ça via webmin.

11 - On vérifie que ça a marché :

tail -f /var/log/httpd/error_log

me donne un joli :

[Tue Sep 01 16:26:13 2009] [notice] Apache/2.0.59 (Unix) mod_ssl/2.0.59 OpenSSL/0.9.8g DAV/2 mod_python/3.3.1 Python/2.4.4 configured -- resuming normal operations

Bon, maintenant je vais voir si j'arrive à faire tourner Trac.