Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 29/07/2006, à 05:06

freenux.be

Exécution de script perl (.pl) sur localhost

Bonjour,

Je suis en plein codage d'un site dynamique dans lequel certains scripts perl seront utilisé ,
notament un moteur de recherche sémentique ; le problème est qu'en local lorsque je pointe sur mon fichier.pl (chmod 755) au lieu d'obtenir l'affichage résultant de son exécution , firefox me proprose de le télécharger ....

J'utilise Apache 2.0.55 avec les modules suivant :
- DAV/2
- SVN/1.3.1
- mod_fastcgi/2.4.2
- mod_jk/1.2.14
- mod_python/3.1.4
- Python/2.4.3
- PHP/5.1.2
- mod_perl/2.0.2
- Perl/v5.8.7

Note : ces scripts fonctionnent cependant tout à fais normallemenrt chez mon hébergeur .

Il doit y avoir une manipulation mais j'avoue sécher sur le coup , j'ai chercher sur google.com/linux mais sans succès ; alors peut-être qu'un membre de la communauté ubuntu-fr à déjà rencontré ce soucis ?

Dernière modification par freenux.be (Le 29/07/2006, à 05:08)


Informations générales pour les débutants ... et les autres ;-)

AMD Athlon II X2 245 - 8Go DDR2 - 2.5To SATA2 - ATi Radeon HD3200

Hors ligne

#2 Le 30/07/2006, à 01:03

redsectors

Re : Exécution de script perl (.pl) sur localhost

coucou,

l'option ExecCGI doit être positionnée dans ta configuration apache de même
que le handler cgi doit être ajusté pour les scripts en .pl

ex:

AddHandler cgi-script .pl
AddHandler cgi-script .cgi

<Directory /bla/bla>
Options ExecCGI  Indexes Includes FollowSymLinks
</Directory>

@+


Acer 5315 Core duo 2 upgrade
Broadcom Corporation BCM4311 802.11b/g Wireless LAN Controller
Adaptateur USB TNT Intuix S800
Powered by Ubuntu !

Hors ligne

#3 Le 30/07/2006, à 15:13

freenux.be

Re : Exécution de script perl (.pl) sur localhost

Bon apparament c dejà mieux , mais depuis ke j'ai relancé le serveur je ne peut plus accéder au répertoire /var/www/cgi-bin en effet ca ose me répondre via le navigateur firefox "Erreur 403 - Forbidden :
You don't have permission to access /cgi-bin/ on this server." ; faut-il laisser www-data comme propriétaire & groupe propriétaire de ce répertoire ?

Disons que je ne peux accéder au répertoire qu'en utilisant "gksudo nautilus" et plus depuis l'arborescence via le navigateur internet.

Voici mes ajouts dans /etc/apache2/apache2.conf

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

et en fin de fichier juste avant : "# Include the virtual host configurations:
Include /etc/apache2/sites-enabled/[^.#]*" j'ai ajouté celà :

# Répertoire execution PERL et CGI
#
<Directory /var/www/cgi-bin>
Options ExecCGI  Indexes Includes FollowSymLinks
</Directory>

Dernière modification par freenux.be (Le 30/07/2006, à 15:34)


Informations générales pour les débutants ... et les autres ;-)

AMD Athlon II X2 245 - 8Go DDR2 - 2.5To SATA2 - ATi Radeon HD3200

Hors ligne

#4 Le 30/07/2006, à 16:43

redsectors

Re : Exécution de script perl (.pl) sur localhost

ma configuration était destinée à pouvoir executer des scripts en dehors
du cgi-bin.

Si tu mets tes scripts dans le /var/www/cgi-bin, plus besoin de la directive
Directory avec l'option ExecCGI. En effet, une directive ScriptAlias doit déja
être présente dans ton fichier de configuration.

Concernant un eventuel de droit, il faut juste verifier que l'utilisateur www-data
puisse avoir un accès r+x dans le répertoire.

ps : quelle url appelles-tu pour avoir l'erreur  ?


@+


Acer 5315 Core duo 2 upgrade
Broadcom Corporation BCM4311 802.11b/g Wireless LAN Controller
Adaptateur USB TNT Intuix S800
Powered by Ubuntu !

