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).
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
.
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.
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...