Apache и виртуальные хосты

Автор alex39, 15 апреля 2012, 13:21:26

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

alex39

Доброго времени суток!
Столкнулся с проблемкой: нужно настроить несколько виртуальных хостов на локальной машине с Debian. Видел массу инструкций, которые гласили, что достаточно для каждого хоста создать соответствующий файл, "активировать" хост, создать каталог и внести изменения в /etc/hosts. В итоге у меня получилось следующее:
Файл /etc/apache2/sites-available/test.ru выглядит так:
Открыть содержимое (спойлер)
<VirtualHost *:80>
   ServerAdmin webmaster@localhost

   DocumentRoot /home/alexander/www/test.ru
   <Directory />
      Options FollowSymLinks
      AllowOverride None
   </Directory>
   <Directory /home/alexander/www/test.ru/>
      Options Indexes FollowSymLinks MultiViews
      AllowOverride None
      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 ${APACHE_LOG_DIR}/error.log

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

   CustomLog ${APACHE_LOG_DIR}/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>

</VirtualHost>
[свернуть]
Файл /etc/apache2/sites-available/test2.ru выглядит так:
Открыть содержимое (спойлер)
<VirtualHost *:80>
   ServerAdmin webmaster@localhost

   DocumentRoot /home/alexander/www/test2.ru
   <Directory />
      Options FollowSymLinks
      AllowOverride None
   </Directory>
   <Directory /home/alexander/www/test2.ru/>
      Options Indexes FollowSymLinks MultiViews
      AllowOverride None
      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 ${APACHE_LOG_DIR}/error.log

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

   CustomLog ${APACHE_LOG_DIR}/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>

</VirtualHost>
[свернуть]
Команды a2ensite test.ru и a2ensite test2.ru выполнил.
В /etc/hosts следующие строки
Открыть содержимое (спойлер)
127.0.0.1   localhost test.ru test2.ru
127.0.1.1   deb-lap.Home   deb-lap

# The following lines are desirable for IPv6 capable hosts
::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
[свернуть]
Соответствующие каталоги создал и разместил в них файл. Apache перезапустил.
А проблема в том, что при открытии сайта test.ru все в порядке, но при попытке открытия сайта test2.ru открывается по-прежнему test.ru. До тех пор пока не отключу test.ru сайт test2.ru не открывается. Где я накосячил?

ihammers

Цитата: alex39 от 15 апреля 2012, 13:21:26
...
Соответствующие каталоги создал и разместил в них файл. Apache перезапустил.
А проблема в том, что при открытии сайта test.ru все в порядке, но при попытке открытия сайта test2.ru открывается по-прежнему test.ru. До тех пор пока не отключу test.ru сайт test2.ru не открывается. Где я накосячил?
У вас apache2 всё правильно делает, то есть отдаёт первый сайт (название файла).  Вам стоит добавить параметр ServerName для каждого файла.

После этого в локальном hosts файле, написать что-то типа 192.168.0.1 (или другой IP) test.ru.  С этой машины будут открываться по имени сайты.  Или поправить DNS.
Debian GNU/Linux Bookworm, LXQt/OpenBox: AMD Ryzen 5 5600G / 64Gb RAM
_______________________________
Debian GNU/Linux Bookworm, без графики: AMD Phenon X4 / 16Gb RAM
_______________________________
Debian GNU/Linux Bookworm, LXQt/OpenBox: Acer Aspire One 722 AMD C60 / 8Gb RAM / ATI HD6290

alex39

ihammers, вот спасибо, мил человек  :) В других руководствах об этом не было ни слова, а вот теперь случайно напоролся на статью в которой на примере было показано использование директивы (или что это такое) ServerName. Еще раз спасибо.