Rechercher : dans
Par :

Probleme cgi-bin

Dernière réponse le 27 jui 2004 à 17:33:31 Hafed, le 25 jui 2004 à 19:44:14 
 Signaler ce message aux modérateurs

Bonjour,

Je suis sous Mandrake 9.0 et Apache.
je teste un programme CGI sur une page HTML (page HTML comprenant un lien vers un programme CGI).
Bon je tape mon URL : http://localhost/toto.html
puis je clique sur mon lien qui doit lancer mon programme CGI et là :
Forbidden
You don't have permission to access /cgi-bin/gbrowse on this server.

Bien entendu mon programme CGI a les droits d'exécution pour tout le monde.
J'ai jeté un coup d'oeil sur les fichiers de configuration apache mais je ne vois pas ce qui cloche (je ne suis pas spécialiste non plus).


Merci pour votre aide,

Hafed

Meilleures réponses pour « probleme cgi bin » dans :
[Gravure] Graver ou lire un fichier .BIN / .CUE VoirLes fichiers .bin et .cue sont respectivement : .BIN : une image de CD, c'est-à-dire une copie binaire d'un CD ou d'un DVD sous forme d'un fichier .CUE : informations sur les pistes du disque. Les fichiers .BIN / .CUE sont utilisables par...
Introduction à la programmation des CGI VoirPrésentation de l'interface CGI Un script CGI (Common Gateway Interface, traduisez interface de passerelle commune) est un programme exécuté par le serveur web (on dit généralement « côté serveur »), permettant d'envoyer au navigateur de...
Fichier BIN VoirFormat BIN Les fichiers BIN et CUE sont respectivement : .BIN : une image de CD, c'est-à-dire une copie binaire d'un CD ou d'un DVD sous forme d'un fichier .CUE : informations sur les pistes du disque. Comment lire un fichier BIN ? Les...
CGI - Réception et traitement des données VoirEnvoyer des données à un script CGI L'envoi de données à un script CGI se fait par l'intermédiaire d'un formulaire HTML. Les formulaires HTML se créent à l'aide de la balise contenant des boutons, des champs, des listes et/ou des cases à...

1

Hafed, le 25 jui 2004 à 20:20:52

Re -,

rectificatif :

il faut lire le message d'erreur suivant :
You don't have permission to access /cgi-bin/test1.cgi on this server.

Merci.

Hafed

Répondre à Hafed

2

jisisv, le 26 jui 2004 à 14:07:20
  • +2

Ton fichier de configuration d'Apache contient-il une directive de configuration du genre (ici sous Debian)
<IfModule mod_alias.c>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/

<Directory /usr/lib/cgi-bin/>
AllowOverride None
Options ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
</IfModule>

Le répertoire est il lisible par le propriétaire du processus Apache?
(droits r-x minimum)

Gates gave you the windows.
GNU gave us the whole house.(Alexandrin)

Répondre à jisisv

3

Hafed, le 26 jui 2004 à 14:29:41

Salut,

Voici ce que je trouve dans le fichier commonhttpd.conf

ScriptAlias /cgi-bin/ /var/www/cgi-bin/
ScriptAlias /protected-cgi-bin/ /var/www/protected-cgi-bin/

et dans le fichier httpd.conf :

<Directory /var/www/perl>
AllowOverride All
Options -Indexes FollowSymLinks MultiViews ExecCGI
Order allow,deny
Allow from all
</Directory>

<Directory /var/www/cgi-bin>
AllowOverride All
Options ExecCGI
</Directory>

<Directory /var/www/protected-cgi-bin>
AllowOverride None
Options ExecCGI
Order deny,allow
Deny from all
Allow from 127.0.0.1
#allow from .your_domain.com
</Directory>

Merci,

hafed

Répondre à Hafed

4

jisisv, le 26 jui 2004 à 15:16:12
  • +1

Quelques pistes...
Je ne connais pas commonhttpd.conf
(est-ce un fichier prope à Mandrake?)
httpd.conf y fait-il référence (à l'aide d'un include p.ex?)
Il faudrait alors l'inclure dans httpd.conf, ou définir le ScriptAlias.

Ton fichier CGI est écrit en quel langage?
Si c'est un script, la ligne bang
#! chemin_vers_l_interpréteur
est-elle correcte?(place-toi dans le répertoire physique cgi-bin et lance le binaire ./nomducgi )

Johan
Gates gave you the windows.
GNU gave us the whole house.(Alexandrin)

Répondre à jisisv

5

Hafed, le 26 jui 2004 à 15:53:07

Re -,

Oui httpd.conf fait reference a commonhttpd.conf :

Include conf/commonhttpd.conf


