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

| [...] Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all AddHandler mod_python .py PythonHandler mod_python.publisher PythonDebug On [...] |

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

| [...] Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all AddHandler mod_python .psp PythonHandler mod_python.psp PythonDebug On [...] |

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

Share: X/Twitter LinkedIn

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

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