Apache Python · 3 min read · Nov 13, 2025
Intégration de Python dans Apache2 avec mod_python (Debian/Ubuntu, Fedora/CentOS, Mandriva, OpenSUSE) - Page 3
5 OpenSUSE 11
5.1 Installation de mod_python
Pour installer mod_python, il suffit de lancer :
yast -i apache2-mod_pythonPour activer mod_python, ouvrez /etc/sysconfig/apache2 et ajoutez python à la ligne APACHE_MODULES, par exemple comme ceci :
vi /etc/sysconfig/apache2| [...] APACHE_MODULES="actions alias auth_basic authn_file authz_host authz_groupfile authz_default authz_user authn_dbm autoindex cgi dir env expires include log_config mime negotiation setenvif ssl suexec userdir php5 rewrite python" [...] |
Ensuite, exécutez
SuSEconfiget redémarrez Apache :
/etc/init.d/apache2 restart5.2 Configuration d’Apache
Maintenant, nous devons configurer Apache pour qu’il puisse gérer les fichiers Python. Il existe 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.
5.2.1 Le Publisher Handler
Pour activer le Publisher Handler, nous créons une configuration mod_python dans /etc/apache2/conf.d/python.conf (ce fichier n’existe pas donc nous le créons). J’utilise le répertoire racine par défaut d’OpenSUSE /srv/www/htdocs ici dans la directive
vi /etc/apache2/conf.d/python.conf| |
Veuillez noter : si vous utilisez ISPConfig (à partir de la version 2.2.24) sur le serveur, ne créez pas ce fichier 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 l’utilisation de mod_python par un site web ou non.
Redémarrez Apache ensuite :
/etc/init.d/apache2 restartMaintenant, nous créons un petit script de test Python (par exemple /srv/www/htdocs/test.py) avec du code Python pur dedans…
vi /srv/www/htdocs/test.py| def index(req): return "Test réussi"; |
… et appelez-le 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.
5.2.2 Le PSP Handler
Pour activer le PSP Handler, nous créons une configuration mod_python dans /etc/apache2/conf.d/python.conf (ce fichier n’existe pas donc nous le créons). J’utilise le répertoire racine par défaut d’OpenSUSE /srv/www/htdocs ici dans la directive
vi /etc/apache2/conf.d/python.conf| |
Veuillez noter : si vous utilisez ISPConfig (à partir de la version 2.2.24) sur le serveur, ne créez pas ce fichier 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 l’utilisation de mod_python par un site web ou non. Notez également qu’ISPConfig ne prend pas en charge le PSP Handler - il utilise le Publisher Handler.
Redémarrez Apache ensuite :
/etc/init.d/apache2 restartMaintenant, nous créons un petit script de test PSP (par exemple /srv/www/htdocs/test.psp) avec du code HTML et Python dedans…
vi /srv/www/htdocs/test.psp| |<% req.write("Bonjour !") %>
… et appelez-le dans un navigateur (par exemple http://192.168.0.100/test.psp). Si tout se passe bien, cela devrait afficher Bonjour ! dans votre navigateur.
6 Liens
- mod_python : http://www.modpython.org
- Python : http://www.python.org
- Apache : http://httpd.apache.org
Recevez de nouveaux articles dans votre boîte de réception.
Aucun spam. Désabonnez-vous à tout moment.