Python Apache · 2 min read · Nov 12, 2025

Incorporare Python In Apache2 Con mod_python (Debian Etch)

Incorporare Python In Apache2 Con mod_python (Debian Etch)

Versione 1.0
Autore: Falko Timme

Questo tutorial mostra come installare e utilizzare mod_python su un server Debian Etch con Apache2. mod_python è un modulo Apache che incorpora l’interprete Python all’interno del server. Ti consente di scrivere applicazioni web in Python che verranno eseguite molte volte più velocemente rispetto ai tradizionali CGI e avranno accesso a funzionalità avanzate come la possibilità di mantenere le connessioni al database e altri dati tra le richieste e l’accesso agli interni di Apache.

Non fornisco alcuna garanzia che questo funzionerà per te!

1 Nota Preliminare

Ho testato questo su un server Debian Etch con l’indirizzo IP 192.168.0.100 dove Apache2 è già installato.

Sto usando un host virtuale con la root del documento /var/www in questo esempio.

2 Installazione di mod_python

Per installare mod_python, dobbiamo semplicemente eseguire:

apt-get install libapache2-mod-python

3 Configurazione di Apache

Ora dobbiamo configurare Apache in modo che possa gestire i file Python. Ci sono due modi per farlo. Il primo (e predefinito) è utilizzare il Publisher Handler. Ti consente di scrivere script Python puri con l’estensione .py che verranno interpretati da Apache. Il secondo modo è il PSP Handler. PSP sta per Python Server Pages. Ti consente di incorporare codice Python direttamente nel codice HTML, simile a PHP. I file PSP hanno l’estensione .psp.

3.1 Il Publisher Handler

Per abilitare il Publisher Handler, dobbiamo aprire la nostra configurazione vhost (sto usando il vhost predefinito su Debian con la root del documento /var/www; la configurazione per questo vhost si trova in /etc/apache2/sites-available/default) e aggiungere le righe AddHandler mod_python .py, PythonHandler mod_python.publisher e 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 [...] |

Riavvia Apache successivamente:

/etc/init.d/apache2 restart

Ora creiamo un piccolo script di test Python (ad es. /var/www/test.py) con codice Python puro…

vi /var/www/test.py

| def index(req): return "Test riuscito"; |

… e chiamalo in un browser (ad es. http://192.168.0.100/test.py). Se tutto va bene, dovrebbe visualizzare Test riuscito nel tuo browser.

3.2 Il PSP Handler

Per abilitare il Publisher Handler, dobbiamo aprire la nostra configurazione vhost (sto usando il vhost predefinito su Debian con la root del documento /var/www; la configurazione per questo vhost si trova in /etc/apache2/sites-available/default) e aggiungere le righe AddHandler mod_python .psp, PythonHandler mod_python.psp e 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 [...] |

Riavvia Apache successivamente:

/etc/init.d/apache2 restart

Ora creiamo un piccolo script di test PSP (ad es. /var/www/test.psp) con codice HTML e Python in esso…

vi /var/www/test.psp

|

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

|

… e chiamalo in un browser (ad es. http://192.168.0.100/test.psp). Se tutto va bene, dovrebbe visualizzare Ciao! nel tuo browser.

4 Moduli Python

Se hai bisogno di ulteriori moduli Python, puoi cercarli in questo modo:

apt-cache search python

Scegli quelli di cui hai bisogno e installali come segue:

apt-get install python-mysqldb python-xml

Riavvia Apache successivamente:

/etc/init.d/apache2 restart

5 Link

Share: X/Twitter LinkedIn

Ricevi i nuovi post nella tua casella di posta.

Nessuno spam. Disiscriviti in qualsiasi momento.