Задача такова: на корпоративном сервере поднять несколько виртульных хостов для тестирования веб-проектов и заливки контента, не поднимая DNS. Сервер имеет один ip и виден только в локальной сети. Проекты должны быть доступны пользователям из локальной сети.
У меня конфигурационный файл Apache лежит в /usr/local/etc/apache22/httpd.conf.
#ee /usr/local/etc/apache22/httpd.conf
Находим следующее
Listen 80
добавляем
Listen 81
и так для каждого виртуального хоста устанавливаем порт.
Далее добавляем для наших хостов
NameVirtualHost 192.168.0.198 # ip сервера
VirtualHost 192.168.0.198:80 # заключить в <> на самом деле, а то блоггер не хочет показывать
# сервер слушает запрос на порт 80 и выдает виртуальный хост first
ServerName first # имя виртуального хоста
DocumentRoot "/home/first/www" # DocumentRoot виртуального хоста
ScriptAlias /cgi/ "/home/first/www/cgi"
ErrorLog /home/first/error.log # лог ошибок виртуального хоста
CustomLog /home/first/access.log common # общий лог виртуального хоста
< /VirtualHost >
VirtualHost 192.168.0.198:81 # заключить в <> на самом деле, а то блоггер не хочет показывать
ServerName second
DocumentRoot "/home/second/www"
ScriptAlias /cgi/ "/home/second/www/cgi"
ErrorLog /home/second/error.log
CustomLog /home/second/access.log common
< /VirtualHost >
Перезапускаем apache. Набираем в браузере http://192.168.0.198:80, получаем first,http://192.168.0.198:81 - second.
Если что-то не так читаем логи. Обычно проблема в синтаксисе или директории с ошибками напечатали :-).
Если есть желание ходить с машин в сети по именам хостов, а не по ip:порт, тогда
создаем name-based виртуальные хосты.
VirtualHost first # заключить в <> на самом деле, а то блоггер не хочет показывать
ServerName first
DocumentRoot "/home/first/www"
ScriptAlias /cgi/ "/home/first/www/cgi"
ErrorLog /home/first/error.log
CustomLog /home/first/access.log common
< /VirtualHost >
И так для каждого виртуального хоста.
Правим файл /etc/hosts. Во-первых, самой первой строкой в этом файле должна быть строка
192.168.0.198 localhost localhost.my.domain
Добавляем
192.168.0.198 localhost localhost.my.domain first
192.168.0.198 localhost localhost.my.domain second
Ну и подобные записи надо будет сделать на всех машинах с которых хотим иметь доступ.
Если это WINDOWS, то правим WINDOWS\system32\drivers\etc\hosts, добавляем записи вида:
192.168.0.198 first
192.168.0.198 second
Теперь по http://first будем иметь первый виртуальный хост на сервере...
0 коммент.:
Отправить комментарий