Serveur Apache HTTP Version 2.4
Si vous ne connaissez rien au serveur HTTP Apache, ou m�me au fonctionnement d'un site web, vous vous demandez probablement par o� commencer et quelles questions poser. Ce document vous permettra de parcourir les bases du sujet.
Les adresses des pages web sur la Toile se pr�sentent sous forme d'URLs
- Uniform Resource Locators - qui comportent un protocole (par
exemple http
), un nom de serveur (par exemple
www.apache.org
), un chemin (par exemple
/docs/current/getting-started.html
), et le cas �ch�ant
une cha�ne de requ�te (query string) (par exemple ?arg=value
)
permettant de transmettre des informations suppl�mentaires au serveur.
Un client (par exemple un navigateur web) se connecte � un serveur (par exemple votre serveur HTTP Apache) avec un protocole sp�cifique, et effectue une requ�te pour une ressource en sp�cifiant son chemin.
Un chemin peut repr�senter plusieurs types de ressources sur le
serveur. Ce peut �tre un fichier (comme
getting-started.html
), un gestionnaire (comme server-status), ou toute sorte de
programme (comme index.php
). Nous d�crirons tout ceci plus
en d�tails ci-dessous dans la section Contenu d'un
site web.
Le serveur envoie alors une r�ponse comportant un code d'�tat, et �ventuellement un corps de r�ponse. Le code d'�tat indique si la requ�te a �t� trait�e avec succ�s, ou dans la n�gative quel type d'erreur a �t� rencontr�. Le client est alors sens� savoir quoi faire de la r�ponse. Vous pouvez vous familiariser avec les diff�rents codes d'�tat en consultant le Wiki du serveur HTTP Apache.
Les d�tails de la transaction, ainsi que les erreurs rencontr�es, sont enregistr�s dans des fichiers journaux. Tout ceci est d�crit en d�tails ci-dessous dans la section D�bogage et fichiers journaux.
Pour se connecter � un serveur, le client doit tout d'abord r�soudre le nom du serveur en adresse IP, cette derni�re permettant de localiser le serveur sur Internet. Ainsi, pour que votre serveur web soit accessible, son nom doit �tre enregistr� dans le DNS.
Si vous ne savez pas comment effectuer cet enregistrement, vous devrez contacter votre administrateur r�seau ou votre fournisseur d'acc�s � Internet afin qu'il effectue cette op�ration pour vous.
Plusieurs noms d'h�te peuvent pointer vers la m�me adresse IP, et plusieurs adresses IP peuvent �tre attach�es au m�me serveur physique. Vous pouvez ainsi h�berger plusieurs serveurs web sur le m�me serveur physique gr�ce au m�canisme des serveurs virtuels.
Pour tester un serveur non encore accessible sur Internet, vous
pouvez renseigner son nom d'h�te dans votre fichier hosts afin
d'effectuer une r�solution de nom locale. Par exemple, pour tester le
serveur web www.example.com
depuis le serveur physique qui
l'h�berge, vous pouvez ajouter la ligne suivante au fichier hosts de ce
dernier :
127.0.0.1 www.example.com
En g�n�ral, le fichier hosts se trouve dans le r�pertoire
/etc
sur les syst�mes de style Unix, ou
C:\Windows\system32\drivers\etc
sous Windows.
Vous trouverez plus de d�tails � propos du fichier hosts � Wikipedia.org/wiki/Hosts_(file), et � propos du DNS � Wikipedia.org/wiki/Domain_Name_System.
La configuration du serveur HTTP Apache s'effectue via de simples
fichiers textes. Ces fichiers peuvent se trouver dans de nombreux
endroits diff�rents en fonction du mode d'installation du serveur. Vous
trouverez les positions courantes de ces fichiers dans le wiki httpd.
Si vous installez httpd depuis le code source, le r�pertoire par d�faut
des fichiers de configuration est /usr/local/apache2/conf
.
Le nom du fichier de configuration par d�faut est en g�n�ral
apache2.conf
, mais peut aussi varier en fonction des
distributions tierces du serveur.
L'ensemble de la configuration est en g�n�ral divis� en plusieurs
fichiers afin d'en faciliter la gestion. Ces fichiers sont inclus dans
le fichier de configuration principal via la directive Include
. Les noms ou positions de ces fichiers
ne sont pas fig�s et peuvent varier consid�rablement d'une distribution
� l'autre. N'h�sitez pas � les arranger et subdiviser selon
vos go�ts et besoins, quitte � en modifier
l'organisation par d�faut.
La configuration du serveur s'effectue via des directives de configuration que l'on ins�re dans les fichiers de configuration. Une directive se compose d'un mot-cl� suivi d'un ou plusieurs arguments qui d�finissent sa valeur.
La r�ponse � la question "O� dois-je placer cette directive
?" d�pend en g�n�ral du niveau auquel cette directive doit �tre
prise en compte. S'il s'agit du niveau global, elle doit �tre plac�e
dans le fichier de configuration principal, et en dehors de toute
section <Directory>
, <Location>
, <VirtualHost>
, ou de toute autre section. Si
par exemple elle ne doit s'appliquer qu'� un r�pertoire particulier,
elle doit �tre plac�e dans la section <Directory>
qui fait r�f�rence � ce r�pertoire.
Voir la documentation sur les Sections de
configuration pour plus de d�tails.
En compl�ment des fichiers de configuration principaux, certaines
directives peuvent �tre ins�r�es dans des fichiers
.htaccess
que l'on place directement dans le r�pertoire
concern�. Les fichiers .htaccess
sont essentiellement
destin�s aux personnes qui n'ont pas acc�s aux fichiers de configuration
du serveur. Vous trouverez plus de d�tails � propos des fichiers
.htaccess
dans ce .htaccess
howto.
Si le contenu du site web peut se pr�senter sous de nombreuses formes, il peut en g�n�ral �tre scind� en deux formes principales : les contenus statiques et les contenus dynamiques.
Les contenus statiques sont par exemple les fichiers HTML, les
images, les fichiers CSS et tout autre fichier r�sidant dans le syst�me
de fichiers. La directive DocumentRoot
permet de d�finir la position
dans l'arborescence du site o� vous devez placer ces fichiers. Cette
directive peut �tre d�finie au niveau global, ou au niveau de chaque
serveur virtuel. Vous pouvez consulter vos fichiers de configuration
pour v�rifier la mani�re dont cette directive est d�finie pour votre
serveur.
En g�n�ral, et si aucun nom de fichier n'est sp�cifi� dans la
requ�te, c'est une page de nom index.html
qui sera
renvoy�e. Par exemple, si la directive DocumentRoot
est
d�finie � /var/www/html
, et si une requ�te est effectu�e
pour l'adresse http://www.example.com/work/
, c'est le
fichier /var/www/html/work/index.html
qui sera envoy� au
client par le serveur.
Un contenu dynamique est un contenu qui est g�n�r� au moment du traitement de la requ�te, et qui peut diff�rer d'une requ�te � l'autre. Ces contenus dynamiques peuvent �tre g�n�r�s de nombreuses mani�res par l'interm�diaire de gestionnaires de contenu ou "handlers". Il est aussi possible de cr�er des programmes CGI pour g�n�rer le contenu de votre site.
Enfin, on peut utiliser des modules tiers comme mod_php pour �crire du code permettant d'effectuer de nombreuses choses. De nombreuses applications tierces �crites � partir de divers langages ou outils sont disponibles en t�l�chargement et peuvent �tre install�es sur votre serveur HTTP Apache. Le support de ces applications d�passe le sujet de ce document, et nous vous invitons � consulter le site de leur �diteur pour acc�der � leur documentation.
En tant qu'administrateur d'un serveur HTTP Apache, vos sources d'informations principales sont les fichiers journaux, et en particulier le journal des erreurs. Toute tentative de r�solution d'un probl�me sans consulter le journal des erreurs revient � conduire les yeux ferm�s.
La position dans le syst�me de fichiers du journal des erreurs est
sp�cifi�e par la directive ErrorLog
qui peut �tre d�finie au niveau global, ou au niveau de chaque serveur
virtuel. Chaque entr�e du journal des erreurs vous informe sur la nature
des probl�mes et le moment de leur survenue. En outre, elle vous indique
souvent comment r�soudre le probl�me. Chaque message d'erreur contient
un code d'erreur que vous pouvez utiliser pour effectuer une recherche
en ligne afin d'obtenir une description plus d�taill�e de la mani�re de
r�soudre le probl�me. Vous pouvez aussi configurer votre journal des
erreurs de mani�re � ce qu'il enregistre un identifiant d'erreur que
vous pourrez ensuite utiliser pour effectuer une corr�lation avec le
journal des acc�s afin de d�terminer quelle requ�te est � l'origine de
l'erreur.
Vous trouverez plus de d�tails � ce sujet dans la Documentation sur la journalisation.
La question des pr�requis �tant r�gl�e, il est temps de passer aux choses s�rieuses.
Ce document ne couvre que les notions de base. Nous esp�rons qu'il vous permettra de mettre le pied � l'�trier, mais il y a encore de nombreuses choses que vous devez savoir.