URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID8
Нить номер: 5864
[ Назад ]

Исходное сообщение
"Apache + теряются виртуальные хосты"

Отправлено hedge007 , 09-Июл-08 00:20 
Возникла такая проблема с Apache 2.2.
Есть несколько доменов на одном сервере. В апаче для них созданы виртуальные хосты вида:
<VirtualHost IP:80>
    ServerAdmin xxx
    DocumentRoot /var/sites/xxx
    ServerName www.domain.ru
    ServerAlias domain.ru
    ErrorLog yyy
    CustomLog zzz
</VirtualHost>
Далее запускаю апач. Ошибок никаких ни в логах ни на консоль, т.е. вроде все работает. Начинаю проверять как сайты загружаются в браузере. Т.е. делаю последовательный просмотр:
domain.ru
www.domain.ru
domain1.ru
www.domain1.ru
и т.д.
И обязательно на каком-нибудь шаге вылетает на корневую директорию апача, либо на 404 ошибку, если пробую обращаться к внутреннему ресурсу.
Перезапуск апача лечит проблему, но опять же она может возникнуть для любого другого сайта в списке (или нескольких сайтов).
Более того, если даже все сайты нормально открываются сразу, то чуть позже (через день, два) какой-либо из них может отпасть и получу ту же проблему, что и описал выше.

Куда копать, в чем может быть проблема?


Содержание

Сообщения в этом обсуждении
"Apache + теряются виртуальные хосты"
Отправлено Felix , 09-Июл-08 05:46 
>[оверквотинг удален]
>и т.д.
>И обязательно на каком-нибудь шаге вылетает на корневую директорию апача, либо на
>404 ошибку, если пробую обращаться к внутреннему ресурсу.
>Перезапуск апача лечит проблему, но опять же она может возникнуть для любого
>другого сайта в списке (или нескольких сайтов).
>Более того, если даже все сайты нормально открываются сразу, то чуть позже
>(через день, два) какой-либо из них может отпасть и получу ту
>же проблему, что и описал выше.
>
>Куда копать, в чем может быть проблема?

В недостаточно хорошем и вдумчивом изучении документации по Apache, в части использования виртуальных хостов. Внимательно изучаем как конфигурировать виртуальные хосты:
а) основанные на именах
б) основанные на портах.
Вот ссылочка http://httpd.apache.org/docs/2.2/vhosts/


"Apache + теряются виртуальные хосты"
Отправлено hedge007 , 09-Июл-08 13:23 
>В недостаточно хорошем и вдумчивом изучении документации по Apache, в части использования
>виртуальных хостов. Внимательно изучаем как конфигурировать виртуальные хосты:
>а) основанные на именах
>б) основанные на портах.
>Вот ссылочка http://httpd.apache.org/docs/2.2/vhosts/

Спасибо, конечно, за ссылку, но не сильно помогло. Если Вы прекрасно понимаете в чем заключается проблема, то может быть все же скажете, где я не прав и что я не так делаю, а не будете тыкать носом в документацию? Спасибо.


"Apache + теряются виртуальные хосты"
Отправлено Felix , 09-Июл-08 15:08 
>>В недостаточно хорошем и вдумчивом изучении документации по Apache, в части использования
>>виртуальных хостов. Внимательно изучаем как конфигурировать виртуальные хосты:
>>а) основанные на именах
>>б) основанные на портах.
>>Вот ссылочка http://httpd.apache.org/docs/2.2/vhosts/
>
>Спасибо, конечно, за ссылку, но не сильно помогло. Если Вы прекрасно понимаете
>в чем заключается проблема, то может быть все же скажете, где
>я не прав и что я не так делаю, а не
>будете тыкать носом в документацию? Спасибо.

Да помочь то без проблем. Только как мне узнать, есть ли в конфигах виртуальных хостов директива NameVirtualHost *:80, или нет? И во всех ли виртуальных хостах прописана директива ServerAlias domain.ru?
Я ж не телепат .. А догадываться о содержании конфигурационного файла с виртуальными хостами в данном случае - пустое занятие.

P.S. Судя по приведенному конфигу, виртуальные хосты основаны на именах. Отключите все виртуальные хосты, включите логи на отладку и последовательно проверяйте каждый хост.


