Конфигурируем веб- и dns-сервер для локальной разработки

Все нижесказанное справедливо для Ubuntu (Debian). Другие системы скорее всего будет отличаться только расположением конфигурации Apache.

Установим весь необходимый софт:

# sudo apt-get install bind9 apache2
# а так же базы данных, интерпретаторы и модули к ним по вкусу.

Теперь создадим зону .loc, все домены которой будут ссылаться на наш веб-сервер.  Я указал адрес 192.168.5.1, таким образом,  домены новой зоны будут доступны всей домашней сети.

/etc/bind/named.conf:
<...>
zone "loc" {
        type master;
        file "/etc/bind/db.loc";
};

/etc/bind/db.loc:
$TTL    604800
@       IN      SOA     loc. root.loc. (
                              5         ; Serial
                         604800         ; Refresh
                          86400         ; Retry
                        2419200         ; Expire
                         604800 )       ; Negative Cache TTL
;
loc.    IN      A       192.168.5.1
        IN      NS      ns.loc.
*.loc.  IN      A       192.168.5.1

И займемся веб-сервером (apache2). Работать все будет через mod_vhost_alias т.к. это самый простой и удобный в данном случае метод.

Активируем этот модуль:

# cd /etc/apache2/
# sudo ln -s mods-available/vhost_alias.load mods-enabled/

И создадим правила для виртуальных хостов:

/etc/apache2/httpd.conf
(или где-нибудь в другом месте): 
<...>
UseCanonicalName Off
ServerName loc
VirtualDocumentRoot /var/www/%0

Перезапускаем все это хозяйство:

# sudo /etc/init.d/bind9 restart
# sudo /etc/init.d/apache2 restart

Таким образом запрос http://abc.loc/ будет обработан виртуальным хостом с DocumentRoot /var/www/abc.loc


Мне не хватает только одного момента – чтобы VirtualBox цеплял эти виртульные хосты и, вообще, умел обращатся к машине на которой запущен не только за интернетом.  Будем гуглить и читать маны. Возможно, получится это сделать через iptables или неким образом повлиять на NAT VirtualBox’а 🙂


Все оказалось очень просто – устанавливаем последнюю версию (2.1 на данный момент) http://www.virtualbox.org/wiki/Linux_Downloads

В настройках выбираем метод – host и нужный интерфейс (для меня это eth1, 192.168.5.1)

screenshot-winxp-settings

Затем в guest-системе настраиваем этот интерфес необходимым образом (я установил ip 192.168.5.3, gateway 192.168.5.1, dns-server 192.168.5.1)

screenshot-winxp-running-sun-xvm-virtualbox

Leave a Reply

You must be logged in to post a comment.