Base de connaissances : scripts > Perl

- Ne s'applique pas au scripts php : uniquement perl/python/ruby ... -

Pour qu'un script cgi s'exécute vous devez vérifier deux choses:

1/ Si vous utilisez le ftp et que le script n'est pas compilé, par exemple pour des scripts perl, python ou ruby vous devez utiliser le mode de transfert ASCII et non pas binaire.

La plupart des logiciels ftp sont en mode "auto" vérifiez bien dans la liste des fichiers ascii que les extensions ".cgi", ".pl" et ".py" y sont. Dans le cas contraire ajoutez les et retransmettez les fichiers.


2/ Enfin les fichiers doivent posséder les droits d'exécutions.

Le fichier doit être en 750 ou rwxr-x--- .
Sur la plupart des logiciels ftp vous devez juste cliquer droit sur un fichier et choisir "propriétés" ou "chmod" puis indiquer le mode et valider votre choix.

Vous pouvez aussi le corriger sur la ligne de commande avec l'instruction "chmod" :

chmod 750 /home/monloginftp/www/cgi-bin/monscript.cgi


Cordialement,
Le support Technique.
Les script Perl sur un VPS v2 s'executent avec les doits de l'utilisateur principal du site (le compte ftp principal). Ainsi pour le site:


domaine : monsite.com
login ftp: ftpmonsite

Le script perl est lancé par l'utilisateur ftpmonsite, sendmail traduit ce nom en adresse email en lui ajoutant le domaine de la machine (sendmail ne peu pas savoir de quel site web vient cet utilisateur). Le nom de la machine est le domaine principal, celui indiqué dans votre lettre de bienvenue et que vous pouvez avoir en tappant la commande "hostname" sur la ligne de commande. Par exemple :

core1:/root%(root)> hostname
core1.adn-services.com




Pour cet exemple sendmail utiliserais comme expediteur : ftpmonsite@core1.adn-services.com

Si ce mail n'existe pas et n'est pas définit, ce qui est souvent le cas, sendmail rejette vos message dans le fichier dead-letters dans le repertoire HOME de l'utilisateur ftp. En effet sendmail ne peu envoyer de message si l'adresse de son expediteur n'existe pas ( pour raison de sécurité). Le message d'erreur des logs est "data format error".

Pour corriger ceci creez simplement une adresse email depuis votre tableau de bord. Cette adresse doit etre de la forme suivante:

loginftp@nomdelavps ( ftpmonsite@core1.adn-services.com )

si mon site a pour user d'administration ftpmonsite et que la VPS se nomme core1.adn-services.com je dois créer une adresse ftpmonsite@core1.adn-services.com. Peu importe ou je la redirige pourvus qu'elle existe pour le systeme. Il n'est pas necessaire de créer un compte pop pour celle-ci.

Cordialement,
Le support technique.