Apache Python · 2 min read · Nov 13, 2025

Incorporare Python in Apache2 con mod_python (Debian/Ubuntu, Fedora/CentOS, Mandriva, OpenSUSE) - Pagina 3

5 OpenSUSE 11

5.1 Installazione di mod_python

Per installare mod_python, eseguiamo semplicemente:

yast -i apache2-mod_python

Per abilitare mod_python, apri /etc/sysconfig/apache2 e aggiungi python alla riga APACHE_MODULES, ad esempio in questo modo:

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" [...] |

Dopo, esegui

SuSEconfig

e riavvia Apache:

/etc/init.d/apache2 restart

5.2 Configurazione di Apache

Ora dobbiamo configurare Apache affinché 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 saranno 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.

5.2.1 Il Publisher Handler

Per abilitare il Publisher Handler, creiamo una configurazione mod_python in /etc/apache2/conf.d/python.conf (questo file non esiste quindi lo creiamo). Sto usando la root del documento predefinita di OpenSUSE /srv/www/htdocs qui nella direttiva - adatta questo alle tue esigenze. Le righe importanti sono AddHandler mod_python .py e PythonHandler mod_python.publisher:

vi /etc/apache2/conf.d/python.conf

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

Si prega di notare: se utilizzi ISPConfig (dalla versione 2.2.24 in poi) sul server, non creare quel file poiché abiliterebbe mod_python globalmente per la directory in questione. In ISPConfig puoi abilitare mod_python su base per sito web, il che ti dà più controllo su se un sito web può utilizzare mod_python o meno.

Riavvia Apache dopo:

/etc/init.d/apache2 restart

Ora creiamo un piccolo script di test Python (ad esempio /srv/www/htdocs/test.py) con codice Python puro al suo interno…

vi /srv/www/htdocs/test.py

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

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

5.2.2 Il PSP Handler

Per abilitare il PSP Handler, creiamo una configurazione mod_python in /etc/apache2/conf.d/python.conf (questo file non esiste quindi lo creiamo). Sto usando la root del documento predefinita di OpenSUSE /srv/www/htdocs qui nella direttiva - adatta questo alle tue esigenze. Le righe importanti sono AddHandler mod_python .py e PythonHandler mod_python.psp:

vi /etc/apache2/conf.d/python.conf

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

Si prega di notare: se utilizzi ISPConfig (dalla versione 2.2.24 in poi) sul server, non creare quel file poiché abiliterebbe mod_python globalmente per la directory in questione. In ISPConfig puoi abilitare mod_python su base per sito web, il che ti dà più controllo su se un sito web può utilizzare mod_python o meno. Nota anche che ISPConfig non supporta il PSP Handler - utilizza il Publisher Handler.

Riavvia Apache dopo:

/etc/init.d/apache2 restart

Ora creiamo un piccolo script di test PSP (ad esempio /srv/www/htdocs/test.psp) con codice HTML e Python al suo interno…

vi /srv/www/htdocs/test.psp

|

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

|

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

6 Link

Share: X/Twitter LinkedIn

Ricevi i nuovi post nella tua casella di posta.

Nessuno spam. Disiscriviti in qualsiasi momento.