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

Re: Trouble avec un script CGi




Pour les server-side includes:
http://www.apache.org/docs/mod/mod_include.html

Ca contient aussi tout les commandes disponibles. Arreter de chercher
ailleurs que chez les gens qui ont ecrit le serveur web que vous
utiliser!!



Pour les CGI:
http://www.apache.org/docs/mod/mod_cgi.html

CGI, c'est seulement un facon d'appeler un programme. Rien de special.

Dans le dossier ou pointe le keyword "ScriptAlias" (dans la
configuration d'Apache), tout les fichiers sont considerer comme des
CGI. 

Ailleurs que dans les dossier "ScriptAlias", tu peux pas en mettre aucun
parce que c'est pas enabler dans la configuration.

mod_perl intercept les .pl partout.
mod_php intercept les .php3 partout.

mod_cgi fait rien par default
a part si tu:
1- utilise un "ScriptAlias" directory
2- est de MIME type: "application/x-httpd-cgi"
3- ton extention a comme handler "cgi-script"


Alors il faut que tu ajoutes qqch comme "AddHandler cgi-script .cgi"
dans la configuration pour que les fichier en .cgi (executable aussi)
soit considerer comme des CGI partout.



Le site d'Apache contient vraiment toute la documentation pertinante sur
Apache.


Hugo Villeneuve



Hugo Villeneuve wrote:
> 
> On Wed, Jul 19, 2000 at 09:36:32PM -0400, Benoit Galarneau wrote:
> > Salut...
> >
> > et jai inséré la commande suivante:
> > <!--exec cgi="/home/httpd/cgi-bin/compteur.cgi"-->
> > à partir du fichier index.html... (J'ai essayé de le nommer
> > index.shtml sans succès)
> 
> Les server-side include ne sont peut-etre pas enabler dans Apache.
> 
> Aussi habituellement, tu dois utiliser l'extension .shtml
> 
> Ca veut aussi dire enabler plein d'option dans Apache. Assure toi que
> tu aies ces options dans Apache (si non ajoute les pas à la fin mais au
> bon endroit.)
> 
> LoadModule includes_module    libexec/mod_include.so
> AddModule mod_include.c
> 
> AddType text/html .shtml
> AddHandler server-parsed .shtml
> 
> Aussi, dans les options de <Directory> ou <Location> qui s'applique
> au dossier où l'on trouve tes documents html avec server-side include,
> tu dois rajouter "Includes" au keyword "Options".
> 
> Si tu veux egalement parser des .html il faut que tu traites les .html
> comme des "server-parsed" avec:
> 
> AddHandler server-parsed .html
> 
> Ou utliser :
> 
> XBitHack on
> 
> dans ton <Directory> ou globalement pour que les .html avec executable
> bit pour l'owner soit traité comme du server-parsed.
> 
> Mais je te dis cela seulement en lisant la documentation d'Apache, je
> n'ai pas esseyé. Je te donnerais bien un lien si Videotron n'avait pas
> autant de problème avec ses back-bones.
> 
> >
> > Lorsque je load la page web ca marche pas.. (Pas d'incrément au
> > compteur)
> >
> > Par contre lorsque je tappe l'adresse:
> > http://192.168.1.1/cgi-bin/compteur.cgi dans netscape.
> >
> > ca fait le truc suivant:
> > Internal Server Error
> > The server encountered an internal error or misconfiguration and was unable to complete your request.
> 
> Pour qu'un CGI puisse envoyer qqch a l'usager dans son browser, il faut
> qu'il envoye un MIME header en premier et ensuite le data.
> 
> Genre pour afficher une page web comme output d'un CGI, il faut printer
> en premier (sans ligne vide avant):
> 
> content-type: text/html
> 
> suivi d'une ligne vide et d'ensuite le text de la page web.
> 
> Apache fait ça automatiquement pour les pages web mais pas pour les
> CGI. Ainsi un CGI peut envoyer un fichier si il utlise par exemple le type
> "application/octet-stream".
> 
> Hugo Villeneuve