"Apache + теряются виртуальные хосты"
Отправлено hedge007 , 09-Июл-08 16:18 
>Да помочь то без проблем. Только как мне узнать, есть ли в
>конфигах виртуальных хостов директива NameVirtualHost *:80, или нет? И во всех
>ли виртуальных хостах прописана директива ServerAlias domain.ru?
>Я ж не телепат .. А догадываться о содержании конфигурационного файла с
>виртуальными хостами в данном случае - пустое занятие.
>
>P.S. Судя по приведенному конфигу, виртуальные хосты основаны на именах. Отключите все
>виртуальные хосты, включите логи на отладку и последовательно проверяйте каждый хост.
>

Так.. Есть NameVirtualHost *:80 и NameVirtualHost *:443. Вместо * указан конкретный IP, но думаю это роли не играет. Все виртуальные хосты описаны, как приведено выше. Для каждого подобным образом прописывается алиас. Да, виртуальные хосты основаны на именах. Какая еще информация нужна?
Вопрос в том, что мне искать в логах? Я ведь говорю они непонятно по какому принципу отпадывают.. один отпадет, перезапускаю апач - работает, но уже не работает другой.

P.S. может быть меня уже глючит с этим, но оставлял специально не рабочий хост, что бы попробовать с ним поработать.. сейчас он работает!



"Apache + теряются виртуальные хосты"
Отправлено Felix , 10-Июл-08 06:12 
>[оверквотинг удален]
>но думаю это роли не играет. Все виртуальные хосты описаны, как
>приведено выше. Для каждого подобным образом прописывается алиас. Да, виртуальные хосты
>основаны на именах. Какая еще информация нужна?
>Вопрос в том, что мне искать в логах? Я ведь говорю они
>непонятно по какому принципу отпадывают.. один отпадет, перезапускаю апач - работает,
>но уже не работает другой.
>
>P.S. может быть меня уже глючит с этим, но оставлял специально не
>рабочий хост, что бы попробовать с ним поработать.. сейчас он работает!
>

Еще раз ... подсказка ..
Хосты виртуальные? В каждом хосте прописана своя корневая директория?
А алиас в каждом хосте такой domain.ru ? Или для каждого хоста свой?


"Apache + теряются виртуальные хосты"
Отправлено hedge007 , 10-Июл-08 09:29 
>Еще раз ... подсказка ..
>Хосты виртуальные? В каждом хосте прописана своя корневая директория?
>А алиас в каждом хосте такой domain.ru ? Или для каждого хоста
>свой?

хм.. хосты виртуальные, каждый со своей директорией. алиас для каждого свой, просто если для хоста прописан сервер как www.domain.ru, то алиас задан как domain.ru, для второго домена соответственно www.domain1.ru и domain1.ru и т.д.


"Apache + теряются виртуальные хосты"
Отправлено Felix , 11-Июл-08 07:40 
>>Еще раз ... подсказка ..
>>Хосты виртуальные? В каждом хосте прописана своя корневая директория?
>>А алиас в каждом хосте такой domain.ru ? Или для каждого хоста
>>свой?
>
>хм.. хосты виртуальные, каждый со своей директорией. алиас для каждого свой, просто
>если для хоста прописан сервер как www.domain.ru, то алиас задан как
>domain.ru, для второго домена соответственно www.domain1.ru и domain1.ru и т.д.

И что, domain1.ru, domain2.ru, domainN.ru являются официально зарегистрированными доменами?
Оставьте алиас только в одном виртуальном хосте, в остальных -- уберите совсем. В конце концов посмотрите примеры конфигурации, по ссылке, что я дал раньше.


"Apache + теряются виртуальные хосты"
Отправлено angra , 11-Июл-08 10:24 
>И что, domain1.ru, domain2.ru, domainN.ru являются официально зарегистрированными доменами?

А какая апачу разница?
>Оставьте алиас только в одном виртуальном хосте, в остальных -- уберите совсем.

Зачем? Апач прекрасно работает с множественными алиасами и несуществующими доменами. Однако понять в чем проблема у автора топика без полного конфига тяжело, а полный лично мне лень будет читать :)
Я бы порекомендовал максимально упростить конфиг, то есть взять дефолтный и создать виртуал хосты используя в них только DocumentRoot, ServerName, ServerAlias. Если в таком варианте будет работать, то постепенно добавляя другие директивы найти в чем проблема. Если не заработает, то попробовать с другой минорной версией апача, может наткнулись на баг.

