Toon posts:

Apache CGI Execcgi off

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hoi,

Als ik op mijn server een cgi-script wil runnen krijg ik de hele tijd de forbidden-page te zien.
En in mijn error.log staat het volgende:

code:
1
[Sat Apr 23 13:09:05 2005] [error] [client 84.26.59.75] Options ExecCGI is off in this directory: /home/joris/public_html/hello.cgi


En in mijn httpd.conf staat:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
<Directory />
AllowOverride AuthConfig
Options Indexes FollowSymLinks ExecCGI
</Directory>


<Directory /home/fotoalbum/public_html/>

#
# This may also be "None", "All", or any combination of "Indexes",
# "Includes", "FollowSymLinks", "ExecCGI", or "MultiViews".
#
# Note that "MultiViews" must be named *explicitly* --- "Options All"
# doesn't give it to you.
#
    Options Indexes Includes FollowSymLinks MultiViews ExecCGI

#
# This controls which options the .htaccess files in directories can
# override. Can also be "All", or any combination of "Options", "FileInfo", 
# "AuthConfig", and "Limit"
#
    AllowOverride All

#
# Controls who can get stuff from this server.
#
    Order allow,deny
    Allow from all
</Directory>


<Directory /home/*/public_html>
    AllowOverride All
    Options MultiViews Indexes SymLinksIfOwnerMatch ExecCGI
    <Limit GET POST OPTIONS PROPFIND>
        Order allow,deny
        Allow from all
    </Limit>
    <Limit PUT DELETE PATCH PROPPATCH MKCOL COPY MOVE LOCK UNLOCK>
        Order deny,allow
        Deny from all
    </Limit>
</Directory>

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/


Ik kan even niet meer vinden wat ik nou precies fout geconfigureerd heb.
En ik restart apache trouwens wel elke keer.

Na wat puzelen (hoe weet ik ook niet) heb ik nu de volgende error en een Internal server error-page

code:
1
[Sat Apr 23 13:47:41 2005] [error] [client 84.26.59.75] Premature end of script headers: /home/joris/public_html/cgi-bin/hello.cgi


Het script doet het op een andere server wel, dus aan het script kan het niet liggen.

[ Voor 25% gewijzigd door Verwijderd op 23-04-2005 12:07 ]


Verwijderd

Move PNS > SA

Verwijderd

Het ziet er naar uit dat je het probleem met Apache opgelost hebben. Alleen blijkt het script, wanneer het door Apache gestart wordt, niet het zelfde te doen wat het zou moeten doen. Het output geen geldige http-headers. Wellicht geeft het wel een foutmelding, maar die wordt helaas niet voor je gelogd.

Kun je het wel vanaf de command-line draaien? En wat als je naar nobody su'd, dan nog steeds? Als je de fout niet op die manier kunt reproduceren, dan moet je iets in je script inbouwen om de boel te loggen. Bijvoorbeeld alle foutmeldingen en waarschuwingen naar een file laten schrijven. Of voor een Perl-script CGI::Carp gebruiken met 'fatalsToBrowser'.

Dat scripts in sommige omstandigheden niet werken en in andere wel, kan heel goed. Andere user, andere permissies, andere environmentvariabelen (die ervoor moeten zorgen dat libraries gevonden kunnen worden) etc.