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

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

Почему нельзя разработчику запускать проекты на localhost:8080 и т. д.?
Можно и так, но имя хоста мне кажется запомнить проще, чем номер порта. Впрочем, конечно, дело вкуса.
Ну просто, тогда не надо делать пункты от 1 до 4 :-).
Можно еще делать 127.0.0.1, 127.0.0.2 и т.д.
Я предпочитаю использовать hosts. Объясню почему.

Разные создатели разных CMS и скриптов по-разному подходят к вопросам проектирования своих систем. Сталкивался уже с тем, что при переносе сайта с тестового домена на основной вдруг оказывалось, что надо бегать по разным конфигам или сохраненным в базе настройкам и все переписывать. Это так мы разок попали, правя сайт, сделанный какими-то умельцами.

А так — выложил на локалку или тестовый сервак с идентичной тому, что в продакшене будет, конфигурацией — и работай. И поисковики не захавают тестовую площадку в свои индексы (тоже бывало).

Возни же с hosts куда меньше.
Можно настроить локальный днс, а в hosts писать исключения. Для кучи проектов идея супер. Давно сам хотел разобраться с локальным ДНС'ом.
Если нужен локальный DNS — то проще, по-моему, не нести в систему весь большой bind, а обойтись каким-нибудь dnsmasq.
если бы вы написали об этом развертывани пост, я был бы вам благодарен.
Тут всё будет сильно зависеть от задач.

«Развертывание» у dnsmasq заключается в установке пакета + создании файлика /etc/hosts.что-нибудь, аналогичному по синтаксису /etc/hosts, а потом прописывании

addn-hosts=/etc/hosts.что-нибудь

в /etc/dnsmasq.conf. Весь вопрос в составлении собственно этого файлика с хостами по проектам…
Ну осознание того, что на компе есть аж собственный DNS — наверное, да, супер. Но куда как проще сделать утилитку, которая будет в hosts писать. При этом работать этот метод будет везде и у всех, независимо от того, имеют ли они доступ к самопальному DNS, поднят ли этот DNS и так далее.
Утилитка — это конечно хорошо. Но написать подобную утилиту ничуть не проще, чем прописать конфиг в DNS-сервере. Другое дело, если утилитка будет наподобие денверовской — сканировать папки и создавать сразу и в Апаче виртуальные хосты. Избавить от разработчика от необходимости править конфиги вообще раз и навсегда — хорошая затея. Но тогда остается открытым вопрос с поддержкой wildcard — в нем иногда появляется необходимость, если человек работает над крупными проектами.
Спасибо. В необходимости wildcard на самом деле всё и началось, тестировать частные случаи приходилось через поход в hosts. Я уже об этом забыл напрочь, привык работать с собственным доменом.
echo «127.0.0.1 someproject.ru» >> /etc/hosts?
Не хватает только утилиты для автоматического прописывания/удаления записи ДНС, виртуального хоста apache (можно через mod_macro) и создание базы с пользователем в mysql. Есть конечно разные панели управления, но уж очень они громоздки и любят перекраивать систему под себя.
Поднимал у себя на локальной машине DNS для разработки. Только у меня мотивы были другие — в ряде проектов требуется wildcard-поддомены. Для простого проекта, который крутится на одном домене прописать в /etc/hosts одну строчку несложно. Но когда у на сайте должно быть что-то вроде company1.myproject.lh, company2.myproject.lh и т. д. до бесконечности (или как поддомены профилей пользователей здесь — на хабре), то /etc/hosts прописывать уже неудобно.
С одной стороны для простых проектов практически нет разницы, прописывать домен в /etc/hosts или в конфиге DNS, с другой — свобод и возможностей DNS дает больше.
Кстати, насчет граблей с NetworkManager, когда resolv.conf прописывается.
Если нет возможности или не хочется прописывать DNS ручками в параметрах IPv4, а хочется так и оставить все полностью на DHCP, можно поступить следующим образом:
Запускаем любимый текстовый редактор с правами суперпользователя (sudo gedit, например) и открываем файлик /etc/dhcp3/dhclient.conf. Далее нам нужно раскомментировать (или добавить, если отсутствует) строку: prepend domain-name-servers 127.0.0.1;
НЛО прилетело и опубликовало эту надпись здесь
Самый удобный способ для project.ru:
командный сервер: dev.project.ru
локальный сервер разработчика: developername.dev.project.ru
Спасибо, отличная статья.
Ps. Те кто минусуют не шарят.
Спасибо, рад что полезно.
В тему, вот тоже статейка:
bestblog.name/2009/10/configure-dns-server-bind9/
Более-менее то же самое, только DNS ставится прямо на девсервер (один на всю комманду, что целесообразнее имхо). Сам ip девсервера лучше прописать как самый первый DNS в настройках роутера, так легче чем каждому компу отдельно прописывать.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории