Автор Тема: Apache и виртуальные хосты  (Прочитано 2567 раз)

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

Оффлайн alex39

  • Новичок форума
  • Topic Author
  • Сообщений: 5
Apache и виртуальные хосты
« : 15 Апрель 2012, 13:21:26 »
Доброго времени суток!
Столкнулся с проблемкой: нужно настроить несколько виртуальных хостов на локальной машине с Debian. Видел массу инструкций, которые гласили, что достаточно для каждого хоста создать соответствующий файл, "активировать" хост, создать каталог и внести изменения в /etc/hosts. В итоге у меня получилось следующее:
Файл /etc/apache2/sites-available/test.ru выглядит так:
Spoiler: ShowHide
<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 выглядит так:
Spoiler: ShowHide
<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 следующие строки
Spoiler: ShowHide
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

  • Главный модератор
  • Ветеран
  • *****
  • Сообщений: 1742
  • Debian GNU/Linux Stretch
    • Алтайская Группа Пользователей Linux
  • Jabber: ihammers@jabber.ru
Re: Apache и виртуальные хосты
« Ответ #1 : 15 Апрель 2012, 14:57:41 »
...
Соответствующие каталоги создал и разместил в них файл. 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 Stretch, kernel 4.9.0-5-amd64,
LXQt/KDE/OpenBox AMD Phenon X4 / 16Gb RAM / ATI HD7750 Silent
_______________________________
Debian GNU/Linux Stretch, kernel 4.9.0-5-amd64, LXQt/KDE/OpenBox
Acer Aspire One 722 AMD C60 / 4Gb RAM / ATI HD6290
 

Оффлайн alex39

  • Новичок форума
  • Topic Author
  • Сообщений: 5
Re: Apache и виртуальные хосты
« Ответ #2 : 15 Апрель 2012, 15:55:28 »
ihammers, вот спасибо, мил человек  :) В других руководствах об этом не было ни слова, а вот теперь случайно напоролся на статью в которой на примере было показано использование директивы (или что это такое) ServerName. Еще раз спасибо.
 


Теги: apache 
 

Apache + ASP.NET

Автор net-walk

Ответов: 2
Просмотров: 1583
Последний ответ 22 Май 2011, 21:13:35
от net-walk
Установка apache 2.2.27

Автор vasiliy_b

Ответов: 1
Просмотров: 2111
Последний ответ 13 Август 2014, 22:26:44
от Yrii
apache + php

Автор Екатерина

Ответов: 24
Просмотров: 2417
Последний ответ 31 Июль 2017, 23:25:50
от vic5710
Проблема с установкой apache

Автор mihail_1

Ответов: 6
Просмотров: 1303
Последний ответ 14 Август 2013, 23:51:21
от mihail_1
redmine apache You don't have permission to access /redmine on this server.

Автор bboymig

Ответов: 3
Просмотров: 2799
Последний ответ 27 Сентябрь 2016, 05:24:26
от endru