Avatar billede mads_mao Nybegynder
02. oktober 2003 - 10:07 Der er 14 kommentarer og
1 løsning

Problemer med adgang til perl-script

Jeg har et problem med at tilgå et perl-script. Jeg får en error-403, når jeg forsøger at kalde det. Hvad kan der være galt?
Jeg kører en Apache webserver.

Jeg har følgende linjer i min VirtualHost:
ScriptAlias /cgi-bin/ "/home/user/cgi-bin/"
<Directory /home/user/cgi-bin>
    AllowOverride None
    Options None
    Order allow,deny
    Allow from all
</Directory>

Det har før løst problemet, men gør det tilsyneladende ikke i dette tilfælde.
Jeg skal huske at nævne, at det sub-domæne, som er sat op i min httpd.conf fil, og som jeg kalder scriptet igennem, har en anden brugers home-dir sat som root-directory. Jeg ved ikke, om det kan have betydning.
Avatar billede mfalck Praktikant
02. oktober 2003 - 10:13 #1
prøv evt at kigge i apacheserverens error-log .. det kan være at du peger på den forkerte perl-fortolker i #!
Avatar billede mads_mao Nybegynder
02. oktober 2003 - 10:17 #2
Det tvivler jeg på, for præcis det samme script har ført virket, når jeg kalder det fra en anden adresse.
Avatar billede mfalck Praktikant
02. oktober 2003 - 10:22 #3
hmm .. nu jeg tænker over det så betyder error 403 at du ikke har lov til at tilgå siden; det kan være permissions på filen.

Kan du ikke sakse nogle linier fra error_log'en når du prøver at tilgå scriptet ?
Avatar billede mads_mao Nybegynder
02. oktober 2003 - 11:05 #4
[Thu Oct  2 11:05:13 2003] [error] [client xxx.xxx.xxx.xxx] Options ExecCGI is off in this directory: /home/user/cgi-bin/script.pl
Avatar billede mfalck Praktikant
02. oktober 2003 - 11:12 #5
Ah - but of course:
prøv at ændre:

<Directory /home/user/cgi-bin>
    AllowOverride ExecCGI
    Options None
    Order allow,deny
    Allow from all
</Directory>
Avatar billede mads_mao Nybegynder
02. oktober 2003 - 11:42 #6
Det har jeg nu prøvet, men ExecCGI er en "illegal owerride option".
Avatar billede mfalck Praktikant
02. oktober 2003 - 11:47 #7
har du prøvet at sætte den i den generelle (for hele htdocs) også ?
Avatar billede mfalck Praktikant
02. oktober 2003 - 11:49 #8
hov .. prøv med (test evt med AllowOverride None).

<Directory /home/user/cgi-bin>
    AllowOverride All
    Options ExecCGI
    Order allow,deny
    Allow from all
</Directory>
Avatar billede sbm Nybegynder
02. oktober 2003 - 12:12 #9
Hmmm. Et hurtigt skud fra hoften. Når jeg har leget med rettigheder for at kunne eksekvere et script via browseren, har jeg ændret på rettighederne med CHMOD. Der skal så være eksekveringsrettigheder for den bruger der benyttes af webserveren.
Avatar billede sbm Nybegynder
02. oktober 2003 - 12:15 #10
For at gøre det så restriktivt som muligt, kan du så overgive ownership til den bruger der benyttes af webserveren, og så eksempelvis sætte rettighederne med

chmod 744 script.pl
Avatar billede sbm Nybegynder
02. oktober 2003 - 12:16 #11
Fodnote: Jeg har aldrig leget med Apache og Virtual hosts i en sådan. :-)
Avatar billede mads_mao Nybegynder
02. oktober 2003 - 13:26 #12
sbm > jeg har prøvet den løsning af. Det har ingen effekt. Der skal være sat specifikke rettigheder for eksekvering af perl-scripts i Apache.
mfalck > Jeg har prøvet dit forslag af, og nu virker det sgu!
Jeg er dog altid lidt nervøs, når jeg ser en sætning som "AllowOverride All". Hvad er det helt præcist man giver ret til at override ?
Opret lige et svar, så skal jeg nok skyde nogle points afsted til dig.
Avatar billede mfalck Praktikant
02. oktober 2003 - 13:28 #13
allowoverride all giver lov til at overskrive de default værdier (som er nævnt i options) som er sat for hele apache.
Avatar billede mads_mao Nybegynder
02. oktober 2003 - 13:53 #14
Så fik jeg også det på plads. Under alle omstændigheder, så virker det også med AllowOverride None, så det gør ikke så meget
Avatar billede mfalck Praktikant
02. oktober 2003 - 13:54 #15
fino fino ... så er der ingen ko på isen :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester