Ich wollte mal testen ob man mod_python
für eine XAMPP Installation unter Linux aktivieren kann. Ein sehr
umständliches Unterfangen.Nach umfangreicher,erfolgloser, Recherche
im Web habe ich mir folgende, für Anfänger leicht nachvollziehbare
Lösung überlegt.Ich habe mir mod-python mittels apt-get
installiert.
sudo apt-get install libapache2-mod-python
Leider kommt damit auch der Apache auf meinen Rechner,
den ich ja mit XAMPP schon installiert habe. Ich kopiere mir also das
mod_python.so aus dem /usr/lib/apache2/modules/ Ordner (den Pfad
finde ich wenn ich unter /etc/apache2/mods-available/python.load
nachsehe) in mein /opt/lampp/modules Verzeichnis. Danach
deinstalliere ich den Apache2 (und nur den) wieder mit Synaptic,oder ich sorge dafür, dass der Apache nicht als Dienst eingerichtet wird,
damit es nicht zu Fehlermeldungen kommt.
Dann gehe ich in das Verzeichnis :
/opt/lampp/etc ,öffne als root die Datei „httpd.conf“ und füge
LoadModule python_module /opt/lampp/modules/mod_python.so ein.
Unter DocumentRoot "/opt/lampp/htdocs" ändere ich den Eintrag wie folgt:
<Directory >
Options Indexes
FollowSymLinks
AllowOverride None
Order allow,deny
allow from all
AddHandler mod_python
.py
PythonHandler
mod_python.publisher
PythonDebug On
</Directory>
Ich lege mir nun eine Datei mit dem
Namen test.py mit folgendem Inhalt:
def index(req):
return
"Test erfolgreich!"
unter /opt/lampp/htdocs an,
starte den Server mit:
sudo
/opt/lampp/lampp start
und rufe im Browser: localhost/test.py
auf.
Wenn alles geklappt hat darf dort nur :
„Test
erfolgreich“ stehen.
Wenn ich mein Python-Script in eine Html-Seite einbinden möchte ändere ich den Text in der httpd.conf wie folgt:
AddHandler mod_python .psp
PythonHandler mod_python.psp
PythonDebug On
(psp = python server page)
Ein kleines Beispiel:
<%
import time
wochentag = time.strftime('%A',
time.localtime(time.time()))
message = 'Hallo Leute! Heute ist %s.'
% wochentag
%>
<html>
<body>
<h1><%= message %></h1>
</body>
</html>
Ich speicher die Datei als time.psp wieder unter /opt/lampp/htdocs und rufe im Browser :
localhost/time.psp auf.
Ich installiere mir den Apache2, plus libapache2-mod-python, auf mein System und füge folgenden Text in die httpd.conf-Datei ein: (Nicht wundern, wenn die vorher leer ist. Selbige dient zur Konfiguration durch den User !)
LoadModule python_module /modules/mod_python.so
DocumentRoot "/var/www"
<Directory />
Options Indexes
FollowSymLinks
AllowOverride None
Order allow,deny
allow from all
AddHandler mod_python .psp
PythonHandler mod_python.psp
PythonDebug On
</Directory>
Und meine time.psp Datei speicher ich nun unter var/www ab.