Hej!
Varför körs inte perl programmen under cgi-bin när jag gör script alias :q
Jag har gjort så att man för varje anv har en katalog som heter public_html där man lägger sina html sidor m.m. det jag då vill är att ha en mapp som heter cgi-bin som ligger i public_html där jag kan köra perl script
Att styra om så att html sidorna funka gick bra men när jag skall göra samma sak för cgi katalogen så funkar det inte.
Programmen körs inte utan den skriver ut koden som om det vore en txt fil man har länkat till :l Under /var/www/cgi-bin/ funkar perl filerna som dom skall.
Hur gör jag??
på rätt ställe
Placera det under:
<IfModule mod_userdir.c>
UserDir public_html HÄR
</IfModule>
Man skulle skriva in det under public_html directory och detta är det ända jag hittar som inte är bortkommenterat
Oki när jag har skrivigt in detta så blir det iaf fel och i error_loggen står detta fel Premature end of script headers Och då tog man ju åt sig av Robba och kolla FAQ först http://httpd.apache.org/docs/misc/FAQ.html#premature-script-headers
Men såklart hajja jag inte det någon som kan hjälpa till?
Jag har iaf kollat om scriptet är fel eller inte men det funkar fin fint :)
Kan någon :q
Om du redan har Options ExecCGI utanför gällande <Directory> så blir värdena för Options istället avstängda om man inte använder +
Det bör alltså vara Options +ExecCGI
Jag får inte CGI skripten att funka i public_html/cgi-bin/ :l
Jag fick Options Indexes att funka i den katalogen men inte ExecCGI .
Någon som har lust att kolla på denna fil och tala om vad jag har gjort för fel?
Error loggen säger just nu Premature end of script headers http://hem.passagen.se/load/httpd.txt
Ja om du menar att jag skall köra skripet såhär perl hello.cgi ...
Nej, jag menar att du skall köra skriptet som vilket annat program som helst, inte sätta perl framför.
./hellp.cgi
Ibland kan man nämligen lyckas få med osynliga skräptecken i slutet av första raden (den som pekar ut Perl-tolken), speciellt om Windows är inblandat någonstans (att man t.ex. har skrivit skriptet i Windows).
Öppnas skriptet i vi så brukar sådana tecken synas (t.ex. som ^M i slutet av raden).
Robban: Japp det funkar med ./ hello.pl eller .cgi
Det lustiga är att när jag tar bort #!/urs/bin/perl så funkar det iaf?
Såg det rätt ut i min httpd.conf fil :q
Jag är vekligen tacksam för att folk vill hjälpa en :birp
:D Nu tror jag att jag har hittat felet iaf Vad jag tror att det är:
Den som har kontot i mitt fall ANV: Nordan måste vara ägare till filen som skall köras.
ANV: Nordan måste oxå sätta rättigheterna på filen.
Är detta rätt?
Isf
Går det inte att vara root och lägga in filer i användarnas mappar?
Jag skulle vilja ha en fil i varje cgi-bin mapp som heter hello.pl som jag då har lagt i /etc/skel/ hur göra man då med rättigheterna på filen?
Kan man byta användare på samma sätt som man göra med su
Vem som äger filen spelar egentligen inte så stor roll utan handlar mer om vilka som kan accessa den. Är du root eller någon annan så kan du chmodda filen så andra kan exekvera den, exempelvis webbservern. 755 är ju normalt att använda för cgi-skript.
En liten rättelse också från ovan. Det är tydligen så att alla värden i Options som ligger som default, blir nollade så snart man anger en Options i t.ex <Directory> (såvida man inte lägger till + framför).
I ditt fall bör du ha + framför både Indexes och ExecCGI om du samtidigt vill ha kvar tidigare värden. Ett minus framför anger att man tar bort just det värdet från tidigare gällande options.
Vem som äger filen spelar egentligen inte så stor roll utan handlar mer om vilka som kan accessa den. Är du root eller någon annan så kan du chmodda filen så andra kan exekvera den, exempelvis webbservern. 755 är ju normalt att använda för cgi-skript.
Jag gör så men det funkar inte Men loggar jag in som en användare så funkar det och alla kan köra användarens fil?
Vad är det då för fel vet någon?
Så här har jag gjort
Katalogen Nordan/ chmod 711
Katalogen /public_html/ chmod 755
Katalogen /cgi-bin/ chmod 755
Scriptet hello.cgi och hello.pl chmod 755
Det går att köra scripten om jag är inloggad och chmodar katalogerna och scripten som Nordan
Är jag inloggad som root och gör tex ett script som heter test.pl och lägger det i Nordan/public_html/cgi-bin/ så får jag fel.
Vad jag förstår av tidigare svar så skall det gå att göra så?
Varför går det då inte
Vad kan det vara som jag har gjort fel?
Någon som vet?
-rwxr-xr-x 1 root root 87 jun 7 15:12 test.cgi
-rwxr-xr-x 1 Nordan2 Nordan2 137 jun 6 20:37 hello.cgi
Filen som det står Nordan2 på funkar men inte den som det står root på
Jag har alltså loggat in som Nordan2 och gjort filen och då funka det men när jag skapar en fil som root och lägger i Nordan2s cgi-bin så funkar det inte det ända jag kan hitta som är skillnad är vem som har skapat filen.
Vad gör jag :q