J'ai un script CGI utilisant Perl et je voudrais les faire fonctionner sur Apache. J'ai installé ce qui suit:
$ dpkg -l | grep Perl | grep apach
ii libapache-session-Perl 1.90-1 all modules for keeping persistent user data across HTTP requests
ii libapache2-authcookie-Perl 3.19-3 all Perl Authentication and Authorization via cookies
ii libapache2-mod-Perl2 2.0.8+httpd24-r1449661-6ubuntu1 i386 Integration of Perl with the Apache2 web server
ii libapache2-mod-Perl2-dev 2.0.8+httpd24-r1449661-6ubuntu1 all Integration of Perl with the Apache2 web server - development files
ii libapache2-mod-Perl2-doc 2.0.8+httpd24-r1449661-6ubuntu1 all Integration of Perl with the Apache2 web server - documentation
ii libapache2-reload-Perl 0.12-2 all module for reloading Perl modules when changed on disk
ii libapache2-request-Perl 2.13-2.1 i386 generic Apache request library - Perl modules
ii libapache2-sitecontrol-Perl 1.05-1 all Perl web site authentication/authorization system
Et dans /etc/Apache2/Apache2.conf
j'ai ajouté quelque chose comme ceci:
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory /usr/lib/cgi-bin/>
Options Indexes FollowSymLinks
Options +ExecCGI
#AllowOverride None
Require all granted
AddHandler cgi-script cgi pl
</Directory>
Après cela, je récupère le contenu du script dans le navigateur au lieu de le faire exécuter.
Le script mentionné a les autorisations suivantes:
-rwxr-xr-x 1 root root 30146 mar 7 19:17 /usr/lib/cgi-bin/status.pl
Si je mets le lien suivant
$ ll /etc/Apache2/mods-enabled/cgi.load
lrwxrwxrwx 1 root root 26 mar 7 21:40 /etc/Apache2/mods-enabled/cgi.load -> ../mods-available/cgi.load
Ensuite, je reçois le serveur d'erreur 500.
J'ai pu résoudre ça avec:
$ Sudo a2enmod cgi
à partir de cette réponse https://askubuntu.com/a/54259/23006