Jump to content

Forbidden и DocumentRoot does not exist


Recommended Posts

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

При запуске 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. в нём собственно и проблема.

Link to post
Share on other sites

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

зачем

documentroot = /

?

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

http://myhost.ru/~user

Link to post
Share on other sites

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

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

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

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

Link to post
Share on other sites

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

<VirtualHost *:80>

DocumentRoot /home/myhost

ServerName myhost.ru

</VirtualHost>

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

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

Link to post
Share on other sites

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 не вижу.

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

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

Link to post
Share on other sites

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

<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

Link to post
Share on other sites

У меня настроен апач с виртуальными хостами так, что получается 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 у апача не было прав на чтение.

Link to post
Share on other sites

Цитата:

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

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

или в .htaccess.

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

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

Link to post
Share on other sites

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

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

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

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...