Configuration d'Apache

Addison-Wesley
Page 1 sur 15Lecteur de document UniversityLib

Configuration d'Apache

System Administration and Networking · lab

Configuration d’Apache

Séance 4 : Configuration d’Apache

Objectifs :

 Définir les fonctions majeures du serveur HTTP Apache  Appliquer la configuration des paramètres Apache importants

Identifier la configuration dossier par dossier

Identifier les CGI avec Apache

Identifier les modules clés

 Appliquer l'implémentation des serveurs virtuels

Plan :

1. Serveur HTTP Apache 2.0

1.1 Fonctions du Serveur HTTP Apache 2.0 1.2 Les paquetages du Serveur HTTP Apache 2.0

2. Démarrage et arrêt de httpd 3. Directives de configuration dans httpd.conf 3.1 Astuces générales de configuration

4. Hôtes virtuels

4.1 Configuration d'hôtes virtuels 4.2 Hôte virtuel du serveur Web sécurisé

5 Ressources supplémentaires

MP2L – Administration système et réseau

Page 1

Configuration d’Apache

Le Serveur HTTP Apache est un serveur Web Open Source robuste de niveau commercial qui a été développé par l'organisation Apache Software Foundation (http://www.apache.org/). Red Hat Enterprise Linux comprend le Serveur HTTP Apache version 2.0 ainsi que de nombreux modules serveur conçus pour améliorer sa fonctionnalité.

Le fichier de configuration par défaut installé avec le Serveur HTTP Apache fonctionne dans la plupart des situations sans devoir être modifié. Ce chapitre décrit brièvement de savoir nombreuses directives présentes dans /etc/httpd/conf/httpd.conf.

configuration à

fichier de

son

1. Serveur HTTP Apache 2.0

1.1 Fonctions du Serveur HTTP Apache 2.0

