next up previous contents Next:  Répertoires HTML d'utilisateurs. Up: Installation et configuration d'Apache. Previous:  httpd.conf.   Table des matières  

37.2.2  Directives communes.

Les options sont décrites ci-dessous. Chaque option est appelée ``directive'' dans la terminologie d'Apache. La liste complète des directives fondamentales se trouve dans /opt/apache/htdocs/manual/mod/core.html.

ServerType
Comme discuté dans la section 30.2, certains services peuvent être exécutés en mode autonome (ou standalone), via inetd ou via xinetd. La présente directive peut être standalone ou inetd. Si vous choisissez inetd, vous devrez ajouter une ligne idoine dans le fichier de configuration d'inetd, bien qu'un serveur web fonctionnee presque toujours en mode autonome.

ServerRoot
Cette option représente la superstructure du répertoire [voir à la section 18.2] sous lequel Apache est installé. Il s'agira toujours de la même valeur que celle passée à -prefix=.

PidFile
De nombreux services du système enregistrent l'ID de processus dans un fichier à des fins de contrôle ou d'arrêt. Sur la plupart des distributions, le fichier s'appelle /var/run/httpd.pid.

ScoreBoardFile
Cette option est utilisée pour des communications entre le processus-parent et les processus-enfants d'Apache sur certains systèmes non-UNIX.

Port
Ceci est le port TCP d'écoute des serveurs fonctionnant en mode autonome (standalone).

User, Group
Cette option est importante en terme de sécurité. Elle force httpd à utiliser les privilèges de l'utilisateur nobody. Si le serveur web venait à être ``craqué'', l'attaque ne pourrait permettre d'accèder à d'autres privilèges que ceux de nobody.

HostNameLookups
Pour forcer une requête inverse de DNS sur chaque hôte se connectant, activez cette directive avec on. Pour forcer une requête directe sur chaque requête inverse, activez cette directive avec double. Cette option concerne les connexions vu que le contrôle de l'accès effectue une requête inverse et directe si cela est requis. Si vous voulez réduire le temps de latence, mettez off.

ServerAdmin
Les messages d'erreur incluront cette adresse de courriel.

UseCanonicalName
Si Apache doit retourner une URL pour quelque raison que ce soit, il s'agira normalement du nom complet du serveur. Le fait de mettre off permet d'utiliser le propre nom d'hôte envoyé par le client.

ServerSignature
Tous les fichiers retournés au client ont un champ spécifiant la manière dont le fichier devrait être affiché. Si Apache ne peut en déduire le type, il supposera que le type MIME est text/plain. Voir la sous-section 13.6.2 pour une discussion sur les types MIME.

ErrorLog
Cette directive indique où les erreurs doivent être consignées; usuellement, il s'agit de /var/log/httpd/error_log.

Loglevel
définit un nouveau format de journal. En l'occurrence, nous définissons et appelons le format de journal common. Les lignes multiples sont autorisées. De nombreuses informations peuvent être consignées: voir /opt/apache/htdocs/manual/mod/mod_log_config.html pour une description complète.

CustomLog
Le nom du fichier de journalisation et son format (tel que définit dans la directive précédente).

DocumentRoot
Cette directive spécifie le répertoire de plus haut niveau auquel un client peut accéder. La chaîne /opt/apache/htdocs est d'office la cible des requêtes, et donc, une URL comme http://localhost/manual/index.html.en retournera le fichier /opt/apache/htdocs/manual/index.html.en.

DirectoryIndex
Cette directive donne le fichier par défaut pour essayer de répondre à des URLs qui contiennent seulement un nom de répertoire. Si le fichier index.html n'existe pas sous ce répertoire, un index des répertoires est transmis au client. D'autres configurations usuelles employent index.htm ou default.html.

AccessFileName
Avant de fournir un fichier à un client, Apache lit des directives supplémentaires à partir du fichier .htaccess se trouvant dans le même répertoire que le fichier demandé. Si le répertoire parent contient un fichier .htaccess, ce dernier a la priorité. Le fichier .htaccess contient des directives limitant l'accès au répertoire (voir ci-dessous).
Ce qui précède concerne seulement la configuration générale d'Apache. Pour servir réellement des pages web, il est nécessaire de définir des répertoires, chacun avec un thème particulier et contenant des fichiers graphiques ou HTML. Le fichier de configuration d'Apache est très semblable à celui d'un document HTML. Les sections débutent par <paramètre-de-section> et se termine par </section>.

La directive la plus commune de cette sorte est <Directory /répertoire>. Avant de définir quelque répertoire que ce soit, vous devez limiter l'accès au répertoire racine. Ce contrôle est très critique pour la sécurité du système.

