Forum Linux.debian/ubuntu Monter Apache2 dans un chroot sous Debien Squeeze

Posté par  . Licence CC By‑SA.
Étiquettes :
-1
17
mar.
2013

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  (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  . É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 :

      Symbolic link not allowed or link target not accessible: /var/www
      
      

      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  (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  . É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  . Évalué à 2.

            A l'intérieur du chroot, les chemins sont modifiés.
            Si tu as mis la directive

            ChrootDir /var/www
            
            

            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  . É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.