Configuration Apache

Le serveur Apache possède un ensemble de directives déterminant son comportement. Par exemple il est possible de restreindre l'accès à un répertoire donné (public_html) ou ne permettre l'accès que depuis une machine particulière ou qu'à un utilisateur. La configuration par défaut de ces directives peut-être modifiées.
Voici une description du comportement par défaut de certaines de ces directives.

Répertoire public

Après avoir reçu un accès , vous pouvez créer vos pages HTML et les transférer sur ce serveur. Mais pour que celles-ci soient visibles de tous, vous devez créer un répertoire nommé "public_html" dans votre répertoire personnel et transférer vos pages à l'intérieur. Le nom de ce répertoire public ne peut pas être modifié (directive UserDir). Attention, tous les fichiers se trouvant dans ce répertoire sont suscetibles d'être lus par tout le monde.

De plus, le répertoire lui-même peut être lu, de sorte que la liste des noms de vos fichiers ou de vos sous-répertoires sont visibles et peuvent donc être parcourus de tous (directive Options Indexes). En fait Apache génère un index du répertoire associé à l'URL incomplète (se terminant par /). Vous pouvez construire votre propre index soit en créant un fichier d'index (index.html) soit en modifiant la génération de l'index par des directives comme IndexIgnore, IndexOptions, ...

Fichier d'index

Comme mentionné ci-dessus, un fichier nommé index.html (directive DirectoryIndex) est automatiquement affiché par le navigateur ayant demandé une URL incomplète correspondant au répertoire dans lequel ce fichier se trouve. Les autres fichiers ne sont donc pas visibles. Remarquez cependant qu'ils sont accessibles en précisant une URL complète (p.e. http://perso.unige.ch/~dupont/ filename.html). Le nom du fichier d'index peut-être modifié en créant un fichier .htaccess contenant la directive DirectoryIndex. Par exemple si DirectoryIndex vaut /~dupont/index.html, Apache utilisera ce fichier comme index du répertoire contenant le fichier .htaccess et comme index de tous ses sous-répertoires.
 

Exécution de script (CGI)

La configuration actuelle d'Apache permet aux utilisateurs d'exécuter des scripts CGI (directive Options ExecCGI). Il faut toutefois être conscient que ces scripts sont exécutés par l'utilisateur Unix nobody dont les droits d'accès sont relativement restreint. Le nom du script doit avoir l'extension ".cgi" (directive AddHandler) et doit être exécutable par cet utilisateur. Le nom de l'extension est configurable.

Modification des configurations

Les configurations par défaut d'Apache peuvent être modifiées pour une partie de l'arborescence en créant un fichier .htaccess. Ces modifications sont valables pour le répertoire contenant ce fichier et pour tous ses sous-repertoires.Toutes les directives ne peuvent pas être modifiées (directive AllowOverride). Afin de connaître la configuration actuelle d'une directive qui ne serait pas décrite ici vous pouvez consulter, via un shell Unix, le fichier httpd.conf dans le répertoire /etc/apache.

16/07/14 Pierre Pasche Service informatique Université de Genève.