mon test CGI est écrit en perl (le fichier se termine avec l'extension .cgi) et débute par :
#!/usr/bin/perl

et son execution :
./test1.cgi
content-type:text/plain

Exécution test1.cgi terminée - OK

Merci pour ton aide.
C'est à s'arracher les cheveux !!!

Hafed

Répondre à Hafed

6

jisisv, le 26 jui 2004 à 18:20:36

As-tu examiné (ton|tes) fichiers log d'Apache.
less /var/log/apache/error.log
ou
tail /var/log/apache/error.log
(ou ce qui y correspond sous Mandrake) ?

Gates gave you the windows.
GNU gave us the whole house.(Alexandrin)

Répondre à jisisv

7

Hafed, le 26 jui 2004 à 19:03:57

Re -,

Désolé (coupure de la connection par mon FAI)

pour répondre au fichier log

[root@localhost httpd]# pwd
/var/log/httpd
[root@localhost httpd]# tail error_log
[Mon Jul 26 15:01:57 2004] [error] [client 10.0.0.10] client denied by server configuration: /var/www/cgi-bin/test1.cgi
[Mon Jul 26 15:22:25 2004] [error] [client 10.0.0.10] client denied by server configuration: /var/www/cgi-bin/test1.cgi
[Mon Jul 26 15:23:54 2004] [error] [client 10.0.0.10] client denied by server configuration: /var/www/cgi-bin/test1.cgi
[Mon Jul 26 15:49:15 2004] [error] [client 10.0.0.10] client denied by server configuration: /var/www/cgi-bin/test1.cgi
[Mon Jul 26 16:18:26 2004] [notice] caught SIGTERM, shutting down
[Mon Jul 26 17:41:57 2004] [notice] Apache-AdvancedExtranetServer/1.3.26 (Mandrake Linux/6mdk) sxnet/1.2.4 mod_ssl/2.8.10 OpenSSL/0.9.6g PHP/4.2.3 configured -- resuming normal operations
[Mon Jul 26 17:41:57 2004] [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
[Mon Jul 26 17:41:57 2004] [notice] Accept mutex: sysvsem (Default: sysvsem)
[Mon Jul 26 18:12:03 2004] [error] [client 10.0.0.10] File does not exist: /var/www/html/favicon.ico
[Mon Jul 26 18:12:05 2004] [error] [client 10.0.0.10] client denied by server configuration: /var/www/cgi-bin/test1.cgi
[root@localhost httpd]#

J'ai une autre question :
pourquoi je n'ai pas de dossier /var/log/apache
et pourquoi je n'ai pas non plus de dossier /usr/local/apache

(et pourtant apache tourne) ?

J'ai le sentiment que c'est PHP qui semble gérer le truc !

Merci,

Hafed

Répondre à Hafed

8

jisisv, le 26 jui 2004 à 22:56:33

L'emplacement des fichiers log est configuré dans ton fichier
httpd.conf
(directives ErrorLog, CommonLog...)
Les défauts dépendent éventuellement de ta distribution/des directives
de compilation d'Apache.
Il n'y a pas de soucis à ce sujet.
-------
[Mon Jul 26 18:12:05 2004] [error] [client 10.0.0.10] client denied by server configuration: /var/www/cgi-bin/test1.cgi
Il faudrait donc bien vérifier la config du serveur.
Tu n'as pas de fichier .htaccess qui traîne dans /var/www/cgi-bin/ ?

Extrait de mon httpd.conf
<Directory /usr/lib/cgi-bin/>
AllowOverride None
Options ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
Essaye de modifier ta config en modifiant le répertoire
/usr/lib/cgi-bin en
/var/www/cgi-bin

N'oublie pas de redémarer ton serveur !

Johan
Gates gave you the windows.
GNU gave us the whole house.(Alexandrin)

Répondre à jisisv

9

jisisv, le 26 jui 2004 à 23:02:48

Chez moi un bête
horus:/etc/apache# cat /usr/lib/cgi-bin/test
#!/bin/sh
echo "Content-Type: text/html"
echo
echo "<html><body>"
echo "Hello World<br>"
env | sed -e "s/$/<br>/"
echo "</body></html>"

fonctionne!
(à ne pas mettre en public bien sûr)
Gates gave you the windows.
GNU gave us the whole house.(Alexandrin)

Répondre à jisisv

10

Hafed, le 27 jui 2004 à 07:00:19

Salut Jisisv,

Pas de fichier .htaccess dans /var/www/cgi-bin
Je vais faire d'autres tests et je reviens sur le forum dans l'après-midi.

Merci encore à toi pour ton aide.

@+,

Hafed

Répondre à Hafed

11

Hafed, le 27 jui 2004 à 16:59:54

Hourra !!!!
Yeeessssssss !!!!
Hulahup barbatruc !!!!

Ca marche !!!

après 100000 manips et pour résumer il y avait deux choses :

1) rajouter dans le fichier commonhttpd.conf, au niveau du directory cgi-bin, les deux lignes
Order allow,deny
allow from all

2) les scripts CGI doivent être en Lecture et Exécution (et non pas seulement en Exécution).

Je me doutais bien que c'était tout bête mais bon une fois qu'on le sait.

Alors encore un grand merci à toi Jisisv et chapeau bas.

Hafed

Répondre à Hafed

12

 jisisv, le 27 jui 2004 à 17:33:31

Bien vu.
C U later

Johan
Gates gave you the windows.
GNU gave us the whole house.(Alexandrin)

Répondre à jisisv
Collection CommentÇaMarche.net