Table des matières
Résumé
Avec une part de marché de plus de soixante pour cent, Apache est le serveur web le plus répandu dans le monde (source : http://www.netcraft.com). Pour des applications web, Apache est souvent combiné avec Linux, la base de données MySQL et les langages de programmation PHP et Perl. Cette combinaison est habituellement désignée par l'abréviation LAMP.
Nous présentons dans ce chapitre le serveur web Apache. Nous vous expliquons ici comment l'installer et le configurer et nous décrivons également quelques-uns des modules disponibles. Les variantes pour les hôtes virtuels sont également abordées.
Cette section traite des principes fondamentaux des serveurs web et des protocoles qu'ils utilisent. Les fonctionnalités les plus importantes sont également introduites.
Un serveur web fournit à un client les pages HTML qu'il demande. Ces pages peuvent être stockées dans un répertoire (pages passives ou statiques) ou générées comme réponse à une requête (contenus actifs).
Les clients sont dans la plupart des cas des navigateurs web comme Konqueror ou Mozilla. La communication entre le navigateur et le serveur web se fait par le protocole HTTP (Hypertext Transfer Protocol). La version actuelle, HTTP 1.1; est documentée dans le RFC 2068 ainsi que dans sa mise à jour RFC 2616. Ces RFC se trouvant à l'adresse http://www.w3.org.
Les clients demandent des pages au serveur par le biais d'un URL comme http://www.novell.com/linux/suse/. Un URL est composé des éléments suivants :
Les protocoles souvent utilisés sont :
Dans notre exemple, www.novell.com. Le domaine
peut encore être subdivisé, la première partie www
faisant référence à un ordinateur et la deuxième partie novell.com
au domaine proprement dit. Ces deux parties considérées ensemble sont
également appelées FQDN (Fully Qualified Domain Name, nom de domaine
pleinement qualifié).
Dans notre cas, index.html. Cette partie
indique le chemin d'accès complet à cette ressource. Cette ressource
peut être un fichier, comme dans notre cas. Il peut également s'agir
d'un script CGI, d'une page de serveur Java ou tout autre type de
ressource.
Ici, les mécanismes d'Internet responsables de l'acheminement d'une
requête, comme le Domain Name System – Système de Noms de Domaines ou
DNS, transmettent la requête au domaine www.suse.fr et
la redirigent vers le ou les ordinateurs hébergeant les ressources. Apache
fournit alors la ressource, dans notre exemple la page
index.html, depuis son répertoire de fichiers. Dans ce
cas, le fichier se trouve dans le répertoire de niveau le plus élevé ;
il peut cependant aussi se trouver dans un sous-répertoire, comme dans
http://support.novell.com/linux/.
Ici, le chemin d'accès du fichier est relatif à la racine des
documents (DocumentRoot), qui peut être modifiée dans le
fichier de configuration. La section Section 30.6.2.1, « DocumentRoot » décrit les modifications à
effectuer.
Dans le cas ou aucune page par défaut n'est précisée, Apache ajoute
automatiquement à l'URL l'un des noms les plus courants pour ces pages. Le
nom le plus fréquent pour ces pages est index.html. La
section Section 30.6.2.7, « DirectoryIndex » décrit comment
configurer cette fonctionnalité d'Apache et quels noms de page il doit
utiliser. Dans notre exemple, il suffit d'appeler http://www.suse.com pour que le serveur renvoie la page
http://www.novell.com/linux/suse/.