PythonCGIScripte im Verzeichnis in /var/www

Hey Leute,

Ich selber bin begeisterter Python programmierer und habe ein Problem, dass ich bisher nicht lösen konnte.

Ich selber nutze Linux, weswegen mir viele Tutorial, die sich auf XAMPP und dergleichen bezogen haben nicht ganz nachvollziehen konnte…

Undzwar möchte ich gerne mein Python-Scripte auf dem Localhost in einem Extra-Verzeichnis zum laufen bringen.

Wenn ich die Python-Scripte in den Ordner / usr / lib / cgi-bin packe und dann im die URL localhost / cgi-bin / aufrufe klappt das alles…

Jedoch möchte ich gerne die Scripte im Ordner / var / www ausführen lassen (So wie es ja auch bei PHP-Scripten der Fall ist --> Die müssen ja auch nicht noch extra in den cgi-bin ordner unter usr / lib / gepackt werden…)

Deswegen hier meine Frage:

Ist es irgendiwe möglich in den Configs einen Alias oder so festzulegen, der es ermöglich python-Dateien im Ordner / var / www ausführen zu lassen?

Bisher will er die Dateien immer runterladen…

Ich benutze apache2. Das verwunderliche ist, dass die httpd.conf leer ist, wohingegen in den config dateien in sites-available und co alle Konfigurationen vorgenommen werden können…

Danke im Vorraus und schönen Abend noch!

Hallo,

Ist es irgendiwe möglich in den Configs einen Alias oder so
festzulegen, der es ermöglich python-Dateien im Ordner / var /
www ausführen zu lassen?

Du kannst einfach /var/www/ konfigurieren, wie das bisherige cgi-bin Verzeichnis konfiguriert ist. Vermutlich brauchst du ein

Options +ExecCGI

Ich benutze apache2. Das verwunderliche ist, dass die
httpd.conf leer ist, wohingegen in den config dateien in
sites-available und co alle Konfigurationen vorgenommen werden
können…

Das ist nicht weiter verwunderlich, z.B. bei Debian ist das die Voreinstellung.
Du kannst in die Dateien unter sites-available aber alle die Dinge reinschreiben, von denen diverse Tutorial im Internet sagen, dass du sie in die httpd.conf schreiben sollst.

Grüße,
Moritz

Hey Moritz,
Ich habe in der sites-available config einen Eintrag gefunden, der genau die Behandlung für den cgi-bin-Ordner aufzeigen müsste…

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/

AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
allow from all

Diese Eintrag habe ich in der Config nun kopiert und ein bisschen abgeändert…

ScriptAlias /var/www/ /usr/lib/cgi-bin/

AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
allow from all

Nach einen Neutsart vom Apache will er leider immernoch die Datei runterladen…

Ich habe auch schon den oberen Beitrag auskommentiert, damit nur der untere gültig ist. Leider hilft das nicht…

Kann ich sonst noch was ausprobieren?

Danke im Vorraus!

Hallo,

ScriptAlias /var/www/ /usr/lib/cgi-bin/

Das erste Argument von ScriptAlias ist ein Teil einer URL, nicht Teil des Dateisystems. Müsste bei dir also ein / sein.

Aber vermutlich müsste das hier schon reichen, ohne ein Script-Alias:

AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
allow from all

Grüße,
Moritz

Hallo Moritz,
Danke für deine Antwort.

Leider hat diese Einstellung auch nicht den gewünschten Effekt erzielt (apache will die .py-Datei immernoch zum Download anbieten…)

Ich poste hier am besten einfach mal eben meine default-Datei aus dem Ordner sites-available…

Vielleicht kannst du daran ablesen, was ich änder müsste?

Danke im Vorraus!

ServerAdmin webmaster@localhost

DocumentRoot /var/www

Options FollowSymLinks
AllowOverride None

Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/

AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all

ErrorLog ${APACHE_LOG_DIR}/error.log

Possible values include: debug, info, notice, warn, error, crit,

alert, emerg.

LogLevel warn

CustomLog ${APACHE_LOG_DIR}/access.log combined

Alias /doc/ „/usr/share/doc/“

Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128

ANFANG: GENERIERT VON PHILIPP

Alias fuer PHPMyAdmin

Alias /phpmyadmin „/usr/share/phpmyadmin/“

Noch eine Idee…
Probier mal das hier:

AddHanlder cgi-script .py

HTH,
Moritz

Hey Moritz,
Danke für deinen Tipp!
Du hast voll ins Schwarze getroffen!

Jetzt funktionierts!

Danke!