1 000 FAQ, 500 tutoriels et vidéos explicatives. Ici, il n'y a que des solutions !
Utiliser des scripts Perl ou Python
Ce guide détaille l'utilisation de scripts Perl ou Python sur les sites hébergés par Infomaniak.
Exécuter des scripts Perl et Python
Pour des raisons de sécurité, l'usage du langage Perl & Python via Apache (et donc par le module CGID), a été désactivé.
Ainsi l’exécution de ces scripts n'est pas possible via Apache avec une offre d'hébergement Web mutualisée.
Solutions
Il existe d'autres moyens d'exécuter des scripts Perl et Python, tels que l'exécution en ligne de commande ou via d'autres offres d'hébergement:
- Perl & Python restent utilisables en SSH et via les commandes PHP qui lance des exécutables (exec, shell_exec, ...) avec toutes nos offres d'hébergement payantes
- CGIWrap est un programme qui permet d'exécuter des scripts CGI en tant qu'utilisateur normal du système, plutôt que sous l'identité de l'utilisateur Apache. Cela peut améliorer la sécurité en limitant les permissions des scripts CGI. Python est disponible pour une utilisation via CGI, le CGIWrap a été patché pour permettre l'utilisation de l'extension .py en plus de .cgi et .pl.
- changer d'offre pour une offre de Serveur Cloud si vous êtes actuellement sur un hébergement Web mutualisé ; cela se fait de façon transparente et tout est détaillé dans ce guide pratique
Précisions
- L'emplacement (path) de l'interpréteur de python est /usr/bin/python
- mod_python n'est pas supporté
- L'exécution de scripts sans l'extension pl ou cgi n'est pas possible cependant un fichier .pl peut exister et être appelé via une URL sans l'extension
Si vous obtenez le message d'erreur suivant:
CGIWrap Error: Execution of this script not permitted
Execution of that script is not permitted for the following reason:
(1) Script file not found.
Request Data:Extra Path Info: /dossier/wwwdata/collection/vignettes/blabla.PL.12.34.56.gif
alors que le fichier chargé est une simple image GIF avec un nom de fichier de type "blabla.PL.12.34.56.gif" cela vient du nom des fichiers en question. Pour contourner le problème, renommer simplement vos fichiers.