Моментальне створення піддоменів в apache

Вирішив полегшити собі життя і налаштувати роботу з хостами в моїй улюбленій Ubuntu.
Завдання: Створюємо директорію new_site в / home / web / і браузер успішно знаходить new_site.dk (dk - ім'я машини). Першою думкою було написання скриптів, скануючих / home / web / і вносять зміни в налаштування apache і файл hosts. Мені цей варіант не сподобався. Але рішення є!

Як це зробити я запитав ТУТ і розумні люди підказали, в який бік потрібно копати:

1) Установка web сервера Apache з підтримкою PHP:


2) Установка СУБД MySQL (якщо потрібно):


3) PHPmyAdmin для зручної роботи з базами (якщо потрібно):


4) Включення модуля Rewrite в Apache (якщо потрібно):


5) Включення модуля vhost:


Прийшов час все це господарство налаштувати! Всього кілька кроків:
1) Для настройки vhost_alias досить в / etc / apache2 / sites-enabled / 000-default дописати:

Для редагування цього файлу будуть потрібні права супер-користувача. Варіант рішення:


Потрібно звертаючи увагу на те, що ми обробляємо запити виду * .dk
Якщо ви хочете налаштувати ваші віртуальні хости якось по іншому, то рекомендую до прочитання: www.softtime.ru/info/apache.php?id_article=103
Вітаю! Тепер, створивши директорію / home / web / new_site / public і дописавши в / etc / hosts new_site.dk 127.0.0.1 ми звернемося до цієї нової директорії як до окремого хосту! Слід звернути увагу на те, що індивідуальні настройки хоста слід проводити файлом .htaccess
Якщо працює, то повертаємо hosts до початкового стану.

Цією рядком ми повідомляємо нашому dns сервера, що всі запити * .dk хочемо перенаправляти на 127.0.0.1
Перезапускаємо dnsmasq:


Можливо буде потрібно поправітьфайл /etc/resolv.conf, вписавши першим рядком


Ці танці з бубном потрібні для того, щоб задати послідовність звернення до dns серверів - в першу чергу локальний (127.0.0.1).