P.S. На всякий случай напомню, что стоит глянуть вывод -t -D DUMP_VHOSTS, может изначально есть проблема.


"Apache + теряются виртуальные хосты"
Отправлено hedge007 , 11-Июл-08 13:53 
>И что, domain1.ru, domain2.ru, domainN.ru являются официально зарегистрированными доменами?

являются.

>Оставьте алиас только в одном виртуальном хосте, в остальных -- уберите совсем.
>В конце концов посмотрите примеры конфигурации, по ссылке, что я дал
>раньше.

мне нужно, что бы везде были алиасы и я мог обращаться к домену как с префиксом www, так и без него.



"Apache + теряются виртуальные хосты"
Отправлено SergDN , 16-Сен-08 00:41 
>[оверквотинг удален]
>и т.д.
>И обязательно на каком-нибудь шаге вылетает на корневую директорию апача, либо на
>404 ошибку, если пробую обращаться к внутреннему ресурсу.
>Перезапуск апача лечит проблему, но опять же она может возникнуть для любого
>другого сайта в списке (или нескольких сайтов).
>Более того, если даже все сайты нормально открываются сразу, то чуть позже
>(через день, два) какой-либо из них может отпасть и получу ту
>же проблему, что и описал выше.
>
>Куда копать, в чем может быть проблема?

Проблема, скорее всего, не в конфигурации виртуальных хостов Apache, а в сборках его внешних модулей. Например, на FreeBSD 7 эта ситуация типовая. Лечится корректной сборкой с правильными (по обстоятельствам :) опциями конфигурирования и тюнингом ядра.


"Apache + теряются виртуальные хосты"
Отправлено Аноним , 17-Сен-08 01:14 

>Например, на FreeBSD 7 эта ситуация типовая. Лечится
>корректной сборкой с правильными (по обстоятельствам :)
>опциями конфигурирования и тюнингом ядра.

Ну да - все не в ногу, а ты в ногу! :-)
У меня вся ферма уже на 7.0р4 и таких проблем не встречал. И не только я.
Да и была бы такая проблема - давно бы взвыли в форумах, чего не наблюдается.

ППС: для особо талантливых - автор мессаги ОС не указывал, може он апачЪ под винду крутит ...


"Apache + теряются виртуальные хосты"
Отправлено Аноним , 17-Сен-08 01:45 
>ППС: для особо талантливых

Ну и чтобы Максим не зачситал менф флеймером - по теме:

hedge007 - попробуйте таки:

1) in httpd.conf

Listen IP:80
NameVirtualHost *:80
<VirtualHost *>
   ServerName www.domain.ru
   ServerAlias domain.ru
   DocumentRoot /www/domain
</VirtualHost>

<VirtualHost *:80>
   ServerName www.domain1.ru
   ServerAlias domain1.ru
   DocumentRoot /www/domain1
</VirtualHost>


2) Убедись что DNS возвращает тот самый IP для всех четырех имён.

3) Проверь от какого юзера\гуппы работает апачЪ и хватает ли ему прав для указанных DocumentRoot'ов (Err:404)

Ну и расскажи чего вышло :)


"Apache + теряются виртуальные хосты"
Отправлено Дмитрий , 04-Май-09 02:22 
У меня такая же проблема!!
не знаю кто поможет...
нашел несколько форумов... ни в одном не решили эту проблему!!!
а Вы говорите взвыли бы.... я уже взвыл!

есть 2 виртуальных хоста.
файл hosts отредактирован соотеветсвенно пока не настроен ДНС.

какой хост не набирай в браузере все равно попадаешь на один.

сразу даю фрагмент файла


<VirtualHost *>
DocumentRoot "/home/user/data/aaa.ru/WWW"
ServerName aaa.ru
<Directory "/home/user/data/aaa.ru/WWW">
allow from all
Options +Indexes
</Directory>
</VirtualHost>

<VirtualHost *>
DocumentRoot "/home/user/data/bbb.ru/WWW"
ServerName bbb.ru
<Directory "/home/user/data/bbb.ru/WWW">
allow from all
Options +Indexes
</Directory>
</VirtualHost>


Алиасы пробовал добавлять ... не помогло ((

Мой софт Мандрива + Апач 2 + WebMin


Помогите!!!


"Apache + теряются виртуальные хосты"
Отправлено angra , 05-Май-09 10:34 
Забыли про <NameVirtualHost *> перед всем этим