Hors ligne

#5 Le 03/08/2006, à 23:57

freenux.be

Re : Exécution de script perl (.pl) sur localhost

Bonjour redsectors ^^

Alors dans firefox je tape :
http://localhost/cgi-bin/recherche.pl
ou
http://localhost/cgi-bin/recherche.pl?admin

- dans les deux cas j'obtiens :
"Erreur 403 - Forbidden :
You don't have permission to access /cgi-bin/ on this server."

Est propriétaire du fichier & du groupe : www-data


P.S.: Le répertoire /cgi-bin/ à été créé par mes soins celui-ci n'était pas présent.

voilà pour les détails manquants ^^

Dernière modification par freenux.be (Le 04/08/2006, à 00:05)


Informations générales pour les débutants ... et les autres ;-)

AMD Athlon II X2 245 - 8Go DDR2 - 2.5To SATA2 - ATi Radeon HD3200

Hors ligne

#6 Le 05/08/2006, à 15:57

T-BnT

Re : Exécution de script perl (.pl) sur localhost

Bonjour tout le monde, j'ai une petite question un peu hors sujet (désolé mais j'ai pas trouvé d'autres endroits pour demander...:rolleyes:) : je viens d'installer PHP 5.0, MySQL, etc en suivant les instructions de la documentation mais je ne comprends pas où je dois mettre mes fichiers PHP pour pouvoir les lire. Sous windows, je les mettais dans un fichier nommé "www", sous ubuntu, j'ai trouvé ce fichier dans /var/www mais quand je mets un fichier dedans, ils me disent que je n'ai pas le droit de les mettre là..
Si quelqu'un sait m'aider, ce serait super cool, merci smile

Hors ligne

#7 Le 07/08/2006, à 13:15

freenux.be

Re : Exécution de script perl (.pl) sur localhost

Salut T-BnT,

Pour placer tes fichiers dans "/var/www" il faut que tu sois en root ,
pour celà en mode terminal tape :

gksudo nautilus

En parcourant tes répertoires via la fenêtre qui s'ouvre tu peux aller où tu veux sans restriction mais attention si tu supprime un fichier par erreur celui-ci est perdu à tout jamais.

la prochaine fois crée un nouveau message stp ^^

Bon en attendant j'ai toujours pas solution à mon soucis ...


Informations générales pour les débutants ... et les autres ;-)

AMD Athlon II X2 245 - 8Go DDR2 - 2.5To SATA2 - ATi Radeon HD3200

Hors ligne

#8 Le 08/09/2006, à 15:15

m492001

Re : Exécution de script perl (.pl) sur localhost

j'ai un probleme sous perl:
j'ai crée un répertoire dans /var/www/cg-bin/
où j'ai mes script cgi et  .pl
ce pendant quand je lance un script .cgi rien ne marche et on me dit que je l'ai pas le droit approprié ( erreur visible dans le navigateur) alors que mes script .pl s'executent tres bien
quelquun aurait une solution svp?
merci de votre reponse

#9 Le 11/09/2006, à 19:21

davidbo5

Re : Exécution de script perl (.pl) sur localhost

Essayes en première ligne avec le -w qui active les warnings à l'exécution t qui permet de lancer les cgi dans le répertoire cgi-bin.

#!/usr/bin/perl -w

Si installer par défaut avec Ubuntu ton script fonctionnera normalement cool


Portable Fujitsu Siemens Amilo M1451 : Ubuntu Hardy 32bits

Hors ligne

#10 Le 27/03/2007, à 00:07

rubens

Re : Exécution de script perl (.pl) sur localhost

Bonjour,

Je rencontre un problème similaire : j'ai placé mon script monscript.pl dans /usr/lib/cgi-bin qui correspond au réperoire virtuel indiqué par la directive ScriptAlias dans mon fichier de configuration /etc/apache2/sites-available/default.
J'ai donné à wwww-data les droits r+x sur ce script.
Quand je charge l'URL http://localhost/cgi-bin/monscript.pl, j'obtiens une invite pour télécharger le fichier : il ne s'exécute pas côté serveur.

Hors ligne

#11 Le 27/03/2007, à 12:33

rubens

Re : Exécution de script perl (.pl) sur localhost

