Apache2 avec 3 sites virtualisés

Résolu
Bonjour à toutes et à tous,

Je sollicite vos lumières car là, je coince.

J'ai installé Debian Etch et Apache2.

Le site par défaut est sous /var/www
Le site1 se trouve sous /home/wwwcommun/site1
Le site2 se trouve sous /home/wwwcommun/site2

J'ai créé les fichiers site1 et site2 sous /etc/apache2/site-available, lié tout cela ensuite dans /site-enabled/

Sur le DNS, j'ai créé deux CNAME avec un nom correspondant au sous domaine site1, un second lié au site2

Lorsque je tape l'adresse du site1 -> ça fonctionne
Lorsque je tape l'adresse du site2 -> ça fonctionne

Mais lorsque je tape l'adresse du site par défaut, je tombe sur le page du site 2

Un test par phpinfo() m'indique en effet le chemin dans Document_Root /home/wwwcommun/site2 alors qu'il devrait être /var/www.

Je n'ai par ailleurs aucun message d'erreur côté serveur.

Quelqu'un a t-il déjà rencontré le problème ?.

Je ne sais plus ou chercher.

En vous remerciant par avance.

Cdlt.

13 réponses

  1. Merci danycoc, j'avais le même souci, et ta réponse m'a en effet bien aidée.
    1. Bonjour,

      De rien Gil, c'est avec plaisir.

      Bonne journée.

      @+
  2. Bonjour lamy20j & foobar47,

    Merci à vous pour votre patience.

    J'ai trouvé ce matin. Comme prévu, il s'agissait d'une bricole.

    J'avais bien mentionné l'@ IP du serveur (puisqu'il semble quelle soit préférable à l'URL) dans <VirtualHost IP> des sites 1 & 2, mais j'avais laissé l'étoile par défaut dans le <VirtualHost *> du site par défaut.

    Cela suffisait pour le rediriger systématiquement vers le site2.

    J'espère que mon erreur pourra servir à d'autres ;-).

    A bientôt et merci encore.
    1. Modérateur
      Salut,

      je te donne une exemple, à toi de voir
      il faut que tu regardes dans les fichiers que tu appelles avec la directive include surtout dans /etc/apache2/httpd.conf

      Donc j'ai créé 3 site virtuelles par nom
      site1.lam
      site2.lam
      site3.lam

      Voici la partie de mon httpd.conf où j'ai configurer les sites virtuelles
      NameVirtualHost 192.168.1.1
      <VirtualHost site1.lam>
              ServerName site1.lam
              DocumentRoot "/home/lami20j/sitest/site1.lam"
              <Directory "/home/lami20j/sitest/site1.lam">
                      Order allow,deny
                      Allow from 192.168.1.1
              </Directory>
      </VirtualHost>
      <VirtualHost site2.lam>
              ServerName site2.lam
              DocumentRoot "/home/lami20j/sitest/site2.lam"
              <Directory "/home/lami20j/sitest/site2.lam">
                      Order allow,deny
                      Allow from 192.168.1.1
              </Directory>
      </VirtualHost>
      <VirtualHost site3.lam>
              ServerName site3.lam
              DocumentRoot "/home/lami20j/sitest/site3.lam"
              <Directory "/home/lami20j/sitest/site3.lam">
                      Order allow,deny
                      Allow from 192.168.1.1
              </Directory>
      </VirtualHost>
      

      Voici mon /etc/hosts concernant la sites en discussion
      lami20j@debian:~$ grep 192.168.1.1 /etc/hosts
      192.168.1.1     site1.lam
      192.168.1.1     site2.lam
      192.168.1.1     site3.lam
      

      L'arborescensce des sites
      lami20j@debian:~$ ls -R sitest/
      sitest/:
      site1.lam  site2.lam  site3.lam
      
      sitest/site1.lam:
      index.html
      
      sitest/site2.lam:
      index.html
      
      sitest/site3.lam:
      index.html
      
      et les connextion
      site1.lam
      site2.lam
      site3.lam
      1. Suis-je bête, tu l'avais déjà évoqué cette instruction, pardon !

        Voilà:

        ServerRoot "/etc/apache2"
        LockFile /var/lock/apache2/accept.lock
        PidFile /var/run/apache2.pid
        Timeout 300
        KeepAlive On
        MaxKeepAliveRequests 100
        KeepAliveTimeout 15
        <IfModule mpm_prefork_module>
        StartServers 5
        MinSpareServers 5
        MaxSpareServers 10
        MaxClients 150
        MaxRequestsPerChild 0
        </IfModule>
        <IfModule mpm_worker_module>
        StartServers 2
        MaxClients 150
        MinSpareThreads 25
        MaxSpareThreads 75
        ThreadsPerChild 25
        MaxRequestsPerChild 0
        </IfModule>
        User www-data
        Group www-data
        AccessFileName .htaccess
        <Files ~ "^\.ht">
        Order allow,deny
        Deny from all
        </Files>
        TypesConfig /etc/mime.types
        DefaultType text/plain
        HostnameLookups Off
        ErrorLog /var/log/apache2/error.log
        LogLevel warn
        Include /etc/apache2/mods-enabled/*.load
        Include /etc/apache2/mods-enabled/*.conf
        Include /etc/apache2/httpd.conf
        Include /etc/apache2/ports.conf
        Include /etc/apache2/conf.d/
        LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
        LogFormat "%h %l %u %t \"%r\" %>s %b" common
        LogFormat "%{Referer}i -> %U" referer
        LogFormat "%{User-agent}i" agent
        ServerTokens Full
        ServerSignature On
        <IfModule alias_module>
        Alias /icons/ "/usr/share/apache2/icons/"
        <Directory "/usr/share/apache2/icons">
        Options Indexes MultiViews
        AllowOverride None
        Order allow,deny
        Allow from all
        </Directory>
        </IfModule>
        <IfModule mod_autoindex.c>
        IndexOptions FancyIndexing VersionSort HTMLTable NameWidth=*
        AddIconByEncoding (CMP,/icons/compressed.gif) x-compress x-gzip
        AddIconByType (TXT,/icons/text.gif) text/*
        AddIconByType (IMG,/icons/image2.gif) image/*
        AddIconByType (SND,/icons/sound2.gif) audio/*
        AddIconByType (VID,/icons/movie.gif) video/*
        AddIcon /icons/binary.gif .bin .exe
        AddIcon /icons/binhex.gif .hqx
        AddIcon /icons/tar.gif .tar
        AddIcon /icons/world2.gif .wrl .wrl.gz .vrml .vrm .iv
        AddIcon /icons/compressed.gif .Z .z .tgz .gz .zip
        AddIcon /icons/a.gif .ps .ai .eps
        AddIcon /icons/layout.gif .html .shtml .htm .pdf
        AddIcon /icons/text.gif .txt
        AddIcon /icons/c.gif .c
        AddIcon /icons/p.gif .pl .py
        AddIcon /icons/f.gif .for
        AddIcon /icons/dvi.gif .dvi
        AddIcon /icons/uuencoded.gif .uu
        AddIcon /icons/script.gif .conf .sh .shar .csh .ksh .tcl
        AddIcon /icons/tex.gif .tex
        AddIcon /icons/bomb.gif core
        AddIcon /icons/back.gif ..
        AddIcon /icons/hand.right.gif README
        AddIcon /icons/folder.gif ^^DIRECTORY^^
        AddIcon /icons/blank.gif ^^BLANKICON^^
        DefaultIcon /icons/unknown.gif
        ReadmeName README.html
        HeaderName HEADER.html
        IndexIgnore .??* *~ *# RCS CVS *,v *,t
        </IfModule>
        <IfModule mod_mime.c>
        AddType application/x-compress .Z
        AddType application/x-gzip .gz .tgz
        AddLanguage ca .ca
        AddLanguage cs .cz .cs
        AddLanguage da .dk
        AddLanguage de .de
        AddLanguage el .el
        AddLanguage en .en
        AddLanguage eo .eo
        AddLanguage es .es
        AddLanguage et .et
        AddLanguage fr .fr
        AddLanguage he .he
        AddLanguage hr .hr
        AddLanguage it .it
        AddLanguage ja .ja
        AddLanguage ko .ko
        AddLanguage ltz .ltz
        AddLanguage nl .nl
        AddLanguage nn .nn
        AddLanguage no .no
        AddLanguage pl .po
        AddLanguage pt .pt
        AddLanguage pt-BR .pt-br
        AddLanguage ru .ru
        AddLanguage sv .sv
        AddLanguage zh-CN .zh-cn
        AddLanguage zh-TW .zh-tw
        </IfModule>
        <IfModule mod_negotiation.c>
        LanguagePriority en ca cs da de el eo es et fr he hr it ja ko ltz nl nn no pl pt pt-BR ru sv zh-CN zh-TW
        ForceLanguagePriority Prefer Fallback
        </IfModule>
        <IfModule mod_mime.c>
        AddCharset us-ascii .ascii .us-ascii
        AddCharset ISO-8859-1 .iso8859-1 .latin1
        AddCharset ISO-8859-2 .iso8859-2 .latin2 .cen
        AddCharset ISO-8859-3 .iso8859-3 .latin3
        AddCharset ISO-8859-4 .iso8859-4 .latin4
        AddCharset ISO-8859-5 .iso8859-5 .cyr .iso-ru
        AddCharset ISO-8859-6 .iso8859-6 .arb .arabic
        AddCharset ISO-8859-7 .iso8859-7 .grk .greek
        AddCharset ISO-8859-8 .iso8859-8 .heb .hebrew
        AddCharset ISO-8859-9 .iso8859-9 .latin5 .trk
        AddCharset ISO-8859-10 .iso8859-10 .latin6
        AddCharset ISO-8859-13 .iso8859-13
        AddCharset ISO-8859-14 .iso8859-14 .latin8
        AddCharset ISO-8859-15 .iso8859-15 .latin9
        AddCharset ISO-8859-16 .iso8859-16 .latin10
        AddCharset ISO-2022-JP .iso2022-jp .jis
        AddCharset ISO-2022-KR .iso2022-kr .kis
        AddCharset ISO-2022-CN .iso2022-cn .cis
        AddCharset Big5 .Big5 .big5 .b5
        AddCharset cn-Big5 .cn-big5
        AddCharset WINDOWS-1251 .cp-1251 .win-1251
        AddCharset CP866 .cp866
        AddCharset KOI8 .koi8
        AddCharset KOI8-E .koi8-e
        AddCharset KOI8-r .koi8-r .koi8-ru
        AddCharset KOI8-U .koi8-u
        AddCharset KOI8-ru .koi8-uk .ua
        AddCharset ISO-10646-UCS-2 .ucs2
        AddCharset ISO-10646-UCS-4 .ucs4
        AddCharset UTF-7 .utf7
        AddCharset UTF-8 .utf8
        AddCharset UTF-16 .utf16
        AddCharset UTF-16BE .utf16be
        AddCharset UTF-16LE .utf16le
        AddCharset UTF-32 .utf32
        AddCharset UTF-32BE .utf32be
        AddCharset UTF-32LE .utf32le
        AddCharset euc-cn .euc-cn
        AddCharset euc-gb .euc-gb
        AddCharset euc-jp .euc-jp
        AddCharset euc-kr .euc-kr
        AddCharset EUC-TW .euc-tw
        AddCharset gb2312 .gb2312 .gb
        AddCharset iso-10646-ucs-2 .ucs-2 .iso-10646-ucs-2
        AddCharset iso-10646-ucs-4 .ucs-4 .iso-10646-ucs-4
        AddCharset shift_jis .shift_jis .sjis
        AddHandler type-map var
        AddType text/html .shtml
        AddOutputFilter INCLUDES .shtml
        </IfModule>
        <IfModule mod_setenvif.c>
        BrowserMatch "Mozilla/2" nokeepalive
        BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0
        BrowserMatch "RealPlayer 4\.0" force-response-1.0
        BrowserMatch "Java/1\.0" force-response-1.0
        BrowserMatch "JDK/1\.0" force-response-1.0
        BrowserMatch "Microsoft Data Access Internet Publishing Provider" redirect-carefully
        BrowserMatch "MS FrontPage" redirect-carefully
        BrowserMatch "^WebDrive" redirect-carefully
        BrowserMatch "^WebDAVFS/1.[012]" redirect-carefully
        BrowserMatch "^gnome-vfs/1.0" redirect-carefully
        BrowserMatch "^XML Spy" redirect-carefully
        BrowserMatch "^Dreamweaver-WebDAV-SCM1" redirect-carefully
        </IfModule>
        Include /etc/apache2/sites-enabled/
        NameVirtualHost xxx.xxx.xxx.xxx

        -----------------------------------------------------------

        Il a bien un :
        Include /etc/apache2/httpd.conf à un moment donné. Serait-ce alors une piste ?.

        Merci encore à vous deux pour votre patience et compétences évidemment.

        @+
        1. Contributeur
          Ce n'était pas moi mais c'est pas grave ;-)
      2. Contributeur
        perl -ne 'next if /^(\s*#|$)/;print' /etc/apache2/conf/apache2.conf


        Ca va déjà l'alleger... ;-)
        1. Merci pour toutes ces précisions.

          Le fichier apache2.conf est un peu long pour être affiché ici.

          En fichier associé, je n'ai pas encore trouvé comment faire.

          Je reviens vers vous dès que je trouve la solution, s'il y a ?!.

          A bientôt.
          1. Modérateur
            Salut,

            affiche le contenu de ton fichier apache2.conf pour voir.

            J'ai cru comprendre à travers toutes les docs que j'ai pu lire, que httpd.conf n'était plus usité, au bénéfice de apache2.conf.

            Ce sont les distributions qui changent le nom de ce fichier.
            Dans les sources on trouve toujours httpd.conf :-))
            1. Contributeur
              Et on en revient à la première question :

              Peux-tu donner ton fichier apache2.conf svp ! :)
              1. Contributeur
                Bonjour,

                Ca dépend des distributions.

                Soit c'est httpd.conf soit apache2.conf.

                Ils sont équivalents.
                1. Bonjour foobar47,

                  Merci à toi. Ouf, voilà déjà quelque chose que j'avais bien compris alors.

                  Du fait, j'utilise Debian Etch, donc à moins d'un avis contraire, c'est bien apache2.conf que j'ai sollicité.

                  Et l'on en revient à l'origine de mon message, pourquoi mon site par défaut pointe sur le site2 virtuel plutôt que sur /var/www ?.

                  Ca ne doit pas être grand chose, mais j'avoue que je sèche...

                  Bonne journée.
              2. Bonjour lami20j,

                Merci pour ta réponse.

                Ote moi un doute de l'esprit. J'ai cru comprendre à travers toutes les docs que j'ai pu lire, que httpd.conf n'était plus usité, au bénéfice de apache2.conf.

                Ai-je bien lu ?.

                Sinon, l'édition de httpd.conf ne donne rien, ce qui est normal vu l'interprêtation que j'ai faite des tutaux.

                J'attends ton avis éclairé pour voir si je me suis fourvoyé totalement :-(.

                A bientôt.

                Cordialement.
                1. Modérateur
                  Salut,

                  affiche le contenu de httpd.conf (sans commentaires)
                  perl -ne 'next if /^(\s*#|$)/;print' /chemin/vers/httpd.conf