Как стать автором
Обновить

Комментарии 21

А если вы работаете под OS X с приложением на Rails или любым другим приложением на Rack — вам поможет Pow.
Не только под макось, в группе ror2ru кто-то писал аналог под Linux, работало.
Где можно приобрести такую футболку?
Я вот только-только сайт в том числе под это дело запустил: www.qrmania.ru. Можешь посмотреть.
А для работающих под Windows — есть Денвер.
Для работающих под Windows все тот же bind и все тот же apache.
А велосипеды оставьте школьникам.
Не надо опять разводить холивар linux vs windows.
>Apache неправильно передает DOCUMENT_ROOT в cgi или в mod_php.
>Вместо вычисленного VirtualDocumentRoot он передает DocumentRoot указанный в httpd.conf.
>Имейте это ввиду при использовании этой переменной.

в php.ini пишем
auto_prepend_file = /var/www/vhosts/virtual.prepend.php

в самом virtual.prepend.php пишем
<?php
$http_host = explode('.',$_SERVER['HTTP_HOST']);
$__mod_vhost_alias_fix_doc_root = dirname(__FILE__) . DIRECTORY_SEPARATOR . $http_host[0];

if (is_dir($__mod_vhost_alias_fix_doc_root))
{
$_SERVER['__MOD_VHOST_FIX_OLD_DOCUMENT_ROOT'] = $_SERVER['DOCUMENT_ROOT'];
$_SERVER['DOCUMENT_ROOT'] = $__mod_vhost_alias_fix_doc_root;
}
?>
давно такое сделал себе, только напрягает каждый раз /etc/resolv.conf править, чтобы прописать nameserver 127.0.0.1
Используйте resolvconf.
или хук к dhclient'у (make-resolv-conf).
зачем каждый раз? можно указать единожды, а в опциях добавить что-нибудь типа:

options {
forward only;
forwarders {
ip-addresses-of-resolvers;
};

а для отдельных зон:
zone "example.com {
type master;
forwarders {};
file "/path/to/zonefile";
}


В результате такой сервер будет обрабатывать все запросы к зоне example.com, а остальное слать каким-нибудь, например провайдерским, резолверам.
Если же имеется белый ип, то все еще проще — достаточно просто рекурсию не запрещать.
Под макось есть еще virtualhost-sh.
+1
Красивое решение.
Для себя я делал подобную автоматизацию. Как писалось в статье, путем скрипта.
Решение с DNS ну очень порадовало.
Автору спасибо.
Решение красивое, но апач не показывает субдомены, равно как и просто dev/ (иногда бывает полезно). Я описывал немного другой метод, лишённый этих недостатков.
А если лень возится с bind, то можно поставить dnsmasq и поменять одну строчку.

Для того чтобы не возиться с resolv.conf (для тех кто получает все настройки средствами dhcp) можно:
  1. в named.conf не указывать forwarders вообще
  2. в dhcpclient.conf раскоментировать строку prepend domain-name-servers 127.0.0.1;
НЛО прилетело и опубликовало эту надпись здесь
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории