[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

apache et cgi



Bonjour a tous.


J'utilise une debian comme serveur intranet (potato), avec le
serveur Apache fourni par defaut (1.3.9). J'ai configure Apache pour 
qu'il aille chercher les documents www des utilisateurs dans
"~/intra_html" (par opposition a "~/public_html", pour un serveur
classique) :

UserDir intra_html

...jusque-la, tout va bien...

Maintenant, mes utilisateurs souhaitent pouvoir ecrire des scripts
CGI...C'est pas top pour la securite, mais bon, il s'agit d'un
intranet...Je configure donc le bazar ainsi :

AddHandler cgi-script .cgi

<DirectoryMatch ^/home/.*/intra_html/>
Options SymLinksIfOwnerMatch ExecCGI FollowSymLinks
AllowOverride None
</DirectoryMatch>

...et la...crac boum uhu...

Le client me repond par exemple pour "/~<user>/toto.cgi" :

[BEGIN]
Internal Server Error

The server encountered an internal error or misconfiguration and was
unable to complete your request.

Please contact the server administrator, webmaster@<mon-serveur> and
inform them of the time the error occurred,
and anything you might have done that may have caused the error.

More information about this error may be available in the server error
log.
[END]


Je vais donc voir dans les logs de apache (/var/log/apache/error.log) :

[Mon Aug 28 16:52:14 2000] [error] [client <adresse>] Premature end
of script headers: /home/<user>/intra_html/toto.cgi


Diable ! Je vais voir la FAQ Apache...Hourra, le pb est decrit. Je
modifie mon script (pour avoir des en-tetes corrects) :

#!/bin/bash

cat <<EOF
Content-type: text/plain

toto

EOF


...je le teste en ligne de commande...pas de pb. Mais ca ne marche
toujours pas...Argh. Pour essayer, je place le script dans le repertoire
standard pour les cgis (/usr/lib/cgi-bin), et la, tout se met a
fonctionner correctement ! J'ai egalement fait l'essai en utilisant le
repertoire standard public_html dans le compte utilisateur, sans plus de
resultats. 

Il y a certainement une etape bizarre qui m'a echappe. J'ai neanmoins la
sensation qu'il s'agit d'une option du script configure utilise lors de
la compilation de Apache, que je n'arrive pas a ecraser par les
directives d'execution. C'est bien pour ca que je vous ecris.

Si quelqu'un a la moindre idee, elle serait la bienvenue.
Merci d'avance.

-- 
Nicolas KOWALSKI. Administrateur Systeme. VERIMAG. Grenoble.



Reply to: