Installation Python · 3 min read · Nov 12, 2025

Intégration de Python dans Apache2 avec mod_python (Debian/Ubuntu, Fedora/CentOS, Mandriva, OpenSUSE) - Page 2

4 Mandriva 2008 Spring (2008.1)

4.1 Installation de mod_python

Avant de pouvoir installer mod_python, nous devons activer les dépôts main, main_updates, contrib et contrib_updates. Allez sur http://easyurpmi.zarb.org/ - cela devrait vous donner les commandes que vous devez exécuter pour activer ces dépôts. Dans mon cas, j’ai exécuté

urpmi.addmedia contrib ftp://distrib-coffee.ipsl.jussieu.fr/pub/linux/MandrivaLinux/official/2008.1/i586/media/contrib/release with media_info/hdlist.cz
urpmi.addmedia --update contrib_updates ftp://distrib-coffee.ipsl.jussieu.fr/pub/linux/MandrivaLinux/official/2008.1/i586/media/contrib/updates with media_info/hdlist.cz
urpmi.addmedia main ftp://distrib-coffee.ipsl.jussieu.fr/pub/linux/MandrivaLinux/official/2008.1/i586/media/main/release with media_info/hdlist.cz
urpmi.addmedia --update main_updates ftp://distrib-coffee.ipsl.jussieu.fr/pub/linux/MandrivaLinux/official/2008.1/i586/media/main/updates with media_info/hdlist.cz

pour les activer.

Pour installer mod_python, nous exécutons simplement :

urpmi apache-mod_python

4.2 Configuration d’Apache

Maintenant, nous devons configurer Apache afin qu’il puisse gérer les fichiers Python. Il y a deux façons de le faire. La première (et par défaut) est d’utiliser le Publisher Handler. Cela vous permet d’écrire des scripts Python purs avec l’extension .py qui seront interprétés par Apache. La deuxième façon est le PSP Handler. PSP signifie Python Server Pages. Cela vous permet d’incorporer du code Python directement dans le code HTML, similaire à PHP. Les fichiers PSP ont l’extension .psp.

4.2.1 Le Publisher Handler

Pour activer le Publisher Handler, nous devons modifier la configuration de mod_python que vous pouvez trouver dans /etc/httpd/modules.d/16_mod_python.conf. Ce fichier contient de nombreux exemples - nous en faisons une sauvegarde et créons ce fichier à nouveau à partir de zéro. J’utilise le répertoire racine par défaut de Mandriva /var/www/html ici dans la directive - ajustez cela selon vos besoins. Les lignes importantes sont AddHandler mod_python .py et PythonHandler mod_python.publisher :

cp /etc/httpd/modules.d/16_mod_python.conf /etc/httpd/modules.d/16_mod_python.conf_orig  
cat /dev/null > /etc/httpd/modules.d/16_mod_python.conf  
vi /etc/httpd/modules.d/16_mod_python.conf

| LoadModule python_module extramodules/mod_python.so Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all AddHandler mod_python .py PythonHandler mod_python.publisher PythonDebug On |

Veuillez noter : si vous utilisez ISPConfig (à partir de la version 2.2.24) sur le serveur, veuillez omettre la partie dans le fichier ci-dessus car cela activerait mod_python globalement pour le répertoire en question. Dans ISPConfig, vous pouvez activer mod_python sur une base par site, ce qui vous donne plus de contrôle sur la possibilité d’utiliser mod_python ou non pour un site web.

Redémarrez Apache ensuite :

/etc/init.d/httpd restart

Maintenant, nous créons un petit script de test Python (par exemple /var/www/html/test.py) avec du code Python pur dedans…

vi /var/www/html/test.py

| def index(req): return "Test réussi"; |

… et l’appelons dans un navigateur (par exemple http://192.168.0.100/test.py). Si tout se passe bien, cela devrait afficher Test réussi dans votre navigateur.

4.2.2 Le PSP Handler

Pour activer le PSP Handler, nous devons modifier la configuration de mod_python que vous pouvez trouver dans /etc/httpd/modules.d/16_mod_python.conf. Ce fichier contient de nombreux exemples - nous en faisons une sauvegarde et créons ce fichier à nouveau à partir de zéro. J’utilise le répertoire racine par défaut de Mandriva /var/www/html ici dans la directive - ajustez cela selon vos besoins. Les lignes importantes sont AddHandler mod_python .py et PythonHandler mod_python.psp :

cp /etc/httpd/modules.d/16_mod_python.conf /etc/httpd/modules.d/16_mod_python.conf_orig  
cat /dev/null > /etc/httpd/modules.d/16_mod_python.conf  
vi /etc/httpd/modules.d/16_mod_python.conf

| LoadModule python_module extramodules/mod_python.so Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all AddHandler mod_python .psp PythonHandler mod_python.psp PythonDebug On |

Veuillez noter : si vous utilisez ISPConfig (à partir de la version 2.2.24) sur le serveur, veuillez omettre la partie dans le fichier ci-dessus car cela activerait mod_python globalement pour le répertoire en question. Dans ISPConfig, vous pouvez activer mod_python sur une base par site, ce qui vous donne plus de contrôle sur la possibilité d’utiliser mod_python ou non. Veuillez également noter qu’ISPConfig ne prend pas en charge le PSP Handler - il utilise le Publisher Handler.

Redémarrez Apache ensuite :

/etc/init.d/httpd restart

Maintenant, nous créons un petit script de test PSP (par exemple /var/www/html/test.psp) avec du code HTML et Python dedans…

vi /var/www/html/test.psp

|

<% req.write("Bonjour!") %>

|

… et l’appelons dans un navigateur (par exemple http://192.168.0.100/test.psp). Si tout se passe bien, cela devrait afficher Bonjour! dans votre navigateur.

Share: X/Twitter LinkedIn

Recevez de nouveaux articles dans votre boîte de réception.

Aucun spam. Désabonnez-vous à tout moment.