LINUX:HTTP - Paramétrage des sites
But
La dernière pièce à paramétrer dans Apache est celle des sites.
Principe
Classiquement, un logiciel d'un site est placé dans un ou plusieurs répertoires sur la machine serveur.
Cette partie du paramétrage sert à faire la liaison entre ce logiciel et Apache, ses propriétés, sa manière de travailler,...
Dans l'article sur le Serveur Web, à part les points sur HTTPD et PHP, les autres paragraphes présentent des exemples de configurations pour ces logiciels.
Principales options
Nous n'allons pas développer toutes les options mais seulement quelques unes les plus souvent rencontrées.
DocumentRoot
Premièrement tout site a un point d'entrée. L'option suivante définit ce répertoire d'entrée:
DocumentRoot "Nom d'un répertoire principal"
Il doit y en avoir yun et un seul.
Par exemple pour la clause:
DocumentRoot "/web/menu"
l'URL "https://serverdb.home.dom/ pointera vers le répertoire "/web/menu"
Ce répertoire peut être n'importe où dans la machine mais il faut que l'utilisateur "apache" y ai accès.
Alias
On peut définir des points d'entrées secondaires dans d'autres répertoires
Alias "Point d'entrée secondaire" "Nom d'un répertoire secondaire"
La clause "DocumentRoot" est l'équivalent de:
Alias "/" "Nom d'un répertoire principal"
Donc ce point d'entrée secondaire ne peut être "/".
Par exemple:
Alias "/agora" "/web/agora"
l'URL "https://serverdb.home.dom/agora/ pointera vers le répertoire "/web/agora"
Ces répertoires peuvent être n'importe où dans la machine mais il faut que l'utilisateur "apache" y ai accès.
<Directory>
Cette directive définit un bloc. Il regroupe des options applicables à un répertoire.
Les clauses "DocumentRoot" et "Alias" sont liées à un répertoire et donc doivent avoir ce type de bloc mais il peut y en avoir d'autres sans liaison avec ces deux clauses.
Exemple:
<Directory "/web/agora"> ... </Directory>
Require
Dans le bloc "<Directory>", cette option définit les droits d'accès.
Voici quelques exemples:
- donner l'accès à toute machine
Require all granted
- interdire l'accès à toute machine
Require all denied
Cette option est souvent suivie d'autres qui définissent des exceptions.
- toutes les machines sont interdites d'accès sauf la machine dont l'adresse IP est "192.168.1.2"
Require ip 192.168.1.2
- toutes les machines sont interdites d'accès sauf les machines du sous-réseau "192.168.1.0/24"
Require ip 192.168.1
AllowOverride
Autre option utile dans le bloc "<Directory>":
AllowOverride All
permet d'activer des options Apache dans le fichier ".htaccess" se trouvant dans ce répertoire.
DirectoryIndex
Dans le bloc "<Directory>", l'option vue précédemment "DirectoryIndex", dans le fichier "/etc/httpd.conf/httpd.conf" définit le fichier d'entrée dans ce répertoire dans le cas où il n'est pas spécifié dans la requête (URL), par exemple "index.html".
DirectoryIndex index.html
Mais le cas inverse:
DirectoryIndex disabled
n'en définit aucun.