Page précédente Page suivante Table des matières

13. APACHE / httpd : un serveur Web

Le démon httpd fourni avec la Redhat est celui écrit par Apache. Celui-ci permet à votre machine de devenir un serveur Web (aussi appelé WWW).

Sa configuration est des plus simple. Tout d'abord, il faut installer apache sur votre machine si ça n'est pas encore fait. À vous de choisir votre solution préférée : un bon rpm en ligne ou la version graphique glint (qui ne présente pas toujours correctement les messages d'erreur éventuellement engendrés lors d'une installation avortée).

13.1 Configuration d'Apache

Tous les fichiers de configuration de httpd se trouvent dans le répertoire /etc/httpd/conf/. Le fichier principal est le fichier httpd.conf. Il suffit de réactiver la ligne ServerName qui est normalement commentée, et de spécifier le nom auquel le serveur répondra, par exemple :

ServerName nom_de_ma_machine

Bien évidemment, ce nom doit être un nom valide de la machine, c'est-à-dire un nom auquel elle répondra soit directement, soit après une résolution par NYS ou DNS. Pour le moment, mettre tout simplement le nom habituel de la machine.

Il ne reste plus qu'à tester le bon fonctionnement du serveur Web, en lançant un browser quelconque à l'adresse http://nom_de_ma_machine/ ou http://localhost/ si vous êtes directement sur le serveur. Cela devrait afficher la page de présentation de apache. Celle-ci est installée dans le répertoire /home/httpd/ où vous pourrez bien entendu placer vos pages Web.

Les utilisateurs peuvent maintenant insérer leurs pages Web dans un répertoire public_html sur leur compte qui sera accessible par http://nom_de_ma_machine/~user_name/. Le nom de ce répertoire ainsi que les pages chargées par défaut (style index.html) sont paramètrés et modifiables dans le fichier srm.conf.

13.2 Accès aux fichiers et gestion des droits d'accès

Avant tout, pour que le démon httpd puisse accéder aux fichiers, ceux-ci doivent avoir le droit de lecture pour tous.

Pour l'appliquer à tous les fichiers d'un répertoire, nous lancerons ainsi la commande chmod a+r *.

Par ailleurs, Apache fournit un système permettant de définir les droits d'accès des différents répertoires. Les droits d'accès par défaut sont définis dans le fichier /etc/httpd/conf/access.conf.

Il est toutefois possible de préciser un droit d'accès pour chaque répertoire, ce qui peut être utile si l'on installe des pages qui doivent être accessibles uniquement de façon interne à votre entreprise/association/réseau, et non à tous les internautes.

Cela se fait dans un fichier appelé par défaut .htaccess qui contient par exemple :

order deny,allow
deny from all
allow from .votre_domaine.fr

Ce qui permet d'autoriser uniquement les utilisateurs de .votre_domaine.fr à accéder aux fichiers du répertoire où est placé ce fichier.

13.3 Configuration et utilisation des scripts CGI

L'un des principaux intérêts d'un serveur Web est de permettre d'exécuter des programmes sur le serveur. Ces programmes sont généralement dénommés des scripts cgi.

Apache permet bien évidemment d'exécuter de tels scripts. Par défaut, ces scripts sont autorisés à être exécuté uniquement si ils sont stockés dans le répertoire : /home/httpd/cgi-bin.

Mettons donc dans ce répertoire un petit script perl test.pl :

#! /usr/bin/perl

print "Content-type: text/html\n\n";
print "Tout baigne\n";

Et à l'affichage par votre browser préféré de http://nom_de_ma_machine/cgi-bin/test.pl vous lirez le message "Tout baigne".

Vous pouvez également autoriser le lancement de scripts CGI dans d'autres répertoires ajoutant l'option AddHandler cgi-script .cgi dans votre fichier srm.conf. Cependant, il est préférable de limiter au cas par cas cette possibilité pour des raisons de sécurité grâce au fichier access.conf.

La configuration fournie ici est suffisante pour la majorité des utilisations, mais les fichiers de configuration sont suffisamment bien commentés pour ne pas mériter de plus amples détails. Il ne reste plus qu'à vous lancer et configurer des VirtualHosts, le proxy cache, le support java et les trucs sympathiques du genre...


Page précédente Page suivante Table des matières