1 votes

Apache DocumentRoot ne semble pas fonctionner

J'ai une configuration Apache2 de base, avec un seul VirtualHost activé. J'ai défini les paramètres DocumentRoot et Directory pour qu'ils fassent référence au répertoire d'index du site Web que je souhaite afficher, mais lorsque j'affiche l'index du serveur dans un navigateur, il pointe vers /home/user/public_html plutôt que vers /home/user/public_html/website.

Est-ce intentionnel ou ma configuration est-elle incorrecte ?

Voici la configuration du serveur virtuel :

<VirtualHost *:80>
DocumentRoot /home/user/public_html/website

<Directory /home/user/public_html/website/>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride All
    Order allow,deny
    allow from all
</Directory>

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
    AllowOverride None
    Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
    Order allow,deny
    Allow from all
</Directory>

ErrorLog /var/log/apache2/error.log

# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn

CustomLog /var/log/apache2/access.log combined

Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
    Options Indexes MultiViews FollowSymLinks
    AllowOverride None
    Order deny,allow
    Deny from all
    Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>

0voto

bagavadhar Points 528

Vous pouvez faire beaucoup de choses pour résoudre ce problème en sachant ce qui se passe. Pour cela, une simplification serait utile. S'il n'y a qu'une section d'hôte virtuel et qu'elle ne sert qu'un seul site web, alors pourquoi ne pas utiliser le fichier de configuration par défaut et le modifier de manière appropriée pour répondre à vos besoins, et en même temps ne pas avoir besoin de la section d'hôte virtuel. De cette façon, vous n'aurez qu'une seule racine de document et les nouvelles personnes qui découvrent apache httpd confondent généralement les problèmes de résolution dns avec l'hôte virtuel. Pour que l'hôte virtuel fonctionne correctement, il faut que le système DNS soit en place. Mais si vous utilisez l'ip, cela n'a pas d'importance. Dans ce cas, Virtualhost ne fera pas les choses dns et échouera finalement à servir et alors vous serez servi par la racine du document global. Je ne suis pas sûr que ce soit le cas ici. Je vois que vous avez des journaux d'accès personnalisés, c'est une bonne chose. Au lieu de changer l'emplacement du journal défectueux, changez le journal d'accès de virtualhost vers un autre emplacement uniquement pendant la période de dépannage, puis nous pourrons revenir en arrière. Une fois que vous avez modifié l'emplacement du journal d'accès, faites un tail -f des deux journaux d'accès (journal d'accès global par défaut et journal d'accès de la section virtuelle que nous avons modifié juste avant) et assurez-vous qu'il ne sert pas le trafic actuel, ce qui, je pense, est le cas ici, puis allez sur le site Web de l'hôte virtuel et en regardant parallèlement les journaux d'accès, vous pouvez arriver à la conclusion de la section dans laquelle le trafic s'écoule et ainsi isoler le problème. Mais les journaux vous diront tout ce dont vous avez besoin. De cette façon, rien ne donne plus explicitement la source du problème que apache httpd, et cela aussi avec une configuration défectueuse. cela montre la qualité du logiciel et la maturité du produit. httpd est génial. J'ai beaucoup travaillé dessus pendant un an, il y a environ 3 ans et, à ma connaissance, rien d'énorme n'a changé et je suis toujours la liste de diffusion des utilisateurs de httpd.

J'espère que cela vous aidera.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X