Verteilen von Python-Programmen mit Apache unter Vermeidung von CGIWrap

398
Aaron Brick

Ich möchte Python-Programme im Web veröffentlichen, nicht ausführen. Wenn ich einen in mein Web-Verzeichnis stecke, springt CGIWrap auf und sagt:

"CGIWrap-Fehler: Ausführung dieses Skripts nicht zulässig"

Welche Konfiguration kann ich Apache oder CGIWrap so geben, dass er den Inhalt von .py-Dateien bereitstellt, anstatt in die oben genannten Informationen zu gelangen?

1
Wenn sie eine .py-Erweiterung haben, sollten Sie diese wahrscheinlich ändern (verwenden Sie ggf. .txt oder .html). Ebenso würde ich erwägen, alle Shebang-Linien zu entfernen und einfach anzugeben, dass sie wieder hinzugefügt werden müssen. Wenn Sie sie verteilen, kann es hilfreich sein, sie in einem komprimierten Format zu verpacken. Anaksunaman vor 6 Jahren 0

1 Antwort auf die Frage

1
Peter Berbec

Aus einer Antwort, wie man ein Python-Skript ausführt, griff ich:

Options +ExecCGI AddHandler cgi-script .py 

Dies und eine kurze Überfahrt zu den Apache-Dokumenten (um die Umkehrung von AddHandler zu lernen) veranlassen mich zu folgendem Vorschlag:

Options -ExecCGI RemoveHandler .py 

Lassen Sie mich wissen, ob dies für Sie funktioniert!

Dies scheint der richtige Ansatz zu sein, aber anscheinend gibt es eine AllowOverride-Einstellung, die mich vom Testen abhält (dh die .htaccess-Datei wird nicht gelesen). Ich werde den Sysadmin fragen, ob dies der einzige Weg ist. Aaron Brick vor 6 Jahren 1
Ah! Das nervt. Bei jeder Änderung können Sie die Dateien einfach in ".py.txt" umbenennen. Peter Berbec vor 6 Jahren 0
Ich werde das nicht tun, aber Sie bringen mich auf die richtige Spur. Vielen Dank! Aaron Brick vor 6 Jahren 0