La version 2.0 du Serveur HTTP Apache inclut les fonctionnalités suivantes :

 API Apache — Les modules utilisent un nouvel ensemble plus performant d'interfaces de programmation d'applications (ou API de l'anglais Application Programming Interfaces).

 Filtrage — Les modules peuvent jouer le rôle de filtres de contenu.

 Prise en charge IPv6 — Le format d'adressage IP nouvelle génération est pris en

charge.

 Directives simplifiées — Bon nombre de directives complexes ont été supprimées

alors que d'autres ont été simplifiées.

 Réponses multilingues aux erreurs — Lors de l'utilisation de documents Server Side Include (ou SSI), des pages de réponse personnalisées en cas d'erreur peuvent être proposées dans plusieurs langues.

Une liste plus complète des changements est disponible en ligne à l'adresse suivante : http://httpd.apache.org/docs-2.0/.

1.2 Les paquetages du Serveur HTTP Apache 2.0

Ci-dessous figure une liste des paquetages à installer :

 Les paquetages httpd, httpd-devel et httpd-manual.

2. Démarrage et arrêt de httpd

Le RPM httpd installe le script /etc/init.d/httpd qui est accessible à l'aide de la commande /sbin/service.

Pour démarrer le serveur, saisissez la commande suivante en étant connecté en tant que super- utilisateur :

/sbin/service httpd start

MP2L – Administration système et réseau

Page 2

Configuration d’Apache

MP2L – Administration système et réseau

Page 3

Configuration d’Apache

Pour arrêter le serveur, saisissez la commande suivante en étant connecté en tant que super- utilisateur :

/sbin/service httpd stop

L'option restart est une façon rapide d'arrêter et de redémarrer le Serveur HTTP Apache.

Pour redémarrer le serveur, saisissez la commande suivante en étant connecté en tant que super-utilisateur :

/sbin/service httpd restart

Remarque

Lors de l'exécution du Serveur HTTP Apache en tant que serveur sécurisé, il est nécessaire de saisir le mot de passe du serveur chaque fois que des options start ou restart sont utilisées.

Après avoir modifié le fichier httpd.conf, il n'est toutefois pas nécessaire d'arrêter et de redémarrer le serveur. Utilisez à la place l'option reload qui entraînera un rechargement du fichier.

Afin de recharger le fichier de configuration, saisissez la commande suivante en étant connecté en tant que super-utilisateur :

/sbin/service httpd reload

Remarque

Lors de l'exécution du Serveur HTTP Apache en tant que serveur sécurisé, vous n'aurez pas besoin de saisir votre mot de passe lors de l’utilisation de l'option reload (recharger).

Par défaut, le service httpd ne se lancera pas automatiquement au démarrage. Pour configurer le service httpd de manière à ce qu'il soit lancé au démarrage, utilisez un utilitaire de script d'initialisation (ou initscript) tel que /sbin/chkconfig, /sbin/ntsysv ou l'Outil de configuration des services.

Remarque

Lors de l’exécution du Serveur HTTP Apache en tant que serveur sécurisé, le mot de passe de ce dernier doit être saisi après le démarrage de l'ordinateur lorsqu'une clé SSL privée et cryptée est utilisée.

Pour toute information sur l'installation d'un serveur sécurisé HTTP Apache, reportez- vous au chapitre intitulé Configuration du serveur sécurisé HTTP Apache du Guide d'administration système de Red Hat Enterprise Linux.

MP2L – Administration système et réseau

Page 4

Configuration d’Apache

3. Directives de configuration dans httpd.conf

Publicité

Le fichier de configuration du Serveur HTTP Apache est /etc/httpd/conf/httpd.conf. Dans le fichier httpd.conf figurent de nombreux commentaires qui rendent sont contenu très explicite. La configuration par défaut fonctionne dans la plupart des situations ; cependant, il est important de bien connaître certaines des options de configuration les plus importantes.

3.1 Astuces générales de configuration

Lors de la configuration du Serveur HTTP Apache, modifiez /etc/httpd/conf/httpd.conf puis rechargez, redémarrez ou arrêtez le processus httpd.

Avant de modifier httpd.conf, faites une copie de sauvegarde du fichier original. Ainsi, si vous commettez une erreur lors de la modification du fichier de configuration, vous pourrez toujours utiliser la copie de sauvegarde pour résoudre d'éventuels problèmes.

Si une erreur est commise et que le serveur Web ne fonctionne pas correctement, passez d'abord en revue les passages modifiés du fichier httpd.conf afin de corriger toute faute de frappe.

Consultez ensuite le journal d'erreurs du serveur Web, /var/log/httpd/error_log. Selon votre expérience, le journal d'erreurs peut paraître quelque peu difficile à interpréter. Ceci étant, les dernières entrées du journal d'erreurs devraient fournir des informations utiles.

Les sections suivantes contiennent de brèves descriptions des directives contenues dans le fichier httpd.conf. Ces descriptions ne sont pas exhaustives. Pour obtenir de plus amples informations, reportez-vous à la documentation de l'organisation Apache disponible en ligne à l'adresse suivante : http://httpd.apache.org/docs-2.0/.

Pour obtenir davantage d'informations sur les directives mod_ssl, reportez-vous à la documentation disponible en ligne à l'adresse suivante : http://httpd.apache.org/docs- 2.0/mod/mod_ssl.html.

3.2 ServerRoot

Le répertoire ServerRoot est le répertoire de niveau supérieur contenant les fichiers du serveur. Par défaut, la directive ServerRoot est paramétrée sur "/etc/httpd" aussi bien pour le serveur sécurisé que pour le serveur non-sécurisé.

3.3 PidFile

PidFile est le nom du fichier dans lequel le serveur enregistre son identifiant de processus (PID). Le PID par défaut est /var/run/httpd.pid.

3.4 Timeout

Timeout définit la durée, exprimée en secondes, pendant laquelle le serveur attend des réceptions et des émissions pendant les communications. La valeur de Timeout est paramétrée sur 300 secondes par défaut, ce qui est approprié pour la plupart des situations.

MP2L – Administration système et réseau

Page 5

Configuration d’Apache

3.5 KeepAlive

KeepAlive définit si votre serveur autorisera plus d'une requête par connexion ; cette directive peut servir à empêcher un client particulier d'utiliser une trop grande quantité des ressources dont le serveur est doté.

Par défaut, la valeur de Keepalive est réglée sur off. Si la valeur de Keepalive est on et que le serveur devient très occupé, il peut générer rapidement le nombre maximum de processus enfants. Dans ce cas, le serveur sera considérablement ralenti. Si la directive Keepalive est activée, il est recommandé de donner à KeepAliveTimeout une valeur basse et de contrôler le fichier journal /var/log/httpd/error_log du serveur. Ce journal indique si le serveur est sur le point d'atteindre le maximum de processus enfants.

3.6 MaxKeepAliveRequests

Cette directive définit le nombre maximum de requêtes autorisées par connexion persistante. L'organisation Apache Project recommande l'utilisation d'un paramétrage élevé, ce qui entraîne une amélioration des performances du serveur. Par défaut, la valeur de MaxKeepAliveRequests paramétrée sur 100 est approprié pour la plupart des situations.

3.7 KeepAliveTimeout

KeepAliveTimeout définit la durée exprimée en secondes pendant laquelle le serveur attend après avoir servi une requête, avant d'interrompre la connexion. Une fois que le serveur reçoit une requête, c'est la directive Timeout qui s'applique à sa place. Par défaut, la valeur donnée à la directive KeepAliveTimeout est de 15 secondes.

3.8 Listen

La commande Listen identifie les ports sur lesquels votre serveur Web acceptera les demandes entrantes. Par défaut, le Serveur HTTP Apache est paramétré pour écouter les communications Web non-sécurisées sur le port 80et (dans /etc/httpd/conf.d/ssl.conf définissant tout serveur sécurisé) les communications Web sécurisées sur le port 443.

Si le Serveur HTTP Apache est configuré pour écouter l'activité sur un port dont le numéro est inférieur à 1024, seul le super-utilisateur peut le lancer. En revanche, pour les ports dont le numéro est égal ou supérieur à 1024, httpd peut être lancée en tant que simple utilisateur.

La directive Listen peut également être utilisée pour spécifier des adresses IP particulières sur lesquelles le serveur acceptera des connexions.

3.9 Include

Include permet d'inclure d'autres fichiers de configuration au moment de l'exécution.

Le chemin d'accès vers ces fichiers de configuration peut être absolu ou relatif par rapport au ServerRoot.

MP2L – Administration système et réseau

Page 6

Configuration d’Apache

Important

Pour que le serveur utilise individuellement des modules paquetés, tels que mod_ssl, mod_perl et php, la directive suivante doit être intégrée dans la Section 1 : Global Environment du httpd.conf :

Include conf.d/*.conf

3.10 LoadModule

LoadModule est utilisée pour charger des modules DSO (de l'anglais Dynamic Shared Object, objet partagé dynamiquement). Notez que l'ordre du chargement des modules n'est plus important avec le Serveur HTTP Apache 2.0.

3.11 SuexecUserGroup

La directive SuexecUserGroup figurant dans le module mod_suexec, permet de spécifier les privilèges d'exécution des programmes CGI qui s'applique à l'utilisateur et au groupe. Des requêtes non-CGI continuent à être traitées en fonction de l'utilisateur et du groupe spécifié dans les directives User et Group.

Remarque

La directive SuexecUserGroup remplace la configuration du Serveur HTTP Apache 1.3 configuration qui utilisait les directives User (utilisateur) et Group (Groupe) au sein de la configuration des sections VirtualHosts (Hôtes virtuels).

3.12 User

La directive User définit le nom d'utilisateur du processus serveur et détermine les fichiers auxquels le serveur peut avoir accès. Tous les fichiers auxquels cet utilisateur n'aura pas accès seront également inaccessibles aux clients se connectant au Serveur HTTP Apache.

La valeur par défaut donnée à User est apache.

Cette directive a été supprimée pour la configuration des hôtes virtuels.

Remarque

Pour des raisons de sécurité, le Serveur HTTP Apache n'est pas exécuté en tant que super- utilisateur.

3.13 Group Spécifie le nom de groupe des processus du Serveur HTTP Apache. Cette directive a été supprimée pour la configuration des hôtes virtuels. La valeur par défaut attribuée à Group est apache.

MP2L – Administration système et réseau

Page 7

Configuration d’Apache

3.14 ServerAdmin

Donnez comme valeur à la directive ServerAdmin l'adresse électronique de l'administrateur du serveur Web. Cette adresse électronique apparaîtra dans les messages d'erreur sur les pages Web générées par le serveur afin que les utilisateurs puissent signaler un problème en envoyant un message électronique à l'administrateur du serveur.

La valeur par défaut donnée à ServerAdmin est root@localhost.

Généralement, la valeur donnée à ServerAdmin est [email protected]. Une fois cette valeur déterminée, créez un alias pour Webmaster établi au nom de la personne responsable du serveur Web dans /etc/aliases et exécutez /usr/bin/newaliases.

3.15 ServerName

ServerName permet de définir un nom d'hôte et un numéro de port (en accord avec la directive Listen) pour le serveur. La directive ServerName ne doit pas forcément correspondre au nom d'hôte de l'ordinateur. Par exemple, le serveur Web pourrait être www.example.com bien que le nom d'hôte du serveur soit foo.example.com. La valeur spécifiée dans ServerName doit être un nom de domaine (ou DNS, de l'anglais Domain Name Service) valide qui peut être résolu par le système — ne vous contentez surtout pas d'en inventer un.

Ci-dessous figure un exemple de directive ServerName :

ServerName www.example.com:80

Lors de la détermination d'un ServerName, assurez-vous que son adresse IP et son nom de serveur figurent bien dans le fichier /etc/hosts.

3.16 DocumentRoot

DocumentRoot est le répertoire contenant la plupart des fichiers HTML qui seront servis en réponse aux requêtes. Le défaut de DocumentRoot aussi bien pour le serveur Web sécurisé que pour le serveur Web non-sécurisé est le répertoire /var/www/html. Par exemple, il se peut que le serveur reçoive une demande pour le document suivant :

http://example.com/foo.html

Le serveur recherche le fichier suivant dans le répertoire par défaut :

/var/www/html/foo.html

3.17 Directory

Les balises <Directory /path/to/directory> et </Directory> créent un conteneur utilisé pour entourer un groupe de directives de configuration devant uniquement s'appliquer à ce répertoire et à ses sous-répertoires. Toute directive applicable à un répertoire peut être utilisée à l'intérieur de balises Directory.

MP2L – Administration système et réseau

Publicité

Page 8

Configuration d’Apache

Par défaut, des paramètres très restrictifs sont appliqués au répertoire racine (/), à l'aide des directives Options et AllowOverride. Sous une telle configuration, tout répertoire du système ayant besoin de paramètres plus permissifs doit contenir explicitement ces paramètres.

Dans la configuration par défaut, un autre conteneur Directory est également configuré pour DocumentRoot ; ce faisant, des paramètres moins rigides sont assignés à l'arborescence de répertoires, de manière à ce que le Serveur HTTP Apache puisse avoir accès à des fichiers placés dans ce dernier.

Le répertoire conteneur peut également être utilisé pour configurer des répertoires cgi-bin supplémentaires pour des applications côté-serveur en dehors du répertoire spécifié dans la directive ScriptAlias.

Pour ce faire, le conteneur Directory doit déterminer l'option ExecCGI pour ce répertoire.

Par exemple, si les scripts CGI se trouvent dans /home/my_cgi_directory, ajoutez le conteneur Directory suivant au fichier httpd.conf :

<Directory /home/my_cgi_directory> Options +ExecCGI </Directory>

Ensuite, il est nécessaire d'enlever le symbole de commanetaire présent dans la directive AddHandler afin de permettre l'identification des fichiers ayant une extension .cgi en tant que scripts CGI.

Pour que cette opération se déroule parfaitement, il est nécessaire de définir les permissions pour les scripts CGI et pour le chemin d'accès complet vers les scripts en tant que 0755.

3.18 Options

La directive Options contrôle les fonctionnalités spécifiques du serveur qui sont disponibles dans un répertoire particulier. Par exemple, en vertu des paramètres restrictifs spécifiés pour le répertoire root, Options est réglée uniquement sur FollowSymLinks. Aucune fonctionnalité n'est activée, à l'exception du fait que le serveur est autorisé à suivre les liens symboliques dans le répertoire root.

Par défaut, dans le répertoire DocumentRoot, Options est paramétrée pour inclure Indexes et FollowSymLinks. Indexes permet au serveur de générer le contenu d'un répertoire si aucun DirectoryIndex (par exemple, index.html) n'est spécifié. FollowSymLinks permet au serveur de suivre des liens symboliques dans ce répertoire.

MP2L – Administration système et réseau

Page 9

Configuration d’Apache

Remarque

Les déclarations Options de la section de configuration du serveur principal doivent être copiées individuellement dans chaque conteneur VirtualHost.

3.19 AllowOverride

La directive AllowOverride définit si des Options peuvent être annulées par les instructions présentes dans un fichier .htaccess. Par défaut, aussi bien le répertoire racine que le répertoire DocumentRoot sont paramétrés pour ne permettre aucune annulation via .htaccess.

3.20 UserDir

UserDir est le nom du sous-répertoire, au sein du répertoire personnel de chaque utilisateur, où devraient être placés les fichiers HTML personnels devant être servis par le serveur Web. Par défaut, la valeur attribuée à cette directive est disable (désactiver).

Dans le fichier de configuration par défaut, le nom du sous-répertoire est public_html. Par exemple, il se peut que le serveur reçoive la requête suivante :

http://example.com/~username/foo.html

Le serveur rechercherait alorsle fichier :

/home/username/public_html/foo.html

Dans l'exemple ci-dessus, /home/username/ est le répertoire personnel de l'utilisateur (notez que le chemin d'accès par défaut vers les répertoires personnels des utilisateurs peut être différent).

Assurez-vous que les autorisations relatives aux répertoires personnels des utilisateurs sont correctement définies. Les répertoires personnels des utilisateurs doivent avoir des permissions équivalentes à 0711. Les bits de lecture (r) et d'exécution (x) doivent être définis sur les répertoires public_html des utilisateurs (0755 fonctionnera également). Les fichiers qui seront servis dans les répertoires public_html des utilisateurs doivent au moins avoir un valeur équivalente à 064

3.21 DirectoryIndex

DirectoryIndex est la page servie par défaut lorsqu'un utilisateur demande un index de répertoire en insérant une barre oblique (/) à la fin d'un nom de répertoire.

Lorsqu'un utilisateur demande à accéder à la page http://exemple/ce_répertoire/, il obtient soit la page DirectoryIndex si elle existe, soit une liste de répertoires générée par le serveur. La valeur par défaut de DirectoryIndex est le type de topologie index.html et index.html.var. Le serveur essaie de trouver l'un de ces fichiers et renvoie le premier qu'il

MP2L – Administration système et réseau

Page 10

Configuration d’Apache

trouve. S'il ne trouve aucun des deux fichiers et que Options Indexes est paramétrée pour ce répertoire, le serveur génère et renvoie une liste au format HTML, des sous-répertoires et fichiers contenus dans le répertoire (à moins que la fonctionnalité de listage des répertoires ne soit desactivée).

3.22 ErrorLog

ErrorLog spécifie le fichier dans lequel sont journalisées les erreurs concernant les serveurs. La valeur par défaut pour cette directive est /var/log/httpd/error_log.

3.23 LogLevel

LogLevel définit le niveau de détail avec lequel les messages d'erreur devraient être enregistrés dans les journaux d'erreurs. Les valeurs possibles de LogLevel sont (du niveau le moins détaillé au niveau le plus détaillé) emerg, alert, crit, error, warn, notice, info ou debug. La valeur par défaut donnée à LogLevel est warn.

3.24 CustomLog

CustomLog identifie le fichier journal et le format du fichier journal. Par défaut, l'enregistrement se fait dans le fichier /var/log/httpd/access_log.

Le format par défaut de CustomLog est le format du fichier journal combined illustré ci- dessous :

remotehost rfc931 user date "request" status bytes referrer user-agent

3.25 Alias

Le paramètre Alias permet d'accéder aux répertoires se trouvant en dehors du répertoire DocumentRoot. Toute URL se terminant par l'alias sera automatiquement convertie en chemin d'accès vers l'alias. Par défaut, un alias pour un répertoire icons est déjà configuré. Un répertoire icons est accessible par le serveur Web, mais le répertoire ne figure pas dans DocumentRoot.

3.26 ScriptAlias

La directive ScriptAlias définit l'endroit où se trouvent les scripts CGI. D'une manière générale, il est préférable de ne pas laisser de scripts CGI dans DocumentRoot, où ils peuvent être consultés comme des documents texte. C'est pour cette raison qu'il existe un répertoire spécial en dehors du répertoire DocumentRoot, contenant des exécutables et scripts côté- serveur, qui est désigné par la directive ScriptAlias. Ce répertoire, connu sous le nom cgi- bin, a /var/www/cgi-bin/ comme valeur par défaut.

Il est possible de créer des répertoires pour stocker des exécutables en dehors du répertoire cgi-bin.

MP2L – Administration système et réseau

Page 11

Configuration d’Apache

3.27 Redirect

Lorsqu'une page Web est déplacée, Redirect peut être utilisée pour mapper l'ancienne URL vers une autre URL. Le format est le suivant :

Redirect path>/<file-name>

/<old-path>/<file-name>

http://<current-domain>/<current-

Dans cet exemple, remplacez d'une part <old-path> par les informations de l'ancien-chemin vers <file-name> et d'autre part <current-domain> et <current-path> par les informations relatives au domaine et au chemin actuels pour <file-name>.

Dans cet exemple, automatiquement redirigée vers le nouvel emplacement.

toute requête pour <file-name> à

l'ancien emplacement est

Pour obtenir des informations sur les techniques de redirection, utilisez le module mod_rewrite inclus dans le Serveur HTTP Apache. Pour de plus amples informations sur la configuration du module mod_rewrite, reportez-vous à la documentation de l'organisation suivante : Foundation Apache http://httpd.apache.org/docs-2.0/mod/mod_rewrite.html.

disponible

Software

l'adresse

ligne

en

à

3.28 NameVirtualHost

La directive NameVirtualHost associe une adresse IP à un numéro de port, si nécessaire, pour tout hôte virtuel portant un nom. La configuration d'hôtes virtuels nommés permet à un Serveur HTTP Apache de servir différents domaines sans devoir pour ce faire utiliser de multiples adresses IP.

Remarque

Publicité

L'utilisation de tout hôte virtuel nommé fonctionne seulement avec des connexions HTTP non-sécurisées. Si vous devez employer des hôtes virtuels avec un serveur sécurisé, utilisez plutôt des hôtes virtuels basés sur l'adresse IP.

Afin d'activer l'hébergement d'hôtes virtuels basés sur le nom, supprimez le symbole de commentaire figurant dans la directive de configuration NameVirtualHost et ajoutez la bonne adresse IP. Ajoutez ensuite des conteneurs VirtualHost supplémentaires pour chaque hôte virtuel, en fonction des besoins de votre configuration.

3.29. VirtualHost

Des balises <VirtualHost> et </VirtualHost> permettent de créer un conteneur soulignant les caractéristiques d'un hôte virtuel. Le conteneur VirtualHost accepte la plupart des directives de configuration.

Un conteneur VirtualHost commenté est fourni dans httpd.conf et illustre le groupe minimum de directives de configuration nécessaires pour chaque hôte virtuel.

MP2L – Administration système et réseau

Page 12

Configuration d’Apache

Remarque

Le conteneur d'hôtes virtuels SSL par défaut se trouve désormais dans le fichier /etc/httpd/conf.d/ssl.conf.

4. Hôtes virtuels

L'hébergement intégré des hôtes virtuels du Serveur HTTP Apache permet au serveur de fournir différentes informations en fonction de l'adresse IP, du nom d'hôte ou du port faisant l'objet de la requête. Un guide complet sur l'utilisation des hôtes virtuels est disponible en ligne à l'adresse suivante : http://httpd.apache.org/docs-2.0/vhosts/.

4.1 Configuration d'hôtes virtuels

La meilleure façon de créer un hôte virtuel basé sur le nom consiste à utiliser le conteneur d'hôte virtuel fourni à titre d'exemple dans httpd.conf.

L'exemple de l'hôte virtuel offert se présente de la manière suivante :

#NameVirtualHost *:80 # #<VirtualHost *:80> # ServerAdmin [email protected] # DocumentRoot /www/docs/dummy-host.example.com # ServerName dummy-host.example.com # ErrorLog logs/dummy-host.example.com-error_log # CustomLog logs/dummy-host.example.com-access_log common #</VirtualHost>

Pour activer la fonction d'hôte virtuel nommé, décommentez la ligne NameVirtualHost en retirant le symbole dièse (#) et en le remplaçant par le symbole de l'astérisque (*) accompagné de l'adresse IP attribuée à l'ordinateur.

Configurez ensuite un hôte virtuel, en décommentant et personnalisant le conteneur <VirtualHost>.

Sur la ligne <VirtualHost>, remplacez l'astérisque (*) par l'adresse IP du serveur. Remplacez aussi ServerName par le nom d'un DNS valide assigné à l'ordinateur et configurez les autres directives selon les besoins.

Étant donné que le conteneur <VirtualHost> accepte presque toutes les directives disponibles dans le cadre de la configuration du serveur principal, sa capacité à être personnalisé est très élevée.

Astuce

Si vous configurez un hôte virtuel pour qu'il écoute un port autre que le défaut, ce port doit être ajouté à la directive Listen dans la partie relative aux paramètres globaux du fichier /etc/httpd/conf/http.conf.

MP2L – Administration système et réseau

Page 13

Configuration d’Apache

Afin de pouvoir activer l'hôte virtuel qui vient d'être créé, le Serveur HTTP Apache doit être rechargé ou redémarré.

Des informations complètes sur la création et la configuration d'hôtes virtuels sur la base du suivante : fournies sont nom http://httpd.apache.org/docs-2.0/vhosts/.

l'adresse

l'adresse

ligne

ou

de

en

IP

à

4.2 Hôte virtuel du serveur Web sécurisé

Par défaut, le Serveur HTTP Apache est configuré aussi bien comme un serveur Web non- sécurisé que comme un serveur sécurisé. Aussi bien le serveur non-sécurisé que le serveur sécurisé utilisent la même adresse IP et le même nom d'hôte, mais écoutent des ports différents, à savoir 80 et 443 respectivement. Ce faisant, des communications aussi bien non- sécurisées que sécurisées peuvent être établies simultanément.

Il est important de savoir que les transmissions HTTP améliorées grâce à SSL monopolisent cependant plus de ressources que le protocole HTTP standard et que par conséquent, un serveur sécurisé sert moins de pages par seconde. Dans de telles conditions, il est souvent recommandé de minimiser les informations disponibles à partir du serveur sécurisé, tout particulièrement sur un site Web très sollicité.

Important

N'utilisez pas d'hôtes virtuels nommés de concert avec un serveur Web sécurisé car le protocole de transfert SSL intervient avant que la requête HTTP n'identifie l'hôte virtuel nommé approprié. Les hôtes virtuels nommés ne fonctionnent qu'avec un serveur Web non-sécurisé.

Les directives de configuration pour du serveur sécurisé se trouvent entre des balises d'hôte virtuel dans le fichier /etc/httpd/conf.d/ssl.conf.

Par défaut, aussi bien le serveur Web, sécurisé que le serveur non-sécurisé partagent le même DocumentRoot. Il est cependant recommandé qu'un DocumentRoot différent soit disponible pour le serveur Web sécurisé.

Afin que le serveur Web non-sécurisé n'accepte plus de connexions, annulez la ligne Listen 80 du fichier httpd.conf en ajoutant un symbole dièse (#) au début de cette ligne. Une fois cette opération terminée, la ligne ressemblera à l'extrait ci-dessous :

#Listen 80

MP2L – Administration système et réseau

Page 14

Configuration d’Apache

5 Ressources supplémentaires

Pour en savoir plus sur le Serveur HTTP Apache, consultez les ressources mentionnées ci- dessous.

5.1 Sites Web utiles

 http://httpd.apache.org — Le site Web officiel du Serveur HTTP Apache contenant de la documentation non seulement sur toutes les directives mais également sur tous les modules par défaut.

 http://www.modssl.org — Le site Web officiel de mod_ssl.

 http://www.apacheweek.com — Une newsletter hebdomadaire complète en ligne

concernant Apache.

5.2 Livres sur le sujet

 Apache Desktop Reference de Ralf S. Engelschall ; Addison Wesley — Ce livre écrit par Ralf Engelschall, un membre de l'organisation 'Apache Software Foundation (ASF) et auteur de mod_ssl, Apache Desktop Reference constitue un guide de référence concis et exhaustif pour l'utilisation du Serveur HTTP Apache et plus particulièrement pour sa compilation, sa configuration et son exécution. Ce livre est également disponible en ligne à l'adresse suivante : http://www.apacheref.com/.

 Professional Apache de Peter Wainwright ; Wrox Press Ltd — Ce manuel, Professional Apache, fait partie des nombreux livres de la collection "Programmer to Programmer" de la maison d'édition Wrox Press Ltd, destiné aux administrateurs de serveurs Web aussi bien expérimentés que débutants.

 Administering Apache de Mark Allan Arnold ; Osborne Media Group — Ce livre est destiné aux fournisseurs d'accès Internet désireux d'offrir des services plus sécurisés.

 Apache Server Unleashed de Richard Bowen, et al ; SAMS BOOKS — Une source

encyclopédique pour le Serveur HTTP Apache.

 Apache Pocket Reference d'Andrew Ford, Gigi Estabrook ; O'Reilly — La dernière

nouveauté de la collection O'Reilly Pocket Reference.

 Guide d'administration système de Red Hat Enterprise Linux ; Red Hat, Inc. — Ce manuel contient un chapitre sur la configuration du Serveur HTTP Apache à l'aide de l'Outil de configuration HTTP ainsi qu'un chapitre sur la configuration du serveur sécurisé Serveur HTTP Apache.

 Guide de sécurité de Red Hat Enterprise Linux; Red Hat, Inc. — Ce manuel contient un chapitre intitulé Sécurité serveur qui examine différentes manières de sécuriser le Serveur HTTP Apache et d'autres services.

MP2L – Administration système et réseau

Page 15