Я имею, устанавливают Apache 2 виртуальный хост этим методом.
под /etc/apache2/sites-available
Я имею, создают a dummy_site_1.conf
<VirtualHost local.dummy_site_1:80>
ServerName local.dummy_site_1
ServerAdmin webmaster@localhost
DocumentRoot /var/www/dummy_site_1
ErrorLog /var/log/apache2/dummy_site_1__error.log
TransferLog /var/log/apache2/dummy_site_1__access.log
<Directory /var/www/dummy_site_1>
AllowOverride Options Limit None
Options -Indexes FollowSymLinks
Order deny,allow
Allow from all
</Directory>
DirectoryIndex index.php
#DISABLE HTTP TRACE
#RewriteEngine On
#RewriteCond %{REQUEST_METHOD} ^TRACE
#RewriteRule .* - [F]
</VirtualHost>
Я также добавил эту строку httpd.conf
:
ServerName local.dummy_site_1
Теперь все работает с этой установкой, я ввожу local.dummy_site_1
в URL и я вижу свой сайт.
Проблема состоит в том, когда я пытаюсь добавить другую конфигурацию сайта dummy_site_2.conf
и создайте о тех же настройках
<VirtualHost local.dummy_site_2:80>
ServerName local.dummy_site_2
ServerAdmin webmaster@localhost
DocumentRoot /var/www/dummy_site_2
ErrorLog /var/log/apache2/dummy_site_2__error.log
TransferLog /var/log/apache2/dummy_site_2__access.log
<Directory /var/www/dummy_site_2>
AllowOverride Options Limit None
Options -Indexes FollowSymLinks
Order deny,allow
Allow from all
</Directory>
DirectoryIndex index.php
#DISABLE HTTP TRACE
#RewriteEngine On
#RewriteCond %{REQUEST_METHOD} ^TRACE
#RewriteRule .* - [F]
</VirtualHost>
Я также добавил эту строку httpd.conf
:
ServerName local.dummy_site_2
Я получаю эту ошибку:
user@host:/etc/apache2$ sudo /etc/init.d/apache2 restart
* Restarting web server apache2 [Wed Sep 15 14:00:43 2010] [error] (EAI 5)No address associated with hostname: Could not resolve host name local.dummy_site_2 -- ignoring!
... waiting [Wed Sep 15 14:00:44 2010] [error] (EAI 5)No address associated with hostname: Could not resolve host name local.dummy_site_2 -- ignoring!
Почему? я настраиваю эту несправедливость?
Вам не нужно'ServerName local.dummy_site_2
'в httpd.conf так вынимают это, но добавляют это вместо этого:
NameVirtualHost ip-address-of-server:80
например: NameVirtualHost 192.168.1.10:80
После того как Вы внесли изменение, необходимо будет перезапустить Apache.
Если вещи все еще не работают как ожидалось, добавьте строку к каждому из Ваших virtualhost conf файлы ниже строк имени сервера, таким образом, они похожи на это:
ServerName local.dummy_site_1
ServerAlias *.local.dummy_site_1 local.dummy_site_1
и
ServerName local.dummy_site_2
ServerAlias *.local.dummy_site_2 local.dummy_site_2
Снова, перезапустите Apache для проверки изменений.
Править: Глупый меня - просто определил другой бит проблемы - ВСЕ Ваши объявления VirtualHost должны использовать IP-адрес виртуального сервера - например:
<VirtualHost 192.168.1.10:80>