О компании Менеджмент Переводы Программирование Робототехника Все проекты Контакты
Админка
пожалуйста подождите
Возникла потребность обеспечить работу нескольких сайтов на одной машине Windows Apache. Для разработки и отладки этих сайтов.

Windows XP


Для создания нескольких имён, по которым можно обращаться к разным сайтам использовал TreeWalk DNS. Он построен на базе BIND, и работает неплохо. Чтобы сделать несколько имён типа name.localhost, использовал следующую конфигурацию (файлы лежат по умолчанию в папке C:\Windows\System32\dns\etc):
localhost

$TTL 86400
@ IN SOA @ root (
200502258 ; serial
3H ; refresh
15M ; retry
1W ; expiry
1D ) ; minimum

IN NS @
IN NS localhost.
IN A 127.0.0.1

modernjazz.localhost. IN A 127.0.0.1
ecomag.localhost. IN A 127.0.0.1
doctorrobot.localhost. IN A 127.0.0.1
zkinteractive.localhost. IN A 127.0.0.1
dancevault.localhost. IN A 127.0.0.1


127.0.0


$TTL 86400
@ IN SOA localhost. root.localhost. (
2005022508 ; serial
3H ; refresh
15M ; retry
1W ; expiry
1D ) ; minimum

IN NS localhost.
1 IN PTR localhost.

1 IN PTR ecomag.localhost.
1 IN PTR modernjazz.localhost.
1 IN PTR doctorrobot.localhost.
1 IN PTR zkinteractive.localhost.
1 IN PTR dancevault.localhost.


Windows Vista


Из-за множества проблем, плюнул на TreeWalk и использую Simple DNS Plus, хотя она и платная. И всё решилось ещё проще: зашёл в Tools->Options->Non-Existing Domains и поставил редирект на 127.0.0.1 (локальная машина). Только нужно прописать в свойствах сетевого соединения в для TCP IP 4 127.0.0.1 как DNS-сервер. (Это есть в справке в HOWTO->Get Started).
Не забудьте отключить UAC: Панель Управления -> Учётные записи пользователей -> Включение или отключение контроля учётных записей (UAC), иначе содержимое файлов в папке Program Files не будет давать никакого эффекта, а при перезагрузке восстанавливаться старое содержимое, при этом при сохранении никаких ошибок выдаваться не будет.

Apache 2.2


Виртуальные хосты позволяют практически все настройки httpd.conf специфицировать для каждого сайта. Для этого используется тег <VirtualHost>, которым окружаются эти настройки.
Чтобы объяснить серверу, что различать сайты нужно по имени, используется NameVirtualHost=IP, которой присваивается IP адрес (если IP одинаковые, если разные, то имя указывается как <VirtualHost domain.name>). Здесь же пишем одинаковый адрес, поэтому нужно указать чем же хосты отличаются, это указывается в ServerName каждого хоста.

NameVirtualHost 127.0.0.1

# laboratory
<VirtualHost 127.0.0.1>
ServerAdmin [email protected]
DocumentRoot "c:/mydocs/Developments/Sites/laboratory/public_html"
ServerName localhost
ErrorLog logs/laboratory-error_log
CustomLog logs/laboratory-access_log common

<Directory "c:/mydocs/Developments/Sites/laboratory">
Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
ScriptAlias /cgi-bin/ "c:/mydocs/Developments/Sites/laboratory/cgi-bin/"
<Directory "c:/mydocs/Developments/Sites/laboratory/cgi-bin/">
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>
</VirtualHost>


#doctorrobot
<VirtualHost 127.0.0.1>
ServerAdmin [email protected]
DocumentRoot "c:/mydocs/Developments/Sites/doctorrobot/public_html"
ServerName doctorrobot.localhost
ErrorLog logs/doctorrobot-error_log
CustomLog logs/doctorrobot-access_log common

<Directory "c:/mydocs/Developments/Sites/doctorrobot">
Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
ScriptAlias /cgi-bin/ "c:/mydocs/Developments/Sites/doctorrobot/cgi-bin/"
<Directory "c:/mydocs/Developments/Sites/doctorrobot/cgi-bin/">
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
...
 
 
 
Языки
Темы
Copyright © 1999 — 2023
Зетка Интерактив