Comment modifier la configuration
du serveur Apache version 1.3 (mais ce qui suit s'applique aussi
à la version 2.0) pour permettre l'utilisation des Server
Side Includes (SSI) et des scripts CGI, afin de tester du contenu
dynamique ? Cet article supposera que le serveur Apache est déjà
installé sur votre plate-forme (Windows ou Unix/Linux) et
fonctionne pour délivrer du contenu statique.
La compilation par défaut d'Apache permet d'étendre
ses capacités au contenu dynamique, en incluant les modules
mod_include et mod_cgi. Assurez-vous que ces modules
sont bien présents dans la liste des modules compilés
par un:
./httpd -l
depuis le répertoire bin.
Dans le cas contraire, il faut recompiler le serveur, tâche
pour laquelle nous renvoyons à la documentation d'Apache
(httpd.apache.org).
Configurer Apache pour les SSI
Les fichiers de configuration d'Apache sont situés, sous
Unix, dans le répertoire /usr/local/apache/conf (répertoire
par défaut) et sous Windows, dans le répertoire c:\Program
Files\Apache/conf (idem). Parmi ces fichiers figure httpd.conf,
un fichier texte éditable par le bloc-note ou un programme
comme vi sous Unix.
En parcourant ce fichier, on constate qu'il comprend de nombreux
commentaires précédés du caractère #.
Une section, en particulier, nous intéresse ici:
#
# To use server-parsed HTML files
#
#AddType text/html .shtml
#AddHandler server-parsed .shtml
En supprimant les # précédant les commandes AddType
et AddHandler, on indique au serveur Apache de renvoyer du
texte ou de l'HTML dès qu'il rencontre un fichier avec l'extension
.shtml (commande AddType) et de réaliser l'analyse
syntaxique (parsing) du contenu (commande AddHandler)
au moyen du module mod_include, qui se chargera donc de traduire
les instructions SSI.
Ce n'est pas tout. Recherchez les lignes suivantes (ou similaires)
du fichier httpd.conf:
<Directory "/usr/local/apache/htdocs">
Options Indexes FollowSymLinks MultiViews
Ajouter, à la fin de la deuxième ligne, l'option Includes
permet d'exécuter les instructions SSI dans le répertoire
htdocs, où sont habituellement placées les pages web.
Bien évidemment, si les pages figurent dans un autre répertoire,
il faudra adapter le fichier httpd.conf en conséquence.
Après avoir édité le fichier httpd.conf, il
faut relancer le serveur (par kill -HUP `cat /usr/local/apache/logs/httpd.pid`
sous Unix et apache -k restart sous Windows). Il ne reste
plus qu'à tester la nouvelle configuration en faisant afficher,
sur votre navigateur, une page contenant des instructions SSI stockées
sur le serveur (par exemple http://localhost/test.shtml).
Une autre méthode: XbitHack
La méthode "XbitHack" permet également de
faire exécuter des instructions SSI. Il s'agit de placer
le "bit d'exécution utilisateur" d'un fichier texte
pour qu'Apache traite ce fichier comme un fichier SSI. En pratique,
il suffit d'inscrire la directive suivante dans le fichier .htaccess
du (ou des) répertoire(s) où figurent les fichiers
concernés:
XbitHack status on
Ainsi, Apache traitera tous les fichiers exécutables par
l'utilisateur comme des fichiers SSI.
Configurer Apache pour les CGI
La première chose à faire est de s'assurer que, dans
le répertoire cgi-bin, les scripts sont exécutables
par l'utilisateur (et le groupe).
Les scripts CGI sont permis par la ligne suivante du fichier httpd.conf:
ScriptAlias /cgi-bin/ "/usr/local/apache/cgi-bin/"
ligne qui précise à la fois que les fichiers CGI peuvent
être trouvés dans le répertoire /usr/local/apache/cgi-bin,
et qu'Apache peut les exécuter en tant que tels. Ecrire un
petit script CGI (en Perl ou en Shell) permet de le tester.
Pour plus d'information sur le sur le serveur Apache, nous renvoyons
une nouvelle fois à sa documentation.
Pour plus d'informations sur les CGI et les SSI, nous renvoyons
vers la page correspondante
de JDN Développeurs.
|