Chapitre 30. Le serveur web Apache

Table des matières

30.1. Notions de base
30.2. Installation du serveur HTTP avec YaST
30.3. Les modules d'Apache
30.4. Les fils d'exécution (threads)
30.5. Installation
30.6. Configuration
30.7. Utilisation de Apache
30.8. Les contenus dynamiques
30.9. Les hôtes virtuels
30.10. Sécurité
30.11. Résolution de problèmes
30.12. Documentation complémentaire

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.

30.1. Notions de base

Cette section traite des principes fondamentaux des serveurs web et des protocoles qu'ils utilisent. Les fonctionnalités les plus importantes sont également introduites.

30.1.1. Serveur web

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

30.1.2. HTTP

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.

30.1.3. URL

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 :

Protocole

Les protocoles souvent utilisés sont :

http://

Le protocole HTTP

https://

Version sécurisée et chiffrée de HTTP

ftp://

File Transfer Protocol (Protocole de Transfert de Fichiers), pour le téléchargement de fichiers.

Domaine

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

Ressource

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.

30.1.4. Affichage automatique d'une page par défaut

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


SUSE LINUX Guide de l'administrateur 9.2