Dato che ogni tanto mi metto a provare qualche idea che mi viene i mente oggi mi sono messo a giocherellare un po con il mod_python [1], ma sul mio server non era configurato quindi, se a qualcuno puo servire, metto qui i semplici passi per configurarlo.
Per prima cosa bisogna installarlo, io uso una Debian quindi un semplice:

sudo apt-get install libapache2-mod-python

Non ci rsta che configurare Apache per interpretare i nostri file Python. Esistono 2 modi per farlo, fargli interpretare file python puri, .py per intenderci, oppure file Python Server Pages , .psp, che permettono di integrare codice python direttamente nell’HTML. Io ho scelto la seconda, non conosco i vantaggi e solo perche ricordavo di aver fatto questa in precedenza e quindi l’ho usata.
passiamo quindi alla configurazione di apache quindi apriamo il file di configurazione di default dei virtual host di Apache, la posizione varia in base alla distribuzione e dipende se avete altre configurazioni di virtual host, richiamando il file in questo modo:

vi /etc/apache2/sites-available/default

e aggiungo le linee che mancano alla vostra configurazione:

[...]

                Options Indexes FollowSymLinks MultiViews
                AllowOverride None
                Order allow,deny
                allow from all
		## Queste linee abilitano l'interpretazione dei file .py
                AddHandler mod_python .py
                PythonHandler mod_python.publisher
                PythonDebug On
		## fine

[...]

fatto questo salviamo e riavviamo il server Apache:

sudo /etc/init.d/apache2 restart

Ora bisogna testare se il tutto funziona, sempre che fino ad ora tutto sia andato liscio, lo facciamo creando due file, un semplice form in HTML, lo chiameremo test.html:

<html>
<head><title> Mod_python test form</title></head>
<body>
<form action=”form.py/processa” method=”POST”>
Inserisci il tuo nome:<br />
<input type=”text” name=”name”><br />
<input type=”submit”><br />
</form>
</body>
</html>

e un file python che processi i dati del form, lo chiameremo form.py:

def processa(req, name):
    if not name:
        return "Who are you?"
    else:
        return "Ciao %s!" % name

salviamo questi file nella directori radice di Apache, nel mio caso /var/www ed apriamo il nostro browser all’indirizzo, sempre nel mio caso, http://localhost/test.html apparirà un form molto semplice inserite il vostro nome o quello che vi pare e cliccate sul bottone. il risultato sara qualcosa tipo Ciao quellocheavetenserito. Se fino ad ora tutto non ha restituito errori ed ha funzionato allora potete iniziare a divertirvi a scriptare quanto volete, ma se invece qualcosa non funziona allora vi verrà segnalato.
Mod_python utilizza un oggetto request che possiamo utilizzare per processare i nostri dati alcune funzioni utili allo scopo possono essere req.write() e req.read() per scrivere e leggere sull’oggetto o si possono sollevare eccezzioni con apache.SERVER_ERROR. Questo dovrebbe essere tutto se avete problemi chiedete cerchero di rispondervi e chiarire i vostri dubbi.

[1] www.modpython.org

— Fine —
Post scritto con KBlogo