PDA

Voir la version complète : Probleme d'exectution de pl comme cgi


Conrad
24/02/2004, 08h24
Bonjour,

J'ai besoin d'executer des pl pour que ceci accedent a ma base de données mysql, j'ai regardé pas mal de tuto et j'ai toujours internal error qaund j'execute ceci:

http://www.opaleserveur.com/cgi-bin/ps.pl

j'ai modifié mon httpd.conf de cette facon

# To use CGI scripts:
#
AddHandler cgi-script .cgi pl


le rep cgi-bin est en 755

apres j'ai essayé de rajouter ceci tjrs ds le httpd.conf

<VirtualHost 213.186.47.59>
ServerAdmin webmaster@opale.com
DocumentRoot /home/opale/www/stats/bcsstats1
User opale
Group users
ServerName www.opaleserveur.com
ServerAlias stats.opaleserveur.com
CustomLog logs/opale-access_log combined
ScriptAlias /cgi-bin/ /usr/local/apache/cgi-bin/
</VirtualHost>


Rien a faire toujours la meme erreur internal error..

ou puis encore regarder ??

De plus l'alias ne se cree pas, apres l'arret et le redemarage de httpd.conf..

Voici le message ds /var/log/error_log[Tue Feb 24 09:16:22 2004] [error] [client 81.56.203.159] Premature end of script headers: /home/opale/www/cgi-bin/ps.pl
[Tue Feb 24 09:16:25 2004] [error] [client 81.56.203.159] Premature end of script headers: /home/opale/www/cgi-bin/ps.pl
[Tue Feb 24 09:18:08 2004] [error] [client 81.56.203.159] Premature end of script headers: /home/opale/www/cgi-bin/ps.pl
[Tue Feb 24 09:18:10 2004] [error] [client 81.56.203.159] Premature end of script headers: /home/opale/www/cgi-bin/ps.pl
[Tue Feb 24 09:18:17 2004] [error] [client 81.56.203.159] Premature end of script headers: /home/opale/www/cgi-bin/test.pl
[Tue Feb 24 09:20:23 2004] [error] [client 81.56.203.159] Premature end of script headers: /home/opale/www/cgi-bin/ps.pl

___________________________________________

le cgi.log



[2004-02-24 09:24:44]: error: target uid/gid (513/100) mismatch with directory (511/100) or program (0/0)
[2004-02-24 09:28:18]: info: (target/actual) uid: (opale/opale) gid: (users/users) cmd: test.pl
[2004-02-24 09:28:18]: error: target uid/gid (513/100) mismatch with directory (511/100) or program (0/0)
[root@ns30541 httpd]#

Conrad
24/02/2004, 09h22
c'est bon probleme resolu,

permission sur les rep et fichiers differents

chgrp -r
chown -r

4 heures de passées pour si peu...

Et dire que c'est toujours comme ca :)

fred671
27/02/2004, 22h31
Bonjour,

c'est bien, vous avez trouvé la solution, mais ce serais aussi bien de l'expliquer pour les autres...:(

Conrad
28/02/2004, 08h41
Désolé mais je pensais l'avoir plus au moins fait.

En fait mon repertoire cgi-bin et les fichiers s'y situant
avient des droits et proprietaires differents,

j'ai donc effectué depuis le debut de l'arborescence au niveau de cgi-bin

un changement de propritetaire recursif

chown -R cgi-bin

et un changement de groupe recursif

chgrp -R cgi-bin

afin de pallier à l'incoherence decrite dans le fichier de log situé dans /var/log/httpd/'fichier de log du site'


Voila en esperant avoir ete plus clair.

En sachant qu'au prealable j'avais deja modifié la config ds le httpd.conf comme expliqué dans ce thread ds mon premier post.

Cordialement.

fred671
28/02/2004, 19h00
pfffff, ça marche toujours pas.

j'ai fais un tout tout petit script qui est censé marché:

#!/usr/bin/perl

# Fichier hello.cgi

print " Hello World !\n;

mais ça marche pas, erreur interne du serveur (500)

Mais pourquoi donc ????

fred671
28/02/2004, 19h16
suite au dernier post je lasse aussi mes logs de:

cgi.log:

[2004-02-28 20:12:07]: info: (target/actual) uid: (fredy/fredy) gid: (users/users) cmd: hello.cgi
[2004-02-28 20:12:07]: error: directory is writable by others: (/home/fredy/cgi-bin)

si quelq'un avais une solution

Marc
01/03/2004, 16h43
Visiblement tu as placé ton script dans un répertoire cgi-bin, j'en déduis que tu t'attend à l'employer via une page internet non ?

Si c'est le cas et que le script (hello.cgi) que tu nous soumet est entier, alors il serait bon d'ajouter les entêtes, ça serais déjà un bon début ...

fred671
01/03/2004, 20h03
mais le script hello.cgi je l'apelle comme cici:

http://www.mondomaine.com/cgi-bin/hello.cgi

ce que je ne comprend pas c'est que ce script tout bête ne fonctionne pas alors que j'ai d'autres script plus complexe que j'ai téléchargé ailleur et qui fonctionne sans aucun problème.

P.S: De quel entête me parle tu ?

TranSGeniK
02/03/2004, 02h28
#!/usr/bin/perl

# Fichier hello.cgi

print "Content-type: text/html\n\n";
print "Hello World !\n";


Voilà.

Marc
02/03/2004, 06h28
TranSGeniK te montre le code qui te manque pour que ton script puisse fonctionner en étant appelé par internet, ton code étais bon si ton script était appeler en ligne de commande.

Dans ton cas, tu dois aussi veiller à ce que ton script soit exécutable par apache.