PDA

Bekijk Volledige Versie : .cgi als CGI-script in Apache



Arjen Haayman
27/01/04, 13:05
Hallo,

Ik heb tot nu toe altijd met een cgi-bin directory gewerkt, maar nu wil
ik een perl-guestbook installeren die alles (scripts, plaatjes, etc.) in
1 directory zet. Dat kan dus niet in een cgi-bin directory, want dan
zijn de plaatjes niet benaderbaar.

Nu wil ik de .cgi extensie executable maken, ongeacht waar deze zich
bevindt in de site.

Ik heb de volgende regel toegevoegd aan httpd.conf:
AddHandler cgi-script .cgi

Naar ik heb begrepen hoef je dat niet voor elke <VirtualHost> op te
geven (hoewel ik dat ook geprobeerd heb).

Je voelt 'm al aankomen: het script is wordt niet uitgevoerd.
browser melding:
You don't have permission to access /guestwho/guestwho.cgi on this server.

error_log: Options ExecCGI is off in this directory: ...

rechten guestwho.cgi: rwxr-xr-x

httpd.conf:
<VirtualHost 10.0.0.2:8080>
DocumentRoot /home/httpd/plusleo/
# ScriptAlias /cgi-bin/ /home/httpd/plusleo/cgi-bin/
AddHandler cgi-script .cgi .pl
</VirtualHost>

Ik zie iets over het hoofd, maar wat?

--
Arjen Haayman
-- cogito ergo bicyclo --

Jeroen Ruijgers
27/01/04, 13:05
Arjen Haayman wrote:
> Hallo,
>
> Ik heb tot nu toe altijd met een cgi-bin directory gewerkt, maar nu
> wil ik een perl-guestbook installeren die alles (scripts, plaatjes,
> etc.) in 1 directory zet. Dat kan dus niet in een cgi-bin directory,
> want dan
> zijn de plaatjes niet benaderbaar.
>
> Nu wil ik de .cgi extensie executable maken, ongeacht waar deze zich
> bevindt in de site.
>
> Ik heb de volgende regel toegevoegd aan httpd.conf:
> AddHandler cgi-script .cgi
>
> Naar ik heb begrepen hoef je dat niet voor elke <VirtualHost> op te
> geven (hoewel ik dat ook geprobeerd heb).
>
> Je voelt 'm al aankomen: het script is wordt niet uitgevoerd.
> browser melding:
> You don't have permission to access /guestwho/guestwho.cgi on this
> server.
>
> error_log: Options ExecCGI is off in this directory: ...
>
> rechten guestwho.cgi: rwxr-xr-x
>
> httpd.conf:
> <VirtualHost 10.0.0.2:8080>
> DocumentRoot /home/httpd/plusleo/
> # ScriptAlias /cgi-bin/ /home/httpd/plusleo/cgi-bin/
> AddHandler cgi-script .cgi .pl
> </VirtualHost>
>
> Ik zie iets over het hoofd, maar wat?
De directive Options heeft een optie die ExecCGI ofzo heet, daarmee kan je
elk cgi-bestand, waar het zich ook bevind, uitvoeren.

Arjen Haayman
27/01/04, 13:05
Jeroen Ruijgers wrote:

>>
>>Ik heb de volgende regel toegevoegd aan httpd.conf:
>>AddHandler cgi-script .cgi
>>
>
> De directive Options heeft een optie die ExecCGI ofzo heet, daarmee kan je
> elk cgi-bestand, waar het zich ook bevind, uitvoeren.
aha, dus die AddHandler is niet voldoende. Het commentaar in httpd.conf zei:
# If you want to use server side includes, or CGI outside
# ScriptAliased directories, uncomment the following lines.

#
# To use CGI scripts:
#
AddHandler cgi-script .cgi

Kennelijk is dat niet voldoende.

Het werkt nu inderdaad. Bedankt!

--
Arjen Haayman
-- cogito ergo bicyclo --

John Bokma
27/01/04, 13:05
Arjen Haayman wrote:

> Hallo,
>
> Ik heb tot nu toe altijd met een cgi-bin directory gewerkt, maar nu wil
> ik een perl-guestbook installeren die alles (scripts, plaatjes, etc.) in
> 1 directory zet. Dat kan dus niet in een cgi-bin directory, want dan
> zijn de plaatjes niet benaderbaar.
>
> Nu wil ik de .cgi extensie executable maken, ongeacht waar deze zich
> bevindt in de site.

Niet verstandig.

> Ik zie iets over het hoofd, maar wat?

Pas de paden aan in het script. Het script klinkt als crap overigens,
zoek een beter.

--
Kind regards, http://johnbokma.com/ - added recently: Capturing MSN
John Messenger webcam HOWTO ~ Spamassassin spam filter
cookbook ~ HTTPS protocol with ActiveState Perl