Віртуальні хости (піддомени) mod_vhost_alias (virtualdocumentroot)

Запланував я якось створити мережу сайтик невеликих виду sub.domain.com.

Як працювати з віртуальними хостами я знав і проблем особливих з цим немає, якщо сайтів таки буде, скажімо, 10. А якщо 100. Кожен раз редагувати конфіги апача.

Почав шукати рішення (скажу чесно - рішення знайшов швидко, довго не міг налаштувати коректно). А рішення дуже просте - використовувати модуль до Апач для створення алиасов до віртуального хосту - mod_vhost_alias і динамічної підміни DocumentRoot через VirtualDocumentRoot.

Як включити модуль, думаю самі знаєте (ну або загугли =)), ми ж пройдемося по іншим діям.

1) В панелі управління доменом створив піддомен * .domain.com @. щоб все піддомени вели на сервер, де знаходиться і основний домен.

2) На сервері сконфігурував віртуальний хост так:

Ну і деякий пояснення:

ServerName www.domain.com - вказуємо основне ім'я сервера як і зазвичай налаштування віртуальних хостів

ServerAlias ​​domain.com * .domain.com - вказуємо аліаси для хоста (будь піддомен буде аліасом і буде подчінаться вирт. Хосту

RewriteEngine on - включаємо реврайн, він нам знадобиться

RewriteCond% ^ domain \ .com [NC] - задаємо умову для реврайта - основний домен без www

UseCanonicalName Off - ім'я сервера підставляємо з заголовків запиту сервера (тобто те, що ввів користувач - будь піддомен)

VirtualDocumentRoot / usr / local / www / domain /% 0 - створюємо віртуальний документ рут. Де% 0 - папка, з полнім ім'ям домену. Можна використовувати% 1 - перша частина домену, в такому випадку папки для піддоменів треба буде називати як www, sub1, sub2.

Додатково про ці параметри можна почитати на сайті httpd.apache.org

Отримуємо красу. Щоб створити піддомен - треба лише в корені хоста створити папку з іменем Тараса Шевченка.

Якщо папки немає - 404 помилка випаде і все красиво! ;)

Дивлячись який функціонал вам потрібен =)

На сервері стоїть Apache + Nginx, потрібно щоб всі піддомени посилалися на основний домен, де я php-скриптом буду віддавати те, що повинно бути на піддомені. А-запис створив як треба. У конфіге Apache прописав алиас * .site.com пробував прописувати алиас в конфіги Nginx, піддомени не працюють взагалі ніяк. На сервері стоїть панель ISP, якщо через неї включити підтримку автоподдоменов, то підключається модуль mod_vhost_alias і прописується рядок в конфіги Апача з параметром VirtualDocumentRoot, після цього на сервері помилка 502 поки не відключити новий модуль.

Привіт, вибачте що не по темі, але може хто в курсі як налаштувати. Варто ubuntu server, на ній apache2, треба щоб з хост комп'ютера можна було звернутися до сайту, як це зробити?

Якщо не гратися з ДНС і іншим (тобто робити швидко і локально - я так роблю для дев. Проектів)

1) На Убунту сервері піднімаємо вирт хост (будь-яка назва - vasya-project)

2) На локальній машині, з якої буде звернення до хосту - вносимо в файлик / etc / hosts

Зберігаємо, тепер при ping vasya-project - буде вказаний ІП, і при заході на vasya-project відкриється вирт. хост Убунту сервера

yaap. спасибі велике, допомогло!

На моєму VPS 2 домена (domain1.ru і domain2.ru).

Я хочу створити для кожного піддомени.

З DNS розібрався, а ось з apache немає. У мене поки для них коштує такий пунктик:

В папці / var / www лежить 2 папки: domain1 і domain2

Хочеться зробити так:

Звичайно можна і з ".ru", але що б кожен піддомен мав свою папку