Bonjour,
Je rencontre un petit problème pour accéder au répertoire CGI d'un domaine.
Je m'explique. J'ai un serveur avec plusieurs sites, plusieurs noms de domaines ... jusque là aucun problème les sites sont accessibles, et tout tourne correctement.
Les sites se trouve dans /home/~nom_du_site/public_html/, jusque là toujours rien d'extraordinaire.
Or j'aurais voulu configurer apache pour que chaque domaine (site) ait son propre répertoire de CGI, c'est à dire un répertoire qui se trouverait à cet emplacement : /home/~nom_du_site/cgi-bin/ donc à l'extérieur du répertoire /home/~nom_du_site/public_html/ qui est la racine du site.
J'ai donc ajouter le mod CGI :
a2enmod cgi
This module is already enables.
Dans le fichier /etc/apache2/apache2.conf j'ai décommenté la ligne :
AddHandler cgi-script .cgi .pl
Dans le fichier /etc/apache2/sites-available/default j'ai la directive :
1 2 3 4 5 6 7
| ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow, deny
Allow from all
</Directory> |
Quand je tape l'URL http://IP_du_serveur/cgi-bin/ je suis bien redirigé vers le répertoire /usr/lib/cgi-bin/ bien qu'il m'indique cette erreur :
Forbidden
You don't have permission to access /cgi-bin/ on this server.
------------------------------------------------------------------------
Apache/2.2.3 (Debian) PHP/5.2.3-0.dotdeb.1 with Suhosin-Patch Server at ns22947.ovh.net Port 80
Mais là n'est pas la question.
Ensuite dans mon répertoire /etc/apache2/sites-available/ j'ai un fichier de configuration pour chacun de mes domaines. Le fichier s'appelle donc nom_du_domaine.tld.
Dans ce fichier j'ai également la directive de ScriptAlias comme ci-dessous :
1 2 3 4 5 6 7
| ScriptAlias /cgi-bin/ /home/nom_du_site/cgi-bin/
<Directory "/home/nom_du_site/cgi-bin">
AllowOverride None
Options ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow, deny
Allow from all
</Directory> |
Or quand je tape l'URL du site http://mon_domaine.tld/cgi-bin/, j'obtiens cette erreur :
Not Found
The requested URL /cgi-bin/ was not found on this server.
bien que bien entendu le répertoire existe.
Je suis donc allé faire un tour dans les logs, et j'ai relevé cette ligne :
[Date blabla] [error] [client IP] File does not exist: /home/nom_du_site/public_html/cgi-bin/
Ce qui me fait constater que la directive ScriptAlias n'effectue pas la redirection vers le répertoire CGI-BIN que je lui ai spécifié.
J'ai donc besoin de vos lumières pour tenter de débloquer la situation !
Merci à vous
Bonne journée.
Partager