Перейти к содержанию

Forbidden и DocumentRoot does not exist


Рекомендуемые сообщения

Добрый день! Возникла непреодолимая проблема -- не могу настроить виртуальный хост для второго Апача.

При запуске httpd пишет DocumentRoot does not exist. А сам виртуальный хост (myhost.ru) -- forbidden.

Вот блок все мои виртуальные хосты. Собственно второй из них не работает. Первый localhost -- отображает всё подряд(тоесть если направить на сервер какой либо адрес то что /var/www/html находится то и будет показываться). Второй myhost.ru -- самый главный вот он то и отказывается работать

NameVirtualHost *:80

<VirtualHost *:80>

DocumentRoot /var/www/html

ServerName localhost

</VirtualHost>

<VirtualHost *:80>

DocumentRoot /home/myhost/internet

ServerName myhost.ru

</VirtualHost>

Права проверял /home/myhost/internet (каждая папка имеет права 755). Интересно, что если поменять "/home/myhost/internet" на "/home/myhost" то при загрузке named ругатьс уже не будет

[root@myhost httpd]# /etc/init.d/httpd restart

Stopping httpd: [ OK ]

Starting httpd: Warning: DocumentRoot [/home/myhost/internet] does not exist [ OK ]

Но и с "/home/myhost" тоже будет forbidden Sad(

Не знаю уже что и делать. Нужно настроить виртуальный хост myhost.ru -- 5 часов ломал голову -- все перепроверил -- не хватает опыта найти решение Sad( На вас одна надежда Smile

P.S. К теме прикреплен виновник топика -- httpd.conf. в нём собственно и проблема.

Ссылка на комментарий
Поделиться на другие сайты

кто владелец /home/myhost/internet ?

зачем

documentroot = /

?

ежели хочется "хоститься" в домашней директории пользователя, то можно использовать /home/user/public_html и получать доступ через

http://myhost.ru/~user

Ссылка на комментарий
Поделиться на другие сайты

владелец /home/myhost/internet myhost:myhost

"documentroot = /" От безвыходности -- я думал в нём проблема -- ошибался.

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

http://myhost.ru/~user мне совсем не к чему. зачем мне подобие на сайт, когда я хочу видеть настоящий сайт с полноценным доменом благодаря виртуальным хостам.

Ссылка на комментарий
Поделиться на другие сайты

dJoni писал(а) Tue, 27 February 2007 16:40

Уже проерял.

все от home до самого низа имеют права 755 Sad

А попробуйте ради эксперемента не 755, а 777.

Ссылка на комментарий
Поделиться на другие сайты

Попробывал -- не помогло. При загрузке ругается:

[root@myhost www]# /etc/init.d/httpd restart

Stopping httpd: [ OK ]

Starting httpd: Warning: DocumentRoot [/home/myhost/internet] does not exist

[ OK ]

А сам http://myhost.ru отображает 403 ошибку(forbidden)

Sad

Ссылка на комментарий
Поделиться на другие сайты

Хорошо. Ладно. Я поставил докрут /home/myhost

<VirtualHost *:80>

DocumentRoot /home/myhost

ServerName myhost.ru

</VirtualHost>

при перезагрузке ошибок не пишет никаких. но 403 опять. Не пойму в чём дело. Права -- 1000% выставлены как надо. где-то подводный камень в httpd.conf

p.s. Если кто настраивал размещение файлов виртуальных серверов в директориях пользователей, скиньте пожалуйста конфиг для примера. Я сравню что я не так сделал -- проанализирую. Т.к. в инете для /home/ виртуальных хостов httpd.conf под Linux не вижу.

Ссылка на комментарий
Поделиться на другие сайты

dJoni писал(а) Tue, 27 February 2007 17:29

Хорошо. Ладно. Я поставил докрут /home/myhost

<VirtualHost *:80>

DocumentRoot /home/myhost

ServerName myhost.ru

</VirtualHost>

при перезагрузке ошибок не пишет никаких. но 403 опять. Не пойму в чём дело. Права -- 1000% выставлены как надо. где-то подводный камень в httpd.conf

p.s. Если кто настраивал размещение файлов виртуальных серверов в директориях пользователей, скиньте пожалуйста конфиг для примера. Я сравню что я не так сделал -- проанализирую. Т.к. в инете для /home/ виртуальных хостов httpd.conf под Linux не вижу.

А в логах что пишет?

Сделайте для этого виртуального хоста свой лог файл и псмотрите что там при обращении к этому виртульному хосту.

Ссылка на комментарий
Поделиться на другие сайты

Удивительно но в логи он ничего вобще не пишет. Вот такой вот блок:

<VirtualHost *:80>

DocumentRoot /home/myhost

ServerName myhost.ru

ErrorLog /home/myhost/error_log

CustomLog /home/myhost/access_log common

</VirtualHost>

Создал файлы

/home/myhost/error_log

/home/myhost/access_log

поставил 777 права. Перезапускаю сервер -- не ругается совершенно, открываю http://myhost.ru -- 403 ошибка. В логах ничего не написано совершенно....

НО в главных логах ошибок апапача написано следущее (это оставляет 1 запуск с 403 ошибкой)

[root@myhost httpd]# cat error_log

[Tue Feb 27 06:49:43 2007] [error] [client *******] (13)Permission denied: access to /index.php denied

[Tue Feb 27 06:49:43 2007] [error] [client *******] (13)Permission denied: access to /index.html denied

[Tue Feb 27 06:49:43 2007] [error] [client *******] (13)Permission denied: access to /index.htm denied

[Tue Feb 27 06:49:43 2007] [error] [client *******] (13)Permission denied: access to /index.php denied

УДИВИТЕЛЬНО...

А вот оставил один лишь index.php в папке пишет уже другое

[root@myhost httpd]# cat error_log

[Tue Feb 27 06:53:06 2007] [error] [client *******] (13)Permission denied: access to /index.php denied

[Tue Feb 27 06:53:06 2007] [error] [client *******] (13)Permission denied: cannot read directory for multi: /home/myhost/

[Tue Feb 27 06:53:06 2007] [error] [client *******] (13)Permission denied: cannot read directory for multi: /home/myhost/

[Tue Feb 27 06:53:06 2007] [error] [client *******] (13)Permission denied: access to /index.php denied

Ссылка на комментарий
Поделиться на другие сайты

У меня настроен апач с виртуальными хостами так, что получается http://user.myhost.com/

Файлы пользователя лежат в /home/user/

Проверьте, есть ли у Вас такие записи:

<IfModule mod_userdir.c>

UserDir public_html

</IfModule>

<Directory /home/*/public_html>

AllowOverride FileInfo AuthConfig

Options All

</Directory>

Ну и непосредственно для юзера:

<VirtualHost 11.22.33.44> #ip-сервера, на котором крутится апач

User user # Имя пользователя

Group wwwusers # Этой группе должны принадлежать пути.

ServerAdmin user@myhost.com

DocumentRoot /home/user/public_html

ServerName user.myhost.com

ServerAlias user.myhost.com www.user.myhost.com

TransferLog /home/user/httpd_logs/access_log

ErrorLog /home/user/httpd_logs/error_log

</VirtualHost>

Ну и ещё раз, на всякий случай проверьте права. У меня аналогичная проблема была из-за того, что на /home/user/public_html права были правильные, а вот на /home/user у апача не было прав на чтение.

Ссылка на комментарий
Поделиться на другие сайты

Цитата:

УДИВИТЕЛЬНО...

нужно в конфиге апача в <DIRECTORY описать права доступа для /home/user/myhost

или в .htaccess.

Если бы у вас все лежало в /var/ то без описания прав на все вложенные директории наложились бы права корневой /var/www/html

а здесь права по умолчанию не накладываюся.

Ссылка на комментарий
Поделиться на другие сайты

ИТАК! Проблема решена!

как бы банально это не звучало, но вопрос был в SuExeс -- ограничение на доступ там было только для папок /var/www/

пришлось размещать всё там, а в пользовательских папках делать линки на директории в /var/www ((((

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
×
×
  • Создать...