Forum Linux.debian/ubuntu [Apache2] Directive DocumentRoot jamais pris en compte

Posté par  .
Étiquettes :
0
11
juil.
2006
Bonjours a tous,

Je viens d'installer (avec un apt-get install) apache2 sous Debian sarge.
Apache fonctionne bien, comme j'ai pu le vérifier en allant a l'adresse :
http://localhost/

Cependant je n'arrive pas à définir le répertoire de mon site web comme répertoire racine du serveur.

Dans le fichier de configuration d'apache2 (/etc/apache2/apache2.conf)
La directive DocumentRoot n'était spécifier nulle part.

Je l'ai donc écrit :

DocumentRoot /home/www

<Directory /home/www>
Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all


Rq : /home/www est la racine de mon site.

J'ai redémarrer apache2 "/etc/init.d/apache2 restart". (j'ai également essayer par "/etc/init.d/apache2 reload", et aussi par "/usr/sbin/apache2ctl restart" ...lol). Mais rien a faire http://localhost/ m'affiche tjs pas page par défaut d'apache2 !

Pour toutes les modifications que j'éffectue dans /etc/apache2/apache2.conf sont bien prisent en compte (l'activation du répertoire public_html pour les utilisateur par exemple a bien fonctionné). Et lorsque je défini est dossier qui n'existe pas pour DocumentRoot apache me demande de définir un répertoire valide, lorsque je recharge le fichier de configuration.

Ce probleme peut, peut-être s'expliqué par une chose étrange qui ce passe lorsque je tape http://localhost/ mon navigateur transforme l'adresse par http://localhost/apache2-default/. Comme si un Alias était défini pour rediriger les personnes qui veulent afficher la racine du serveur.

Cependant je ne voit pas cet alias ds apache2.conf (ni dans httpd.conf , ports.conf, conf.d/ qui sont inclu dans apache2.conf).

Je n'ai vraiment plus d'idée la...
  • # site-available

    Posté par  . Évalué à 2.

    Regarde du coté du répertoire :

    /etc/apache2/sites-available
  • # Utilisation des VirtualHost

    Posté par  . Évalué à 2.

    Salut,

    L'organisation des fichiers de configuration avec Apache2 est légèrement différente de ce qui existait avec Apache.

    En fait, ce que tu vois s'afficher est le site par défaut, dont la configuraton est lue dans apache2.conf grâce à la directive présente à la fin du fichier :
    Include /etc/apache2/sites-enabled/[^.#]*

    Le fichier de configuration est donc /etc/apache2/sites-enabled/00-default qui doit être un lien symbolique vers /etc/apache2/sites-available/default.

    Donc si tu veux modifier le site par défaut, il faut que tu modifies le fichier en question (/etc/apache2/sites-available/default) ou, mieux, que tu crées ta configuration dans un fichier tout neuf (/etc/apache2/sites-available/mon_site) et que tu fasses pointer le lien symbolique dans le répertoire sites-enabled vers ce nouveau fichier.

    Voilà, j'espère que c'est à peu près clair,
    JJD
  • # ne pas toucher à apache2.conf !!!

    Posté par  . Évalué à 1.

    Il NE faut PAS modifier apache2.conf qui inclut (avec une directive Include) TOUS les fichiers de /etc/apache2/sites-enabled/ qui sont en fait des lien symboliques vers des fichiers de /etc/apache2/sites-available/.

    Bref, il faut modifier le fichier "default" qui est déjà dans ce répertoire.

    Si tu crées beaucoups de site avec des noms différents, où des parties significativement distinctes de ton site, tu peux aussi créer de nouveaux fichier dasn sites-available et utiliser la commande a2ensite pour créer le lien correspondant dans site-enabled.
    • [^] # Re: ne pas toucher à apache2.conf !!!

      Posté par  (site web personnel) . Évalué à 2.

      Traduction pour un utilisateur lambda :
      par défaut la configuration d'apache est correcte et pas trouée ;)

      Il utilisent du virtualhost, c'est a dire que en fonction du nom de domaine différent répertoires seront utilisé comme documentroot.

      A la base il y a le fichier default qui est activé dans sites-enabled, qui contient un virtualhost par défaut (on tombera systématiquement dessus si aucun autre fichier de configuration de virtualhost ne correspond au domaine demandé).

      Donc il te suffit de modifier ce fichier de configuration par défaut et le tour est joué ;)

      ps : pense a faire une petite sauvegarde (au cas où tu ferait une connerie), ça arrive (si) vite...
      • [^] # Merci a tous

        Posté par  . Évalué à 1.

        Merci a tous pour vos réponses, en effet ce que je pensai etre un alias etait une redirection (RedirectMatch je crois) dans le fichier default du dossier site-aivable.

        Tous marche bien maintenant :)

        ps : Oui oui il ne faut pas modifier apache2.conf directement mais plutot http.conf qui est inclus depuis apache2.conf, mais pour etre sur que mon DocumentRoot soit pris en compte et qu'il n'y a pas un fichier de conf inclus par la suite qui modifierai mon DocumentRoot je l'avai défini a la fin de apache2.conf (je commançais a devenir parano, lol...)

        Merci encore. @++

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.