Fonctionnement d’Apache
Apache est un programme qui a besoin d’un système d’exploitation multi-tâches pour fonctionner. Dans les exemples de ce livre, les systèmes utilisés sont Unix et Windows 95/98/2000/Me/NT/... (ces derniers seront désignés par le terme générique Win32 ). Par Unix, nous entendons ses différentes déclinaisons : Linux, OS/2 d’IBM, Novell Netware, Mac OS X (qui repose sur FreeBSD et est fourni avec Apache), etc.
Le binaire Apache s’appelle httpd sous Unix et apache.exe sous Win32, et s’exécute généralement en tâche de fond(*). Toute copie de httpd/apache qui s’exécute s’occupe d’un site web qui est, en ce qui nous concerne, un répertoire. Quel que soit le système d’exploitation, le répertoire d’un site contient typiquement quatre sous-répertoires :
*. Ce double nom est plutôt ennuyeux mais il semble qu’il soit trop tard pour changer les choses. Nous le désignerons maladroitement par httpd/apache et nous espérons que le lecteur saura choisir le bo
conf
Contient le(s) fichier(s) de configuration. httpd.conf est le plus important d’entre eux et il sera désigné tout au long de ce livre comme le fichier de configuration du serveur. Il précise notamment les URL qui seront servies.
htdocs
Contient les fichiers HTML qui seront servis aux clients du site. Ce répertoire et tous ceux qu’il contient, l’ espace web, est accessible à toutes les personnes utilisant le Web et pose donc un problème de sécurité très sérieux s’il contient autre chose que des données publiques.
logs
Contient les données concernant les accès et les erreurs, mémorisées dans des fichiers log.
cgi-bin
Contient les scripts ou les programmes CGI, écrits par ou pour le webmestre et qui seront exécutés par Apache pour le compte de ses clients. Il est très important, pour des raisons de sécurité, que ce répertoire ne se trouve pas dans l’espace web, c’est-à-dire dans .htdocs ou l’un de ses sous-répertoires.
Lorsqu’il est en attente, Apache ne fait rien d’autre que d’écouter sur le couple adresse IP/port indiqué dans le fichier de configuration du serveur conf. Lorsqu’une requête arrive, Apache la reçoit et analyse ses en-têtes, puis il applique les règles de son fichier conf avant d’effectuer les actions appropriées.
Le webmestre contrôle le comportement général d’Apache au moyen du fichier de configuration du serveur et à l’aide des quelques 200 directives qui sont à sa disposition : l’essentiel de ce livre explique ce qu’elles font et comment les utiliser pour en tirer parti. Il est également possible d’utiliser une dizaine d’options pour paramétrer le démarrage du serveur.
Pour la plupart des définitions formelles des directives, nous avons simplement traduit les pages du manuel du site d’Apache en reformulant légèrement lorsque l’original était maladroit, afin d’éviter au lecteur d’avoir à interrompre sa lecture pour se rendre sur le site d’Apache.