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

У меня есть несколько проектов PHP и Python, работающих под управлением apache 2.2.

В моем файле httpd.conf:

DocumentRoot "/var/www/html"

NameVirtualHost xx.my.ip.xxx:80
...


# Virtual host for xx project
<VirtualHost xx.my.ip.xxx:80>
    ...
    DocumentRoot /var/www/html/xx.com
    ServerName xx-project.com
</VirtualHost>

...

При обращении по имени сервера (xx-project.com) в качестве DocumentRoot используется [/var/www/html/xx.com] без проблем.

Однако я добавил новый проект в [/var/www/html]. Поскольку у меня еще нет имени сервера для этого проекта, я пытаюсь получить к нему доступ с помощью xx.my.ip.xxx:80/mynewprojectPath... но [/var/www/html/xx.com] использовался как DocumentRoot.

Есть идеи ?

Спасибо за чтение


person johann    schedule 28.05.2013    source источник


Ответы (1)


Я бы использовал временный NameServer (скажем, yy-project.com) и перезаписал файл /etc/hosts как на вашем сервере, так и на вашей машине разработчика. Таким образом, вы можете указать второй VirtualHost и начать тестирование своего приложения. Когда вы получаете второй домен, вам нужно только заменить его в вашем VirtualHost и удалить строки в ваших файлах /etc/hosts.

(отредактировано)

Временный виртуальный хост:

<VirtualHost *:80>
ServerName yy-project.com
ErrorLog /var/log/apache2/yy-project_error.log
TransferLog /var/log/apache2/ryy-project_access.log
LogLevel warn
DocumentRoot /var/www/html/yy.com
....
</VirtualHost>

Добавьте эту строку в файл /etc/hosts на сервере:

127.0.0.1   yy-project.com

И добавьте это в файл /etc/hosts на вашем клиентском компьютере:

IP_OF_THE_SERVER yy-project.com
person alvaroreig    schedule 28.05.2013
comment
На самом деле у меня много виртуальных хостов. Каждый из них имеет собственное имя сервера. В моем /etc/hosts есть только: 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 .. Нет идей? - person johann; 28.05.2013
comment
Затем вы должны добавить новый VirtualHost с именем сервера yy-project.com и добавить следующую строку в /etc/hosts: 127.0.1.1 yy-project.com на вашем сервере и SERVER_IP yy-project.com на вашей машине разработки. Таким образом, когда вы укажете в своем браузере на yy.project.com, петиция поступит на ваш сервер, где ее обработает новый VirtualHost. Там вы можете изменить свой DocumentRoot - person alvaroreig; 28.05.2013
comment
Извините за задержку с ответом. Ваш метод работает как шарм! Спасибо ! Можете ли вы опубликовать ответ с тем же содержанием (для проверки) - person johann; 02.06.2013
comment
Ну вот. Извините за задержку, только что увидел. - person alvaroreig; 10.06.2013