Bonjour !
Je m'adresse aux experts de Linuxfr et d'Apache: je cherche à monter Apache2 dans un chroot sous Debian Squeeze et je bloque complètement dès le début.
J'ai suivi pas à pas le tutorial donné ici:
http://www.howtoforge.com/chrooting-apache2-with-mod_chroot-on-debian-squeeze
Mais j'ai un problème de permission.
Si j'utilise la méthode des liens symboliques (comme recommandé dans le site plus haut) pour pointer dans le chroot sur le répertoire de mon site, j'ai le message d'erreur suivant :
Symbolic link not allowed or link target not accessible: /var/www
Si je mets directement le répertoire dans le chroot, j'ai le message :
client denied by server configuration: /var
J'ai bien vérifié pourtant que les permissions pour /var/www/var/www sont OK.
J'accède à mon site via l'URL suivant:
http://localhost/toto
Et voici mon httpd.conf (je n'utilise pas de VirtualHost):
Alias /toto /var/www/toto
<Directory /var/www/toto>
Options All
AllowOverride All
order allow,deny
allow from all
</Directory>
<Directory />
Order allow,deny
Options All
Allow from all
AllowOverride All
</Directory>
Cela fait un bon moment que je bloque dessus, ce serait vraiment sympa si quelqu'un pouvait me donner un coup de main
# FollowSymLinks
Posté par eric gerbier (site web personnel) . Évalué à 1.
Par défaut, apache refuse de suivre les liens symboliques pour des questions de performance ( https://httpd.apache.org/docs/2.4/fr/misc/perf-tuning.html) et de sécurité.
Dan ton cas, c'est voulu, donc tu peux ajouter l'option "FollowSymLinks" dans ta ligne "Options".
[^] # Re: FollowSymLinks
Posté par SaintGermain . Évalué à 1.
Bonjour !
J'avais bien essayé cette solution mais quel que soit les options que je mets (FollowSymLinks ou pas) j'ai toujours le message d'erreur :
C'est pourquoi j'ai tenté de mettre directement le répertoire dans le chroot sans utiliser de liens symboliques. Et même dans ce cas cela ne marche pas, mais cette fois avec un autre message d'erreur (client denied by server configuration: /var ).
D'autres idées ?
Merci pour ton aide !
[^] # Re: FollowSymLinks
Posté par Sytoka Modon (site web personnel) . Évalué à 2.
Si tu chroot, soit il faut un lien hard (même partition), soit un montage via mount --bind
[^] # Re: FollowSymLinks
Posté par SaintGermain . Évalué à 1.
Mais si je déplace directement le répertoire de mon site dans le chemin utilisé par le chroot, cela ne suffit pas ?
Je voulais justement éviter dans un premier temps toutes ces histoires de liens symboliques, hard, mount et autres (pour déboguer) donc j'ai directement déplacé le répertoire pour voir si cela marchait.
Ou bien est-ce qu'il y a une subtilité que je n'ai pas comprise ?
[^] # Re: FollowSymLinks
Posté par netsurfeur . Évalué à 2.
A l'intérieur du chroot, les chemins sont modifiés.
Si tu as mis la directive
comme dans le tutoriel que tu as mis en lien, /var/www/toto est maintenant /toto. Tu dois donc adapter les directives DocumentRoot et Directory comme expliqué au § 3.1 du tutoriel.
[^] # Re: FollowSymLinks
Posté par SaintGermain . Évalué à 1.
Mais physiquement mon toto est dans /var/www/var/www/toto (j'ai même laissé un toto dans /var/www/toto au cas où).
Donc cela devrait marcher ?
Mon Directory donné (/var/www/toto) devrait donc être bon ?
Je n'ai pas trouvé de DocumentRoot de base dans mes fichiers de conf d'Apache donc je ne l'ai pas laissé dans le httpd.conf dans mon exemple. Par contre j'avais essayé de mettre "DocumentRoot /" et cela n'a rien changé (c'est peut-être la valeur par défaut de DocumentRoot ?).
Merci pour le coup de main en tout cas !
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.