webForumDet fria alternativet

Tar inte mina cgi-script

Webbservrarur Webbserver

17 svar · 659 visningar · startad av Gein

Medlem sedan sep. 20005 700 inlägg
Frågan#1

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 :)

Medlem sedan dec. 1999242 inlägg
#2

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)

Medlem sedan sep. 20005 700 inlägg
#3

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

Medlem sedan apr. 2000642 inlägg
#4

Ta en titt i apaches error_log. där finns det nästan säkert ledtrådar

Medlem sedan sep. 20005 700 inlägg
#5

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

Medlem sedan juni 20004 308 inlägg
#6

Har du provat att sätta +ExecCGI direkt i httpd.conf?

Exempel.

(Flyttar tråden till Apache-forumet)

(Red. url)

Medlem sedan sep. 20005 700 inlägg
#7

det hjälpte inte heller.. hmm, vad är på tok! x( :(

Medlem sedan sep. 20005 700 inlägg
#8

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

Medlem sedan juni 20008 205 inlägg
#9

Hur ser AllowOverride ut i httpd.conf?

Medlem sedan sep. 20005 700 inlägg
#10

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

Medlem sedan sep. 20005 700 inlägg
#11

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

Medlem sedan juni 20008 205 inlägg
#12

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.

Medlem sedan sep. 20005 700 inlägg
#13

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

Medlem sedan juni 20008 205 inlägg
#14

Lustigt. Är sökvägen till perl rätt? Det är det enda jag kan komma på.

Medlem sedan sep. 20005 700 inlägg
#15

Ja, det är rätt sökväg. :(

Medlem sedan sep. 20005 700 inlägg
#16

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.

Medlem sedan juni 20004 308 inlägg
#17

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!";
Medlem sedan sep. 20005 700 inlägg
#18

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

135 ms totalt · 3 externa anrop · v20260731065814-full.b746b907
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)