[Précédent (date)] [Suivant (date)] [Précédent (sujet)] [Suivant (sujet)] [Index par date] [Index par sujet]

Re: Apache vs. CGI dans les comptes d'usagers



>Bon, maintenant, crée un répertoire pour chacun de tes usagers qui
>veulent un espace CGI, moi j'ai fait:
> /home/httpd/cgi-bin/     -> pour les scripts accessibles à tous
> /home/httpd/cgi-bin/toto -> pour chaque usager

Le problème avec cette solution est que chaque usager aurait
à demander à l'administrateur de lui créer un répertoire pour
ses CGI.

J'ai finalement réussi à corriger mon problème. Au bout du
compte, il semble qu'Apache était configuré comme il faut, mais
je n'avais pas donné les bonnes permissions aux répertoires
et au fichier CGI impliqués.

Dans /etc/httpd/conf/srm.conf, il y a les lignes

AddHandler cgi-script .cgi
AddType application/x-httpd-cgi .cgi

et dans /etc/https/conf/access.conf il y a la directive suivante:

<Directory /home/*/public_html/cgi-bin>
AllowOverride None
Options ExecCGI
</Directory>

C'est là qu'est la magie: le '*' peut représenter n'importe quel
nom d'usager.

Ensuite, dans le compte d'un usager, il faut que les répertoires
public_html et public_html/cgi-bin aient tous deux les permissions
755 (rwxr-xr-x). Le script CGI dans public_html/cgi-bin devrait
porter une extension ".cgi" et avoir aussi les permissions 755.

Le script CGI doit commencer par afficher une ligne
Content-Type: text/html
puis une ligne vide avant de commencer à afficher du contenu HTML.
Apache fait exécuter ce script par l'usager nobody.

Dans un fichier HTML situé dans public_html, on réfère au CGI
par l'URL "cgi-bin/foobar.cgi?argument".

Merci pour ton aide.