Apache2 Forbidden?

Hallo alle zusammen,
ich mache gerade Praktikum und ich soll ein Python-Script per CGI auf einem Apache2-Server auf Linux(Debian) einbinden. Wenn die Datei dann im Browser geöffnet werden soll steht dort die Meldung:
Forbidden

You don’t have permission to access /Hello.py on this server.

Folgendes habe ich schon probiert um das Problem zu beheben:
-alle Ordner und Datein im Server-Verzeichnis mit „chmod +x ***“ und „chmod 777 ***“ verändert
-"" Teil in apache2.conf verändert (httpd.conf ist leer)

Letzten 2. Einträge in Error.log:
[Thu Jun 03 20:58:06 2010] [error] [client „IP“] Options ExecCGI is off in this directory: /var/www/Hello.py, referer: „IP“
[Thu Jun 03 21:00:45 2010] [notice] SIGHUP received. Attempting to restart

Ich hoffe ihr könnt mir helfen:smile:

MfG Chrisel

Hi!

Schau mal hier:
http://wiki.ubuntuusers.de/apache

Vor allem unten unter „Python“… Dort steht, wie du es aktivierst.

Viele Grüße
André

Hier noch ein Beispiel für die httpd.conf:

ScriptAlias /cgi-bin/ "/srv/www/www.example.com/cgi-bin/"1

Options +ExecCGI2
AddHandler cgi-script .cgi .pl3
Order allow,deny4
Allow from all

Hallo Andre,

Danke für deine schnelle und hilfreiche antwort:smile: hat mir bis jetzt schon ziemlich geholfen. Ich habe nur noch ein paar fragen:
-Da wo in deinem Beispiel das www.example.de steht also das hinter Directory… was muss da für ein pfad hin? der normale pfad vom server?(bei mir var/www)
-Zwar steht jetzt nicht mehr beim öffnen das Forbidden, aber jetzt steht da: „Not found The requested URL /Hello.py was not found on this server.“ Wo muss ich die Datei Hello.py hinkopieren damit sie geöffnet wird?

Danke nochmal für deine Antwort:wink:

MfG Chrisel

Hi!

Genau, dein genauer Pfad zum Ordner:

ScriptAlias /cgi-bin/ "/var/www/deinunterordner/cgi-bin/"1

Options +ExecCGI2
AddHandler cgi-script .cgi .pl3
Order allow,deny4
Allow from all

Das File muss dann in den Ordner „/var/www/deinunterordner/cgi-bin/“.
Du kannst den Pfad ja benennen wie du magst und auch dann die Datei hinschieben, wie es dir gefällt.

Sollte so funktionieren, kann es gerade leider hier nicht nachstellen.

Viele Grüße
André

Also iwie komm ich jetzt nicht weiter:frowning:
Bei deinem beispiel zeigt mir das Terminal fehler an bei: +ExecCGI2, denny4 und der 1 nach dem Pfad
Wenn ich die zahlen lösche dann gibt es keinen fehler jedoch wird die datei Hello.py immernoch nicht gefunden:frowning:
ich hab gerade meinen pc durchsucht und festgestellt das es 2. Ordner die cgi-bin heißen gibt. Den den ich genommen habe und als Pfad angegeben(/usr/lib/cups/cgi-bin) beinhaltet 5 Datein die admin.cgi,classes.cgi, help.cgi, jobs.cgi und printers.cgi heißen
Ist das der richtige Ordner? Dort habe ich auch meine Hello.py reingetan

MfG Chrisel

Hallo Chrisel!

Die Datei muss in den Ordner, wo dein Arbeitsverzeichnis des Apaches liegt (also irgendwas bei „/var/www/…“). Hier muss die httpd.conf auch direkt „draufzeigen“, dass es sich um diesen Ordner handelt.
Habe mich da wohl auch „verkopiert“, hier nochmal ein Beispiel:

ScriptAlias /cgi-bin/ „/var/www/cgi-bin/“

„/var/www/cgi-bin“ should be changed to whatever your ScriptAliased

CGI directory exists, if you have that configured.

AllowOverride None
Options None
Order allow,deny
Allow from all

Hier der Link zur Beispieldatei:
http://livenudefrogs.com/~anubis/apache/httpd-conf.s…

Hier nochmal eine gute Anleitung:
http://web.mit.edu/rhel-doc/4/RH-DOCS/rhel-rg-de-4/s…
Weiter unten steht auch was zu „Directories“, „CGI“…

Viele Grüße
André

Okkay… also hab das jetzt so hinbekommen das zwar die datei gefunden wird aber wenn sie im browser geöffnet werden soll bietet er meine Hello.py nur als download an und öffnet sie nicht. Hab ich was vergessen?

MfG
Chrisel

Hi!

Hast du die „mod_perl“ in der Config eingestellt?

Hier dazu nochmal ein paar Einträge:
http://forum.de.selfhtml.org/archiv/2008/4/t169732/

Viele Grüße
André