<Directory /> 
   Options FollowSymLinks 
   Deny from All 
   Order Deny,Allow 
   AllowOverride None 
</Directory> 


Cette configuration déclare le répertoire racine à Apache, de manière à restreindre l'accès aux clients de façon très stricte. Ces directives sont [certaines proviennent directement du manuel d'Apache]:

Options
La directive Options contrôle quelles sont les caractéristiques du serveur disponibles dans un répertoire particulier. Il existe aussi une syntaxe +option ou -option permettant d'inclure les options du répertoire parent, par exemple, Options +FollowSymLinks -Indexes.

FollowSymlinks
Le serveur suivra tous les liens symboliques sous le répertoire. Soyez prudent avec FollowSymLinks. Vous pouvez -par exemple- donner accès à n'importe qui au répertoire racine, en ayant un lien ../../../ sous htdocs, ce qui n'est pas ce que vous cherchez.

ExecCGI
L'exécution de scripts CGI est permise.

Includes
Les commandes exécutées par le serveur (server-side includes) peuvent être lancées (plus d'information est donnée ci-après).

IncludesNOEXEC
Les commandes exécutées par le serveur (server-side includes) sont activées, mais les commandes # exec et # include des scripts CGI sont désactivées.

Indexes
Si un client demande nommément un répertoire et qu'aucun fichier index.html n'est présent (ou que vous n'avez spécifié aucun fichier DirectoryIndex), une liste du contenu de ce répertoire est créée et fournie. Pour des raisons de sécurité, il se peut que vous souhaitiez que cette option soit désactivée.

MultiViews
Les vues multiples sont autorisées (plus d'information est donnée ci-après).

SymLinksOwnerMatch
Le serveur suit seulement les liens symboliques dont le fichier ou le répertoire cible est la propriété du même ID d'utilisateur que celui du lien (plus d'information est donnée ci-après).

All
Toutes les options sont activées sauf MultiViews. C'est le réglage par défaut.

Deny
Les hôtes qui ne sont pas autorisés à se connecter. Vous pouvez indiquer un nom d'hôte particulier ou une adresse IP, par exemple, comme ceci:

Deny from 10.1.2.3 
Deny from 192.168.5.0/24 
Deny from cranzgot.co.za 


Ceci aura pour effet de refuser l'accès à 10.1.2.3, à toutes les machines dont les IP commencent par 192.168.5. et à toutes les machines dont l'adresse se termine par cranzgot.co.za, ce qui inclut aussi l'hôte cranzgot.co.za.
Allow
Les hôtes autorisés à se connecter. Cette directive utilise la même syntaxe que Deny.

Order
si Order a pour valeur Deny,Allow, les directives Deny sont d'abord consultées. Tout client qui n'est pas répertorié sous Deny et correspond à la directive Allow est autorisé à accéder au serveur.
Si Order a pour valeur Allow,Deny, les directives Allow sont d'abord consultées et tout client qui n'y correspond pas et correspond à une directive Deny verra son accès au serveur refusé.

AllowOverride
En plus des directives indiquées ici, d'autres seront lues depuis le fichier spécifié par AccessFileName, usuellement appelé .htaccess. Habituellement, ce fichier est présent parmi vos fichiers .html ou, à défaut, dans le répertoire parent. Si ce fichier existe, son contenu est lu dans la directive <Directory ...>. L'option AllowOverride indique quelles directives le fichier .htaccess peut écraser. La liste complète peut être trouvée dans /opt/apache/htdocs/manual/mod/core/html.
Vous pouvez remarquer que nous donnons des Options très restrictives sur le répertoire racine ainsi que des accès très restreints. La seule caractéristique du serveur que nous autorisons est FollowSymLinks, nous refusons (Deny) tout accès et nous ôtons au fichier .htaccess la possibilité de passer outre nos restrictions.

La directive <Files ...> pose des restrictions sur tous les fichiers correspondants à une expression rationnelle particulière. En terme de mesures de sécurité, nous l'utilisons pour empêcher l'accès à tous les fichiers .htaccess de la manière suivante:

<Files ~ ''^\.ht''> 
   Order allow,deny 
   Deny from all 
</Files> 


Nous sommes finalement prêt à ajouter nos répertoires contenant les vraies pages web. Sur ce sujet, il y a moins de restrictions quant à l'accès:

<Directory ``/opt/apache/htdocs''> 
   Options Indexes FollowSymLinks MultiViews 
   AllowOverride All 
   Order allow,deny 
   Allow from all 
</Directory> 


next up previous contents Next:  Répertoires HTML d'utilisateurs. Up: Installation et configuration d'Apache. Previous:  httpd.conf.   Table des matières  
1-01-2006