GeinMedlem sedan sep. 20004 849 inlägg
Hur ska jag konfigurera min linuxserver för att den ska kunna äta mina cgi-script? Om jag lägger filerna i /usr/lib/cgi-bin o försöker komma åt dom via url: http.../cgi-bin/fil.cgi så får jag bara felmeddelande ala "500 Internal Server Error".
Jag vill även kunna lägga cgi-script i andra kataloger, typ hemkataloger, och det gör jag tydligen genom att lägga till en fil .htaccess i den katalog jag vill ha cgi-script i och sedan skriva i den: Options +ExecCGI
Gjorde detta, men får precis samma fel när jag försöker köra script som ligger i den katalogen. Har provat med ett litet hello world-cgi-script som jag hittade och det blir samma fel, alltså verkar det inte vara något fel i koden iaf.
Ja, jag har använt sökfunktionen här på wF :)
Patrik NylinMedlem sedan dec. 1999207 inlägg
Har du rätt sökväg till perl? (första raden i scriptet)
Har du överfört scripten i ASCII-format?
Har du gett scripten rätt rättigheter? (tex. 755 eller 777)
GeinMedlem sedan sep. 20004 849 inlägg
Ja, rätt sökväg. Filerna är skapade på servern så det torde inte vara något problem och jag testade nu med rättigheter 777. Ingen skillnad. Det verkar inte ens ha med scriptet att göra. För bara jag försöker gå in på katalogen, utan att ange någon fil i URL:en så får jag det där felmeddelandet:
http://www.knivby.nu/~gein/sml/tenta/julmust/
http://www.knivby.nu/~gein/sml/tenta/julmust/first.pl
Borde vara någon inställning nånstans?
r) http://www.knivby.nu/cgi-bin/first.pl <- ger samma fel
Peter_BMedlem sedan apr. 2000595 inlägg
Ta en titt i apaches error_log. där finns det nästan säkert ledtrådar
GeinMedlem sedan sep. 20004 849 inlägg
Så här tycker felloggen:
[Wed Dec 11 07:54:28 2002] [error] (13)Permission denied: exec of /usr/lib/cgi-bin/first.pl failed
[Wed Dec 11 07:54:28 2002] [error] [client 192.168.0.102] Premature end of script headers: /usr/lib/cgi-bin/first.pl
[Wed Dec 11 07:54:29 2002] [error] (13)Permission denied: exec of /usr/lib/cgi-bin/first.pl failed
[Wed Dec 11 07:54:29 2002] [error] [client 192.168.0.102] Premature end of script headers: /usr/lib/cgi-bin/first.pl
JojoxxMedlem sedan juni 20004 306 inlägg
Har du provat att sätta +ExecCGI direkt i httpd.conf?
Exempel.
(Flyttar tråden till Apache-forumet)
(Red. url)
GeinMedlem sedan sep. 20004 849 inlägg
det hjälpte inte heller.. hmm, vad är på tok! x( :(
GeinMedlem sedan sep. 20004 849 inlägg
om jag försöker köra en fil som ligger under min public_html i en katalog där jag satt rättigheter med .htaccess så får jag följande fel
[Wed Dec 11 14:45:34 2002] [alert] [client 192.168.0.102] /home/gein/public_html/sml/tenta/julmust/.htaccess: Options not allowed here
om jag istället försöker i /cgi-bin/ katalogen så får jag följande fel:
[Wed Dec 11 14:45:40 2002] [error] (8)Exec format error: exec of /usr/lib/cgi-bin/first.pl failed
[Wed Dec 11 14:45:40 2002] [error] [client 192.168.0.102] Premature end of script headers: /usr/lib/cgi-bin/first.pl
spangoMedlem sedan juni 20006 147 inlägg
Hur ser AllowOverride ut i httpd.conf?
GeinMedlem sedan sep. 20004 849 inlägg
den säger AllowOverride All, men ligger under
<Directory /var/www/>
och den mapp jag pratar om ligger här: /home/gein/public_html/sml/tenta/julmust
GeinMedlem sedan sep. 20004 849 inlägg
okej, nu fick jag nog till det med den mappen oxå, men även den säger såhär:
[Wed Dec 11 15:07:17 2002] [error] [client 192.168.0.102] Premature end of script headers: /home/gein/public_html/sml/tenta/julmust/first.pl
spangoMedlem sedan juni 20006 147 inlägg
Det kan bero på något fel som inträffar, typ syntaxfel eller liknande. Prova med enklast tänkbara script:
#!/usr/bin/perl
print "Content-Type:text/plain\n\nHello, world!";
... och se vad som händer.
GeinMedlem sedan sep. 20004 849 inlägg
kopierade exakt din kod och fick samma fel:
[Wed Dec 11 15:12:10 2002] [error] [client 192.168.0.102] Premature end of script headers: /home/gein/public_html/sml/tenta/julmust/test.pl
spangoMedlem sedan juni 20006 147 inlägg
Lustigt. Är sökvägen till perl rätt? Det är det enda jag kan komma på.
GeinMedlem sedan sep. 20004 849 inlägg
Ja, det är rätt sökväg. :(
GeinMedlem sedan sep. 20004 849 inlägg
Hittade på google:
You are probably trying to run it as a cgi. It's just straight up perl.
Take a look at Google for cgi.pm
tyvärr blev jag inte klokare, men någon annan blev kanske?
r) verkar ligga något i ovanstående. För cgi-program funkar men inte perl-skript.
JojoxxMedlem sedan juni 20004 306 inlägg
Mycket skumt. Någon skillnad om du använder en komplett http-header (om den är inställd för nph-script)?
#!/usr/bin/perl
print "HTTP/1.1 200 OK\nContent-Type:text/plain\n\nHello, world!";
GeinMedlem sedan sep. 20004 849 inlägg
jag har märkt något mycket märkligt oxå
Titta på det här:
http://www.knivby.nu/~gein/cgi-bin/julmust.cgi
Funkar bra!
http://www.knivby.nu/cgi-bin/julmust.cgi
Den funkar inte alls bra. Bara cgi-filer funkar, inga html-filer eller jpg-bilder, eller css för den delen heller. Ändå så har jag valt att /cgi-bin/ ska peka på /home/gein/public_html/cgi-bin
Så det är ju samma mapp och samma filer som ligger där, men med ena länken funkar det inte