J'ai posté d'abord sur alt.apache.configuration mais apres une journée le
message n'est plus disponible sur le serveur alors je n'ai pas pu voir les
réponses :(
Mon pb est le suivant:
j'ai installé sous apache des virtuals hosts.
j'ai créé un repertoire cgi sous la racine de mon virtual host
(/home/toto/cgi)
dans le dossier cgi j'y ai un mis un scipt de test (test.pl)
Quand je veux l'executer sous mon url le script s'affiche comme sous un
éditeur mais ne s'execute pas. il ne s'interprete pas. le script a bien sur
les autorisations r+x pour other.
Quelqu'un connait la solution et peut m'aider?
Merci d'avance.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Jean-Philippe Caruana
bonjour,
j'ai installé sous apache des virtuals hosts. j'ai créé un repertoire cgi sous la racine de mon virtual host (/home/toto/cgi) dans le dossier cgi j'y ai un mis un scipt de test (test.pl) Quand je veux l'executer sous mon url le script s'affiche comme sous un
éditeur mais ne s'execute pas. il ne s'interprete pas. le script a bien sur
les autorisations r+x pour other.
pour other ? il faut que ce soit tout le monde chmod -R a+rx /home/toto/cgi
avez vous essayé de faire marcher les script de test de base déjà avant d'en tester ailleurs ? Que retourne(nt) http://localhost/cgi-bin/printenv et/ou http://localhost/cgi-bin/test.cgi ?
si déjà la vous avez le code et non son résultat, il faut revoir la conf de votre apache
ensuite, si cela marche, vérifiez votre conf d'apache :
#il faut le module CGI de chargé : LoadModule cgi_module modules/mod_cgi.so
#lui dire que faier avec quelles extexnsions AddHandler cgi-script .cgi AddHandler cgi-script .pl
#et configurer le dossier comme il faut : #je passe sous silence les déclaration d'alias cgi-bin <Directory /var/www/localhost/cgi-bin> AllowOverride All Options ExecCGI <IfModule mod_access.c> Order allow,deny Allow from all </IfModule> </Directory>
il faut aussi que le user dir soit configuré sinon, testez vos scripts en les placant dans /var/www/localhost/cgi-bin avant de les mettre adbs votre home
mes 0.02
-- jpc
bonjour,
j'ai installé sous apache des virtuals hosts.
j'ai créé un repertoire cgi sous la racine de mon virtual host
(/home/toto/cgi)
dans le dossier cgi j'y ai un mis un scipt de test (test.pl)
Quand je veux l'executer sous mon url le script s'affiche comme sous
un
éditeur mais ne s'execute pas. il ne s'interprete pas. le script a
bien sur
les autorisations r+x pour other.
pour other ? il faut que ce soit tout le monde
chmod -R a+rx /home/toto/cgi
avez vous essayé de faire marcher les script de test de base déjà
avant d'en tester ailleurs ? Que retourne(nt)
http://localhost/cgi-bin/printenv et/ou
http://localhost/cgi-bin/test.cgi ?
si déjà la vous avez le code et non son résultat, il faut revoir la
conf de votre apache
ensuite, si cela marche, vérifiez votre conf d'apache :
#il faut le module CGI de chargé :
LoadModule cgi_module modules/mod_cgi.so
#lui dire que faier avec quelles extexnsions
AddHandler cgi-script .cgi
AddHandler cgi-script .pl
#et configurer le dossier comme il faut :
#je passe sous silence les déclaration d'alias cgi-bin
<Directory /var/www/localhost/cgi-bin>
AllowOverride All
Options ExecCGI
<IfModule mod_access.c>
Order allow,deny
Allow from all
</IfModule>
</Directory>
il faut aussi que le user dir soit configuré
sinon, testez vos scripts en les placant dans
/var/www/localhost/cgi-bin avant de les mettre adbs votre home
j'ai installé sous apache des virtuals hosts. j'ai créé un repertoire cgi sous la racine de mon virtual host (/home/toto/cgi) dans le dossier cgi j'y ai un mis un scipt de test (test.pl) Quand je veux l'executer sous mon url le script s'affiche comme sous un
éditeur mais ne s'execute pas. il ne s'interprete pas. le script a bien sur
les autorisations r+x pour other.
pour other ? il faut que ce soit tout le monde chmod -R a+rx /home/toto/cgi
avez vous essayé de faire marcher les script de test de base déjà avant d'en tester ailleurs ? Que retourne(nt) http://localhost/cgi-bin/printenv et/ou http://localhost/cgi-bin/test.cgi ?
si déjà la vous avez le code et non son résultat, il faut revoir la conf de votre apache
ensuite, si cela marche, vérifiez votre conf d'apache :
#il faut le module CGI de chargé : LoadModule cgi_module modules/mod_cgi.so
#lui dire que faier avec quelles extexnsions AddHandler cgi-script .cgi AddHandler cgi-script .pl
#et configurer le dossier comme il faut : #je passe sous silence les déclaration d'alias cgi-bin <Directory /var/www/localhost/cgi-bin> AllowOverride All Options ExecCGI <IfModule mod_access.c> Order allow,deny Allow from all </IfModule> </Directory>
il faut aussi que le user dir soit configuré sinon, testez vos scripts en les placant dans /var/www/localhost/cgi-bin avant de les mettre adbs votre home
mes 0.02
-- jpc
cd
Ok merci Jean-Philippe. Je vais tester tout ça Dominique "Jean-Philippe Caruana" a écrit dans le message news:
bonjour,
j'ai installé sous apache des virtuals hosts. j'ai créé un repertoire cgi sous la racine de mon virtual host (/home/toto/cgi) dans le dossier cgi j'y ai un mis un scipt de test (test.pl) Quand je veux l'executer sous mon url le script s'affiche comme sous un
éditeur mais ne s'execute pas. il ne s'interprete pas. le script a bien sur
les autorisations r+x pour other.
pour other ? il faut que ce soit tout le monde chmod -R a+rx /home/toto/cgi
avez vous essayé de faire marcher les script de test de base déjà avant d'en tester ailleurs ? Que retourne(nt) http://localhost/cgi-bin/printenv et/ou http://localhost/cgi-bin/test.cgi ?
si déjà la vous avez le code et non son résultat, il faut revoir la conf de votre apache
ensuite, si cela marche, vérifiez votre conf d'apache :
#il faut le module CGI de chargé : LoadModule cgi_module modules/mod_cgi.so
#lui dire que faier avec quelles extexnsions AddHandler cgi-script .cgi AddHandler cgi-script .pl
#et configurer le dossier comme il faut : #je passe sous silence les déclaration d'alias cgi-bin <Directory /var/www/localhost/cgi-bin> AllowOverride All Options ExecCGI <IfModule mod_access.c> Order allow,deny Allow from all </IfModule> </Directory>
il faut aussi que le user dir soit configuré sinon, testez vos scripts en les placant dans /var/www/localhost/cgi-bin avant de les mettre adbs votre home
mes 0.02 ?
-- jpc
Ok merci Jean-Philippe. Je vais tester tout ça
Dominique
"Jean-Philippe Caruana" <ummon99@yahoo.fr> a écrit dans le message news:
1107511986.929493.149110@z14g2000cwz.googlegroups.com...
bonjour,
j'ai installé sous apache des virtuals hosts.
j'ai créé un repertoire cgi sous la racine de mon virtual host
(/home/toto/cgi)
dans le dossier cgi j'y ai un mis un scipt de test (test.pl)
Quand je veux l'executer sous mon url le script s'affiche comme sous
un
éditeur mais ne s'execute pas. il ne s'interprete pas. le script a
bien sur
les autorisations r+x pour other.
pour other ? il faut que ce soit tout le monde
chmod -R a+rx /home/toto/cgi
avez vous essayé de faire marcher les script de test de base déjà
avant d'en tester ailleurs ? Que retourne(nt)
http://localhost/cgi-bin/printenv et/ou
http://localhost/cgi-bin/test.cgi ?
si déjà la vous avez le code et non son résultat, il faut revoir la
conf de votre apache
ensuite, si cela marche, vérifiez votre conf d'apache :
#il faut le module CGI de chargé :
LoadModule cgi_module modules/mod_cgi.so
#lui dire que faier avec quelles extexnsions
AddHandler cgi-script .cgi
AddHandler cgi-script .pl
#et configurer le dossier comme il faut :
#je passe sous silence les déclaration d'alias cgi-bin
<Directory /var/www/localhost/cgi-bin>
AllowOverride All
Options ExecCGI
<IfModule mod_access.c>
Order allow,deny
Allow from all
</IfModule>
</Directory>
il faut aussi que le user dir soit configuré
sinon, testez vos scripts en les placant dans
/var/www/localhost/cgi-bin avant de les mettre adbs votre home
Ok merci Jean-Philippe. Je vais tester tout ça Dominique "Jean-Philippe Caruana" a écrit dans le message news:
bonjour,
j'ai installé sous apache des virtuals hosts. j'ai créé un repertoire cgi sous la racine de mon virtual host (/home/toto/cgi) dans le dossier cgi j'y ai un mis un scipt de test (test.pl) Quand je veux l'executer sous mon url le script s'affiche comme sous un
éditeur mais ne s'execute pas. il ne s'interprete pas. le script a bien sur
les autorisations r+x pour other.
pour other ? il faut que ce soit tout le monde chmod -R a+rx /home/toto/cgi
avez vous essayé de faire marcher les script de test de base déjà avant d'en tester ailleurs ? Que retourne(nt) http://localhost/cgi-bin/printenv et/ou http://localhost/cgi-bin/test.cgi ?
si déjà la vous avez le code et non son résultat, il faut revoir la conf de votre apache
ensuite, si cela marche, vérifiez votre conf d'apache :
#il faut le module CGI de chargé : LoadModule cgi_module modules/mod_cgi.so
#lui dire que faier avec quelles extexnsions AddHandler cgi-script .cgi AddHandler cgi-script .pl
#et configurer le dossier comme il faut : #je passe sous silence les déclaration d'alias cgi-bin <Directory /var/www/localhost/cgi-bin> AllowOverride All Options ExecCGI <IfModule mod_access.c> Order allow,deny Allow from all </IfModule> </Directory>
il faut aussi que le user dir soit configuré sinon, testez vos scripts en les placant dans /var/www/localhost/cgi-bin avant de les mettre adbs votre home
mes 0.02 ?
-- jpc
atchoum
bonjour,
j'ai installé sous apache des virtuals hosts. j'ai créé un repertoire cgi sous la racine de mon virtual host (/home/toto/cgi) dans le dossier cgi j'y ai un mis un scipt de test (test.pl) Quand je veux l'executer sous mon url le script s'affiche comme sous
un
éditeur mais ne s'execute pas. il ne s'interprete pas. le script a
bien sur
les autorisations r+x pour other.
pour other ? il faut que ce soit tout le monde chmod -R a+rx /home/toto/cgi
???? Donner la permission d'executer un script à tout le monde me semble très risqué.
Il faut régler le user et le group pour chaque fichier, répertoire en fonction de la valeur des directives de User et Group dans le fichier http.conf.
Typiquement pour Debian, cela correspond à ceci: chown -R www-data.www-data /home/toot/cgi
Pour les autres distribs remplacer en général www-data par nobody.nogroup
A+++ Jean-Pierre
bonjour,
j'ai installé sous apache des virtuals hosts.
j'ai créé un repertoire cgi sous la racine de mon virtual host
(/home/toto/cgi)
dans le dossier cgi j'y ai un mis un scipt de test (test.pl)
Quand je veux l'executer sous mon url le script s'affiche comme sous
un
éditeur mais ne s'execute pas. il ne s'interprete pas. le script a
bien sur
les autorisations r+x pour other.
pour other ? il faut que ce soit tout le monde
chmod -R a+rx /home/toto/cgi
????
Donner la permission d'executer un script à tout le monde me semble très
risqué.
Il faut régler le user et le group pour chaque fichier, répertoire en
fonction de la valeur des directives de User et Group dans le fichier
http.conf.
Typiquement pour Debian, cela correspond à ceci:
chown -R www-data.www-data /home/toot/cgi
Pour les autres distribs remplacer en général www-data par nobody.nogroup
j'ai installé sous apache des virtuals hosts. j'ai créé un repertoire cgi sous la racine de mon virtual host (/home/toto/cgi) dans le dossier cgi j'y ai un mis un scipt de test (test.pl) Quand je veux l'executer sous mon url le script s'affiche comme sous
un
éditeur mais ne s'execute pas. il ne s'interprete pas. le script a
bien sur
les autorisations r+x pour other.
pour other ? il faut que ce soit tout le monde chmod -R a+rx /home/toto/cgi
???? Donner la permission d'executer un script à tout le monde me semble très risqué.
Il faut régler le user et le group pour chaque fichier, répertoire en fonction de la valeur des directives de User et Group dans le fichier http.conf.
Typiquement pour Debian, cela correspond à ceci: chown -R www-data.www-data /home/toot/cgi
Pour les autres distribs remplacer en général www-data par nobody.nogroup
A+++ Jean-Pierre
Jean-Philippe Caruana
pour other ? il faut que ce soit tout le monde chmod -R a+rx /home/toto/cgi
???? Donner la permission d'executer un script à tout le monde me semble très
risqué.
cela dépend des points de vue : j'ai déjà eu des discussions animées à ce sujet sur la mailing list de gentoo (voir archives)
Il faut régler le user et le group pour chaque fichier, répertoire en
fonction de la valeur des directives de User et Group dans le fichier
http.conf.
chown -R www-data.www-data /home/toot/cgi
Pour les autres distribs remplacer en général www-data par nobody.nogroup
ou bien apache.apache (gentoo)
attention à la suite : pouvoir écrire avec son propre user dans un de ses propres dossiers (on est dans le /home/toto ici, pas dans le /var)
-- jpc
pour other ? il faut que ce soit tout le monde
chmod -R a+rx /home/toto/cgi
????
Donner la permission d'executer un script à tout le monde me semble
très
risqué.
cela dépend des points de vue : j'ai déjà eu des discussions
animées à ce sujet sur la mailing list de gentoo (voir archives)
Il faut régler le user et le group pour chaque fichier, répertoire
en
fonction de la valeur des directives de User et Group dans le fichier
http.conf.
chown -R www-data.www-data /home/toot/cgi
Pour les autres distribs remplacer en général www-data par
nobody.nogroup
ou bien apache.apache (gentoo)
attention à la suite : pouvoir écrire avec son propre user dans un de
ses propres dossiers (on est dans le /home/toto ici, pas dans le /var)
pour other ? il faut que ce soit tout le monde chmod -R a+rx /home/toto/cgi
???? Donner la permission d'executer un script à tout le monde me semble très
risqué.
cela dépend des points de vue : j'ai déjà eu des discussions animées à ce sujet sur la mailing list de gentoo (voir archives)
Il faut régler le user et le group pour chaque fichier, répertoire en
fonction de la valeur des directives de User et Group dans le fichier
http.conf.
chown -R www-data.www-data /home/toot/cgi
Pour les autres distribs remplacer en général www-data par nobody.nogroup
ou bien apache.apache (gentoo)
attention à la suite : pouvoir écrire avec son propre user dans un de ses propres dossiers (on est dans le /home/toto ici, pas dans le /var)
-- jpc
Patrick Mevzek
???? Donner la permission d'executer un script à tout le monde me semble très risqué.
????
Si le script est exécuté par le web, sauf ACL ou authentification, le monde entier peut l'exécuter via le protocole HTTP.
On fait souvent davantage confiance aux utilisateurs locaux (compte sur la machine) qu'aux utilisateurs du monde entier via HTTP.
Il faut régler le user et le group pour chaque fichier, répertoire en fonction de la valeur des directives de User et Group dans le fichier http.conf.
Typiquement pour Debian, cela correspond à ceci: chown -R www-data.www-data /home/toot/cgi
Au contraire, moi je recommande dans mes cours qu'Apache ne soit PAS le propriétaire des fichiers servis/exécutés via le Web Ca évite, s'il y a une faille, qu'il puisse modifier les droits et écrire dedans (puisqu'on est bien d'accord que le nécessaire a déjà été fait au départ pour qu'il n'ait pas les droits d'écriture).
Il est bien plus sain que les fichiers soient possédés par root ou un autre compte (style le webmaster). Après, parfois c'est plus tordu, par exemple avec le safe mode PHP.
-- Patrick Mevzek . . . . . . Dot and Co (Paris, France) <http://www.dotandco.net/> <http://www.dotandco.com/> Dépêches sur le nommage <news://news.dotandco.net/dotandco.info.news>
????
Donner la permission d'executer un script à tout le monde me semble très
risqué.
????
Si le script est exécuté par le web, sauf ACL ou authentification, le
monde entier peut l'exécuter via le protocole HTTP.
On fait souvent davantage confiance aux utilisateurs locaux (compte sur
la machine) qu'aux utilisateurs du monde entier via HTTP.
Il faut régler le user et le group pour chaque fichier, répertoire en
fonction de la valeur des directives de User et Group dans le fichier
http.conf.
Typiquement pour Debian, cela correspond à ceci: chown -R
www-data.www-data /home/toot/cgi
Au contraire, moi je recommande dans mes cours
qu'Apache ne soit PAS le propriétaire des fichiers servis/exécutés via le Web
Ca évite, s'il y a une faille, qu'il puisse modifier les droits et écrire
dedans (puisqu'on est bien d'accord que le nécessaire a déjà été fait au
départ pour qu'il n'ait pas les droits d'écriture).
Il est bien plus sain que les fichiers soient possédés par root ou un
autre compte (style le webmaster).
Après, parfois c'est plus tordu, par exemple avec le safe mode PHP.
--
Patrick Mevzek . . . . . . Dot and Co (Paris, France)
<http://www.dotandco.net/> <http://www.dotandco.com/>
Dépêches sur le nommage <news://news.dotandco.net/dotandco.info.news>
???? Donner la permission d'executer un script à tout le monde me semble très risqué.
????
Si le script est exécuté par le web, sauf ACL ou authentification, le monde entier peut l'exécuter via le protocole HTTP.
On fait souvent davantage confiance aux utilisateurs locaux (compte sur la machine) qu'aux utilisateurs du monde entier via HTTP.
Il faut régler le user et le group pour chaque fichier, répertoire en fonction de la valeur des directives de User et Group dans le fichier http.conf.
Typiquement pour Debian, cela correspond à ceci: chown -R www-data.www-data /home/toot/cgi
Au contraire, moi je recommande dans mes cours qu'Apache ne soit PAS le propriétaire des fichiers servis/exécutés via le Web Ca évite, s'il y a une faille, qu'il puisse modifier les droits et écrire dedans (puisqu'on est bien d'accord que le nécessaire a déjà été fait au départ pour qu'il n'ait pas les droits d'écriture).
Il est bien plus sain que les fichiers soient possédés par root ou un autre compte (style le webmaster). Après, parfois c'est plus tordu, par exemple avec le safe mode PHP.
-- Patrick Mevzek . . . . . . Dot and Co (Paris, France) <http://www.dotandco.net/> <http://www.dotandco.com/> Dépêches sur le nommage <news://news.dotandco.net/dotandco.info.news>