En relisant la documentation de mod_perl j'ai amélioré la directive Directory de ScriptAlias : tout fonctionne donc bien bien maintenant.

	ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
	<Directory "/usr/lib/cgi-bin">
		SetHandler perl-script
      		PerlResponseHandler ModPerl::Registry
      		PerlOptions +ParseHeaders
      		Options +ExecCGI
      		Order allow,deny
      		Allow from all 		
	</Directory>

Il y avait aussi un problème sur le renvoi d'en-tête par Apache du fait que j'utilisais une écriture différée dans mon script. Mais je n'en parle pas ici puisque ce n'est pas le sujet. wink

Hors ligne

#12 Le 28/03/2007, à 20:27

rubens

Re : Exécution de script perl (.pl) sur localhost

Attention, en relisant cette discussion, je réalise que plusieurs d'entre vous ont créé un répertoire cgi-bin à la racine, c'est-à-dire sous /var/www ; puis déclarent ce répertoire comme un alias dans la directive ScriptAlias.
Cette façon de faire ne me semble pas conforme et je pense que c'est pour cette raison qu'Apache n'autorise pas l'exécution de scripts dans ce répertoire.

La manière conforme consiste à faire pointer l'alias (ou répertoire virtuel) vers un répertoire situé ailleurs dans l'arborescence du système. Par défaut, ce répertoire existe déjà dans /usr/lib/cgi-bin/ et il suffit d'indiquer ceci dans la directive:

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin/">
etc.

Si cela peut aider, j'ai publié récemment un opuscule sur la configuration D'Apache (pour Windows et GNU/Linux : exemples sur Ubuntu).
http://pedagogie.ac-montpellier.fr/tice … Apache.pdf

Dernière modification par rubens (Le 28/03/2007, à 20:27)

Hors ligne

#13 Le 24/04/2008, à 19:40

lavince

Re : Exécution de script perl (.pl) sur localhost

Bonjour,

Il me semble que j'ai fait tout ce qui est indiqué de ce post, mais le problème persiste chez moi...
Il me demande si je veut télécharger le fichier .pl

Mon fichier p1.pl commence par la ligne :
#!/usr/bin/perl -w

J'ai ajouté dans le fichier default dans le répertoire /etc/apache2/sites-available :
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
    <Directory "/usr/lib/cgi-bin">
        SetHandler perl-script
        AddHandler cgi-script .pl
        AddHandler cgi-script .cgi
               PerlResponseHandler ModPerl::Registry
               PerlOptions +ParseHeaders
               Options +ExecCGI
               Order allow,deny
               Allow from all
    </Directory>

Et sur http://localhost
J'ai bien les sites que j'ai installé et en dessous :
Apache/2.2.4 (Ubuntu) PHP/5.2.3-1ubuntu6.3 mod_perl/2.0.2 Perl/v5.8.8 Server at localhost Port 80

Ce qui me fait croire que perl est bien installé. Je ne sais donc plus quoi faire....
Merci d'avance de votre aide.

#14 Le 25/04/2008, à 20:05

lavince

Re : Exécution de script perl (.pl) sur localhost

help me big_smile

#15 Le 17/06/2009, à 15:36

Ubooonty

Re : Exécution de script perl (.pl) sur localhost

Bonjour, voila, je tourne en rond depuis plus de 2 heures, j'ai le droit à un beau petit " Error 403 -  Forbidden " .

http://localhost/cgi-bin/test.pl

J'ai creer un lien symbolique dans /var/www :

ln -s /usr/lib/cgi-bin /var/www/cgi-bin

Le mod perl est bien lancé : mod_perl/2.0.4 Perl/v5.10.0

et j'ai bien sa dans /etc/apache2/sites-available et /etc/apache2/sites-enabled :

    ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
    <Directory "/usr/lib/cgi-bin">
        SetHandler perl-script
              PerlResponseHandler ModPerl::Registry
              PerlOptions +ParseHeaders
              Options +ExecCGI
              Order allow,deny
              Allow from all         
    </Directory>

#16 Le 19/06/2009, à 00:50

Ubooonty

Re : Exécution de script perl (.pl) sur localhost

Personne ? j'ai vraiment besoin d'aide... big_smile