nixp.ru v3.0

23 января 2017,
понедельник,
05:26:51 MSK

DevOps с компанией «Флант»
ferry-very-good написал 20 мая 2009 года в 19:54 (575 просмотров) Ведет себя неопределенно; открыл 2 темы в форуме, оставил 12 комментариев на сайте.

Значит такая ситуация, имеется openSUSE 10.2 и apache 2.2, проблема состоит в том что не работают виртуальные хосты, а именно если указать например два виртуальных хоста, то при вызове httpd -S, выводится инфа, о том что мол такие вот вирт. хосты подключены, но при наборе их в браузере выдется ошибка, что мол сервер не найден, работает только локалхост(хост по умолчанию) и мало того в браузере он загружает не те файлы, которые были находятся в DocumentRoot для этого хоста, а те, которые находятся в DocumentRoot для последнего прописаного вирт.хоста.

Прошу помощи для решения этой проблемы. Заранее спасибо

Дмитрий Шурупов

> что мол сервер не найден

Если это локальные хосты, а не нормальные DNS-имена… Прописаны ли локальные хосты в /etc/hosts?

> а те, которые находятся в DocumentRoot для последнего прописаного вирт.хоста.

Конфиги пары вирт. хостов и главного httpd.conf (или как она там будет называться), где подключаются вхосты — в студию.

Кроме того, хорошо бы посмотреть, нет ли в том же httpd.conf каких-то глобальных правил, которые перекрывают те, что заданы для вхостов.

ferry-very-good

щас скину

P.S. пытался добовлять хосты вручную и через графический интерфейс системыЖ без изменений

ferry-very-good

http://webfile.ru/3630780

> Если это локальные хосты, а не нормальные DNS-имена… Прописаны ли локальные хосты в /etc/hosts?

Хосты основаны не на IP а на имени(name-based), при чем тут /etc/hosts ???

Да, всетаки проблема заключалась в том что надо было добавить список хостов в /etc/hosts:

127.0.0.1 test1.ru

спасибо за помощь

ferry-very-good

Но:

> а те, которые находятся в DocumentRoot для последнего прописаного вирт.хоста.

С этим проблема, при загрузке test2.ru грузятся файлы из test1.ru

Дмитрий Шурупов

У вас default-server.conf — крайне странный. Предлагаю ВСЕ его содержимое вытащить в еще один вхост. Только в правильном порядке! Т.е. все (всякие documentroot и т.п.) должно быть внутри хоста. А в default-server.conf оставить строчку:

NameVirtualHost *:80

После чего все вхосты начинать с — так правильнее.

ferry-very-good

Я это делал, не помогло. Может надо днс настроить, ну это я так, т.к. в винде денвер без днс не пашет, мож и здесь так?

Дмитрий Шурупов

Насчет правильных NameVirtualHost *:80 — это для того, чтобы не грузился везде общий documentroot.

А чтобы апач отвечал по другим хостам, днс необязательно настраивать — достаточно в /etc/hosts прописать. Если пингуется потом из консоли по имени хоста — все окей. Надо дальше смотреть на реакцию апача по http и думать, что еще не так.

ferry-very-good

Лан, щас еще раз попробую. Как вариант, закоментирую подключение этого файла и пропишу все в vhosts.conf

ferry-very-good

httpd2: apr_sockaddr_info_get() failed for local

httpd2: Could not reiably determine the servers’s fully qualified domain name, using 127.0.0.1 for ServerName

ferry-very-good

Значит так, докрут работает, но перестал работать пхп, и еще беспокоят эти собщения

Дмитрий Шурупов

> httpd2: apr_sockaddr_info_get() failed for local

Насколько помню, такое происходит, когда в вхостах прописан хост («local»), по которому apache не может определить его IP (нужно что-то вроде «127.0.0.1 local» в /etc/hosts).

Дмитрий Шурупов

> httpd2: Could not reiably determine the servers’s fully qualified domain name, using 127.0.0.1 for ServerName

Не задан ServerName самого сервера (поскольку они теперь указаны только в вхостах). В конец главного конфига (httpd.conf? уже не помню, как назывался), т.е. после инклуда всех вхостов, добавить что-нибудь вроде ServerName localhost (здесь «localhost» — это то, что хранится в /etc/hostname).

ferry-very-good

Все работает, спасибо за помощь

ecobeingecobeing.ru
Экология и вегетарианство на благо всем живым существам Планеты.