[RESOLU][PERL] Comment ça marche ?

Bonjour ,

Je souhaiterai utiliser un script perl me permettant d’émuler un terminal sur mon serveur tout en passant par le web. J’ai donc installé perl sur mon serveur , téléchargé le script (machin.pl) . J’ai bien indiqué le chemin du binaire perl à mon script et placé ce dernier dans [répertoire du serveur web]/public-html/cgi-bin. Tous les éléments sont chmoddé 755.

Je lance le script avec http://monserveur/public_html/cgi-bin/monscript.pl et …

il m’affiche bêtement le contenu du fichier; et là je me dit , “Enfer et boules de bite !”

Comment faire pour que le fichier .pl soit interprété par perl ? Faut-il lancer un daemon sur le serveur ? J’ai cherché sur le web sans succès, auriez-vous des infos svp ?

Merci beaucoup.

As tu activer le module perl de Apache? Et mis la bonne extension dans le fichier de configuration pour ce module?

J’ai ça dans mon phpinfo :

pcre PCRE (Perl Compatible Regular Expressions) Support enabled PCRE Library Version 4.5 01-December-2003

Par contre , perl ne figure pas dans les options de compile :

au temps pour moi, je n’avais pas lu que tu voulais l’utiliser en tant que cgi. Pas d’idee (en tout cas pas plus que Google sur ce coup la :stuck_out_tongue: )

mod_cgi? Et dans httpd.conf, tu dis bien que les .pl ou .cgi doivent être exécutés par perl? (ApplicationType, je crois)

J’ai rajouté dans “mime type” une ligne “application/perl pl” mais je ne suis pas convaincu que celà fasse grand chose. (je peux pas tester du taf)

c’est bete, parce que si ton truc marchait tu pourrais y accéder du bureau pour le configurer pour qu’il marche.

ben en fait j’y accède via le ftp , je peux donc editer les fichiers de config , mais comme je l’ai dit plus haut , l’outils d’émulation phpterm que j’utilisais ne me permet que de lancer les commandes de base du shell et pas celles des appli installées.

Mais , là , j’ai du faire une counasserie , j’ai modifié le httpd.conf et j’ai fait un reboot et … à pu serveur web . Arf ! j’espère que j’ai pas tout pêté .

EDIT : apparement le serveur est juste long à redémarer , ce qu’il a fait correctement. Par contre , j’ai modifié httpd.conf en ajoutant ceci :

[code] ScriptAlias /cgi-bin/ “/usr/syno/apache/cgi-bin/”

#
# "/usr/syno/apache/cgi-bin" should be changed to whatever your ScriptAliased
# CGI directory exists, if you have that configured.
#
<Directory "/usr/syno/apache/cgi-bin">
	AllowOverride None
	Options ExecCGI FollowSymLinks
	Order allow,deny
	Allow from all
</Directory>[/code]

Et … CA MARCHE !!! Youhouuuuu ! Marge , amène la bière !

Bon , voilà , merci de votre aide.

pouf , pouf.

Il faut que le répertoire /public_html/cgi-bin/ soit déclaré dans appache comme étant un répertoire de script.
Voir ScriptAlias dans le fichier de config. Le mieux étant de “copier” la config de /cgi-bin
Comme tu as mis le shebang correcte, et que le chmod est bon, il devrait exécuter alors le script.

Non, pas du tout, c’est apache qui s’occupe de tout ça.

Oui.
Il y a plus compliqué, en configurant le module de apache mod_perl, pour qu’il lance le scipt.
Disons que niveau perf, c’est mieux, mais je sais pas si niveau configuration c’est plus compliqué.

Et puis, le phpinfo() te donne des informations de configuration de … PHP, pas du serveur apache.
Je dirai que le module PCRE est le module d’expression régulière de php, qui est compatible perl (au niveau de l’écriture des expressions). Rien à voir avec l’interprétation perl sur le serveur en tout cas.

Enfin, le mime/type permet de dire à apache qu’il donne au navigateur le bon type de fichier récupéré depuis le serveur. Si tu as Perl d’installé sur ton client, ça pourrait lancer automatiquement l’exécution du script, mais sur ton poste client. Aucun interet donc dans ce cas ci

Merci de tes explication , en fait je viens juste de trouver.

Effectivement , le phpinfo retourne les infos de , php ; chu con , oui je sais.

Merci quand même à ceux qui m’ont répondus rapidement.