Форум русскоязычного сообщества Ubuntu


Считаете, что Ubuntu недостаточно дружелюбна к новичкам?
Помогите создать новое Руководство для новичков!

Автор Тема: 2 IP для одного домена. Как правильно настроить httpd.conf ???  (Прочитано 3090 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн illia

  • Автор темы
  • Новичок
  • *
  • Сообщений: 43
    • Просмотр профиля
Привет! В общем настроил я зоны так

@ A 192.168.0.1
* A 192.168.0.1

и

www A 192.168.0.2
Теперь возник вопрос как правильно указать их в httpd.conf
так:

1. <VirtualHost 192.168.0.1 192.168.0.2>
ServerName domain.ru
ServerAlias *.domain.ru
DocumentRoot "/home/user/domain.ru"
</VirtualHost>

или каждый по отдельности

2.<VirtualHost 192.168.0.1>
ServerName domain.ru
DocumentRoot "/home/user/domain.ru"
</VirtualHost>
и
<VirtualHost 192.168.0.2>
ServerName www.domain.ru
DocumentRoot "/home/user/domain.ru"
</VirtualHost>


а так же интересует как правильно указать в /etc/hosts

192.168.0.1 domain.ru
192.168.0.2 domain.ru

или так

192.168.0.1 domain.ru
192.168.0.2 www.domain.ru

Спасибо!

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28511
    • Просмотр профиля
NameVirtualhost *

<VirtualHost *>
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн Mam(O)n

  • Старожил
  • *
  • Сообщений: 5855
    • Просмотр профиля
Обрати внимание на структуру каталога с настройками /etc/apache2. Особенно на каталоги sites-available и sites-enabled. Так вот. В sites-available хранятся файлы с настройками виртуалхостов, а в папке sites-enabled - симлинки на файлы-настроек. Создай в sites-available файлик с именем domain.ru(для удобства я всегда их называю по основному имени домена) со следующим содержанием:
<VirtualHost *:80>
  ServerName domain.ru
  ServerAlias www.domain.ru
  DocumentRoot "/home/user/domain.ru"
</VirtualHost>
После, дай команду sudo a2ensite domain.ru и в папке sites-enabled появится симлинк на этот файл с настройками. Затем перегрузи апач. А, если поднимал DNS и все имена резолвятся через него, то в хостс ненужно ничего прописывать.

Оффлайн illia

  • Автор темы
  • Новичок
  • *
  • Сообщений: 43
    • Просмотр профиля
Обрати внимание на структуру каталога с настройками /etc/apache2. Особенно на каталоги sites-available и sites-enabled. Так вот. В sites-available хранятся файлы с настройками виртуалхостов, а в папке sites-enabled - симлинки на файлы-настроек. Создай в sites-available файлик с именем domain.ru(для удобства я всегда их называю по основному имени домена) со следующим содержанием:
<VirtualHost *:80>
  ServerName domain.ru
  ServerAlias www.domain.ru
  DocumentRoot "/home/user/domain.ru"
</VirtualHost>
После, дай команду sudo a2ensite domain.ru и в папке sites-enabled появится симлинк на этот файл с настройками. Затем перегрузи апач. А, если поднимал DNS и все имена резолвятся через него, то в хостс ненужно ничего прописывать.

а в httpd.conf не пойдет? у меня там все настройки виртуалхостов хранятся, работает все ок, просто сейчас задался вопросом пренести www.domain.ru на другой ip. от domain.ru вот и спрашиваю как правильно оформить  :)

DNS я поднял, но помоиму днс посылает просто на нужный ип, а на сервере уже посылает в нужную папку, или я не правильно понимаю систему? ))

AnrDaemon это я настроил вот так

NameVirtualHost 192.168.0.1
NameVirtualHost 192.168.0.2
« Последнее редактирование: 26 Декабря 2009, 23:52:15 от illia »

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28511
    • Просмотр профиля
Пойти-то пойдёт, но делать так не надо.
Как надо делать - тебе сказали.

Пользователь решил продолжить мысль 26 Декабря 2009, 23:53:12:
AnrDaemon это я настроил вот так

