PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : cgi-bin geht nicht



boon
04.05.03, 12:33
hallo,
ich hab mandrake 9.0
darauf den apache installiert
jetzt kann ich aber keine scripts in /var/www/cgi-bin ausführen

ein auszug aus der config datei:





<Directory /var/www/cgi-bin>
AllowOverride All
Options ExecCGI
Order allow,deny
Allow from all
</Directory>


vielleicht weiss ja noch jemand rat, wieso das es nicth geht

gruss, boon

tomes
04.05.03, 12:58
Original geschrieben von boon
[B]hallo,
ich hab mandrake 9.0
darauf den apache installiert
jetzt kann ich aber keine scripts in /var/www/cgi-bin ausführen

Sind die Scripte ausfuehrbar, insbesondere fuer den Apache-User ? Was sagt das log ( ../httpd/error_log ) ?

T;o)Mes

boon
04.05.03, 13:42
also /var/log/httpd/error.log sagt folgendes:



[Sun May 4 14:40:06 2003] [error] [client 192.168.0.4] client denied by server configuration: /var/www/cgi-bin/test.cgi


die scripte sind auch ausführbar:


-rwxr-xr-x 1 apache apache 70 Mai 4 13:28 test.cgi*


und die verzeichnisse haben alle chmod 0755

michael.sprick
04.05.03, 14:24
Hi,

wie wird denn das Script aufgerufen?

und:

gibt es evtl einen Eintrag, der die Directory Direktive überschreibt?

und:

gibt es einen dazugehörigen Scriptalias? ( ScriptAlias "/cgi-bin/" /var/www/cgi-bin/ )

gruss, Michael

michael.sprick
04.05.03, 14:25
achja:

und:

darf dem Client denn normales HTML angezeigt werden? hat er access auf Http://HOSTNAME ?

boon
04.05.03, 14:43
also ich hab die einträge



ScriptAlias /cgi-bin/ /var/www/cgi-bin/
ScriptAlias /protected-cgi-bin/ /var/www/protected-cgi-bin/


und



# This should be changed to whatever you set DocumentRoot to.
#
<Directory /var/www/html>


und



<Directory /var/www/cgi-bin>
AllowOverride All
Options ExecCGI Includes IncludesNOEXEC
</Directory>


im script steht folgendes:


#!/bin/perl
print "Content-Type:Text/Html\n\n";
print " Hello World ";



aber so wie ich das sehe, hat apache gar keine berechtigung für das verzeichnis
normale htmldateien gehen dort auch nicht
und wenn ich z.b. http://localhost/cgi-bin/ungueltiges.cgi aufrufe
dann bekomm ich auch den fehler, acces denied (obwohl es ungueltigses.cgi ja gar nicht giebt)

gruss, boon

sepp2k
04.05.03, 14:52
Wie sind denn die Berechtigungen für das verzeichniss /var/www/cgi-bin?
btw: benutz doch das Perl-Modul CGI, dann musst du den header nicht per print-Befehl senden, außerdem sind da noch n paar andere nützlich Funktionen drin

boon
04.05.03, 14:54
wo/wie sehe ich, ob das modul geladen ist?

so sieht das aus
drwxr-xr-x 3 root root 4096 Mai 4 15:45 cgi-bin/
drwxr-xr-x 4 root root 4096 Mai 4 15:27 html/

boon
04.05.03, 14:58
allerdings funktioniert
http://www.bafh.ch/perl/mod_perl-testscript.pl
wieder

sepp2k
04.05.03, 15:00
Da fällt mir ein: Hast du mod_perl installiert?
Was das CGI-Modul für Perl angeht: Das lädst du mit use CGI; (innerhalt des Perlscripts)

boon
04.05.03, 15:06
hmm ich hab grad noch was neues herausgefunden
ich hab noch /var/www/perl/

wenn ich jetzt das cgi script hierhin kopiere
mit dem header #!/usr/bin/perl

dann funktioniert es ;)

also ist mod perl ja installiert?!

tomes
04.05.03, 15:07
module_cgi geladen ?

T;o)Mes

boon
04.05.03, 15:11
ist das das gleiche wie:

LoadModule cgi_module module/mod_cgi.so

?

tomes
04.05.03, 16:50
Ja, ist das selbe

T;o)Mes

tomes
04.05.03, 17:02
Hast du wirklich zwei verschiedene cgi-bin Directorys ?
1.


<Directory /var/www/cgi-bin>
AllowOverride All
Options ExecCGI
Order allow,deny
Allow from all
</Directory>

2.


<Directory /var/www/cgi-bin>
AllowOverride All
Options ExecCGI Includes IncludesNOEXEC
</Directory>

Ausserdem deutet das du im /var/www/perl deine Scripts ausfuehren darfst darauf hin, das du noch mehr doppelte Eintraege hast.
Vielleicht deshalb das Problem.

T;o)Mes

boon
04.05.03, 17:45
ich hab soviel rumgebastelt, das es jetzt möglich ist, das ich doppelte einträge habe ;(

aber die beiden quotes, die du aufgelistet hast, sind nicht doppelt, sondern die 1. quote wurde in die 2. geändert

gruss, boon