Python Apache · 2 min read · Nov 12, 2025
Intégration de Python dans Apache2 avec mod_python (Debian Etch)
Intégration de Python dans Apache2 avec mod_python (Debian Etch)
Version 1.0
Auteur : Falko Timme
Ce tutoriel montre comment installer et utiliser mod_python sur un serveur Debian Etch avec Apache2. mod_python est un module Apache qui intègre l’interpréteur Python dans le serveur. Il vous permet d’écrire des applications web en Python qui s’exécuteront beaucoup plus rapidement que les CGI traditionnels et auront accès à des fonctionnalités avancées telles que la capacité de conserver les connexions à la base de données et d’autres données entre les requêtes et l’accès aux internals d’Apache.
Je ne donne aucune garantie que cela fonctionnera pour vous !
1 Remarque Préliminaire
J’ai testé cela sur un serveur Debian Etch avec l’adresse IP 192.168.0.100 où Apache2 est déjà installé.
J’utilise un hôte virtuel avec le répertoire racine /var/www dans cet exemple.
2 Installation de mod_python
Pour installer mod_python, il suffit de lancer :
apt-get install libapache2-mod-python
3 Configuration d’Apache
Maintenant, nous devons configurer Apache afin 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.
3.1 Le Publisher Handler
Pour activer le Publisher Handler, nous devons ouvrir notre configuration vhost (j’utilise le vhost par défaut sur Debian avec le répertoire racine /var/www ; la configuration pour ce vhost se trouve dans /etc/apache2/sites-available/default) et ajouter les lignes AddHandler mod_python .py, PythonHandler mod_python.publisher, et PythonDebug On :
vi /etc/apache2/sites-available/default
| [...] |
Redémarrez Apache ensuite :
/etc/init.d/apache2 restart
Maintenant, nous créons un petit script de test Python (par exemple /var/www/test.py) avec du code Python pur…
vi /var/www/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.
3.2 Le PSP Handler
Pour activer le PSP Handler, nous devons ouvrir notre configuration vhost (j’utilise le vhost par défaut sur Debian avec le répertoire racine /var/www ; la configuration pour ce vhost se trouve dans /etc/apache2/sites-available/default) et ajouter les lignes AddHandler mod_python .psp, PythonHandler mod_python.psp, et PythonDebug On :
vi /etc/apache2/sites-available/default
| [...] |
Redémarrez Apache ensuite :
/etc/init.d/apache2 restart
Maintenant, nous créons un petit script de test PSP (par exemple /var/www/test.psp) avec du code HTML et Python…
vi /var/www/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.
4 Modules Python
Si vous avez besoin de modules Python supplémentaires, vous pouvez les rechercher comme ceci :
apt-cache search python
Choisissez ceux dont vous avez besoin et installez-les comme suit :
apt-get install python-mysqldb python-xml
Redémarrez Apache ensuite :
/etc/init.d/apache2 restart
5 Liens
- mod_python : http://www.modpython.org
- Python : http://www.python.org
- Apache : http://httpd.apache.org
- Debian : http://www.debian.org
Recevez de nouveaux articles dans votre boîte de réception.
Aucun spam. Désabonnez-vous à tout moment.