NameVirtualHost 192.168.0.1
NameVirtualHost 192.168.0.2

Зачем?
« Последнее редактирование: 26 Декабря 2009, 23:53:12 от AnrDaemon »
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн Mam(O)n

  • Старожил
  • *
  • Сообщений: 5855
    • Просмотр профиля
DNS я поднял, но помоиму днс посылает просто на нужный ип, а на сервере уже посылает в нужную папку, или я не правильно понимаю систему? ))
Правильно. Днс резолвит по имени соответствующий ип адрес. А далее разруливает апач по параметру host в http заголовке. А /etc/hosts используется, как локальная альтернатива днс. Т.е. машина при резолвинге имени первым делом смотрит в /etc/hosts, и если там нет имени, то посылает запрос на dns сервер. Так, если всё прописано на dns, тогда в хостс не надо дублировать информацию.

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28511
    • Просмотр профиля
машина при резолвинге имени первым делом смотрит в /etc/hosts, и если там нет имени, то посылает запрос на dns сервер. Так, если всё прописано на dns, тогда в хостс не надо дублировать информацию.

<pedantic mode on>Ну ващет это зависит от настроек в nsswitch.conf<pedantic mode off>
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн illia

  • Автор темы
  • Новичок
  • *
  • Сообщений: 43
    • Просмотр профиля
DNS я поднял, но помоиму днс посылает просто на нужный ип, а на сервере уже посылает в нужную папку, или я не правильно понимаю систему? ))
Правильно. Днс резолвит по имени соответствующий ип адрес. А далее разруливает апач по параметру host в http заголовке. А /etc/hosts используется, как локальная альтернатива днс. Т.е. машина при резолвинге имени первым делом смотрит в /etc/hosts, и если там нет имени, то посылает запрос на dns сервер. Так, если всё прописано на dns, тогда в хостс не надо дублировать информацию.

я в хостс просто указал 192.168.0.1 domain.com, а если www.domain.com будет на другом ип его так же надо указать?

192.168.0.1 domain.com
192.168.0.2 www.domain.com

так? или достаточно

192.168.0.1 domain.com
192.168.0.2 domain.com

Пользователь решил продолжить мысль 27 Декабря 2009, 12:02:57:
Пойти-то пойдёт, но делать так не надо.
Как надо делать - тебе сказали.

Пользователь решил продолжить мысль 26 Декабря 2009, 23:53:12:
AnrDaemon это я настроил вот так

NameVirtualHost 192.168.0.1
NameVirtualHost 192.168.0.2

Зачем?

А как правильнее? просто * т.е. NameVirtualhost * <VirtualHost *>

Во всех манах по разному пишут я уже запутался  :)
« Последнее редактирование: 27 Декабря 2009, 12:02:57 от illia »

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28511
    • Просмотр профиля
Правильно - по-всякому.
Я даю систему, которая реально работает. У тебя же не стоит задача НЕ давать доступа к определенному сайту на других IP?
Ну и не мучайся.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн illia

  • Автор темы
  • Новичок
  • *
  • Сообщений: 43
    • Просмотр профиля
Согласен, так и сделаю. Спасибо!

Теперь возник другой вопрос, как настроить DNS что бы domain.com отправлял на 192.168.0.1, а www.domain.com отправлял на 192.168.0.2

делаю так

@ IN A 192.168.0.1
www IN A 192.168.0.2

всеравно www.domain.com посылает на 192.168.0.1

Оффлайн Mam(O)n

  • Старожил
  • *
  • Сообщений: 5855
    • Просмотр профиля
Увеличивать серийный номер зоны при правке не забываешь? В /etc/hosts нет ли записей, которые мешают? dig @dns_server domain.com и dig @dns_server www.domain.com правильно показывают?

Оффлайн illia

  • Автор темы
  • Новичок
  • *
  • Сообщений: 43
    • Просмотр профиля
Спасибо! Разобрался помог перенос настроек виртуалхостов из httpd.conf в sites-available. Теперь все работает, спасибо!

 

Страница сгенерирована за 0.029 секунд. Запросов: 20.