[Apache] Utilisation de <Directory>

Hello :slightly_smiling:

Avant tout j’aimerai dire que j’ai STFW et RTFM.
J’ai même posé ma question sur le chan IRC d’Apache où l’on m’a gentiment répondu.

Malheureusement je ne comprend toujours pas.

Je n’ai pas de problème particulier avec mon serveur.
Je n’ai pas de problème en particulier avec ma configuration d’Apache.

J’essaye juste de comprendre le fonctionnement de la directive du fichier de configuration des hôtes virtuels.
Bien évidement j’ai lu ceci. Et ma question est donc :

Quel est l’intérêt d’avoir deux fois la directive ?

D’après ce que j’ai compris (arrêtez moi si je dis des bêtises) : cela sert à appliquer des réglages différents d’une section à l’autre.
Mais quel en est l’intérêt ?
A quel moment aurais-je le besoin de faire cela ? :think:
[size=85]J’m’énerve pas hein, juste je pige pas…[/size]

Sur l’IRC on m’a répondu que c’était pour la sécurité. Que pour la racine (/) il fallait faire attention…
Mais je ne comprend pas comment Apache peut partager le répertoire racine (/) alors qu’il existe la directive DocumentRoot /var/www

De nombreux tutoriels et HOWTO sur le net utilisent cette configuration avec deux
Quelles sont donc les bonnes pratiques ?
Avec seulement <Directory /var/www/ > </Directory>?

Ou avec avec [code]<Directory / >

<Directory /var/www/ >

[/code]?

Merci d’avance de vos lumières.

Cordialement,

Bon c’est la honte, je viens de comprendre une chose en formulant mon précédent message…

Je me répond donc à moi même :

[quote]Mais je ne comprend pas comment Apache peut partager le répertoire racine (/) alors qu’il existe la directive
Code:
DocumentRoot /var/www[/quote]

Si je fais un

[quote]cd /var/www/
ln -s /home/toto toto[/quote]

Puis je me rend sur l’Apache, je peux alors parcourir /home/toto. :unamused:

J’ai tout bon ?

La racine / n’est pas la racine de ton système de fichier mais la racine de ton serveur, en l’occurrence /var/www
En fait tu as plusieurs manières de configurer tes sites, les vhost (/etc/apache2/sites-available) ou les fichiers de conf (/etc/apache2/conf.d)

Suivant ce que tu veux faire par exemple si tous tes sites son dans /var/www et que ça te dérange pas d’acceder à tes sites en tappant:
www.monserveur.net/monsite1
www.monserveur.net/monsite2

Tu gardes ton vhost /etc/apache2/sites-available/default et tu configures les répertoires au besoin, les fameux Directory :wink:

Tu peux également gérer les vhost avec les port, chaque site écoutera sur un port différent.

@Phyliares : la directive utilise des chemins absolus sur le disque, et non pas relatifs au Document Root (tu confonds pas avec la directive par hasard ?).

@Ptit Nico :

[quote=“P’tit Nico :wink:”]Si je fais un

[quote]cd /var/www/
ln -s /home/toto toto[/quote]

Puis je me rend sur l’Apache, je peux alors parcourir /home/toto. :unamused:[/quote]
J’allais te répondre “oui”, mais en fait… « Be careful with the directory-path arguments: They have to literally match the filesystem path which Apache uses to access the files. Directives applied to a particular will not apply to files accessed from that same directory via a different path, such as via different symbolic links. »

Perso j’ai toujours considéré la directive <Directory / > plutôt comme une roue de secours contre les failles de type directory traversal : dans le principe, www.example.com/../../home/utilisateur/fichier-confidentiel – cette attaque naïve n’a bien entendu plus cours, d’ailleurs ça fait un moment que je n’ai plus vu de directory traversal sur Apache mais sait-on jamais !
Même si ça ne sert à rien d’autre c’est déjà important.

[quote=“syam”]@Phyliares : la directive utilise des chemins absolus sur le disque, et non pas relatifs au Document Root (tu confonds pas avec la directive par hasard ?).
[/quote]

Exacte, autant pour moi :075

Pardon pour cette réponse tardive.

Merci à tout les deux pour vos lumières.

Effectivement syam si je fais un

<Directory /> Options None AllowOverride None Order Deny,Allow Deny from all </Directory>
Et qu’ensuite je fais un lien symbolique je peux continuer à parcourir l’arborescence. :doh:

J’ai donc Googlé sur le “directory traversal” et j’ai ensuite compris ce que tu voulais dire. Très instructif.
Donc au final ce n’est pas plus mal d’activer cette sécurité bien que ce ne soit plus trop d’actualité d’après ce que j’ai compris…

Merci encore pour toute ces précisions.

:slightly_smiling: