Next: Répertoires HTML d'utilisateurs.
Up: Installation et configuration d'Apache.
Previous: httpd.conf.
Table des matières
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: Répertoires HTML d'utilisateurs.
Up: Installation et configuration d'Apache.
Previous: httpd.conf.
Table des matières
1-01-2006