Назад | Перейти на главную страницу

Символическая ссылка Apache 2 не разрешена или цель ссылки недоступна

Мой сервер apache работает как пользователь foo.

У меня есть несколько приложений Rails в / home / foo / app1 / home / foo / app2. У каждого из них есть vhost

<VirtualHost *:80>
    ServerName app1.foobar.com
    ServerAlias www.app1.foobar.com
    DocumentRoot /var/www/html/app1/current/public
    RailsEnv production
    <Directory /var/www/html/app1/current/public>
    AllowOverride all
     Options -MultiViews
    </Directory>
</VirtualHost>

У меня есть символическая ссылка в / var / www / html / app1:

current -> /home/foo/app1/tmp_20102611

Все права доступа к файлам установлены правильно (пользователь foo группа foo), я могу пройти через файловую систему из оболочки.

SELINUX отключен

Дистрибутив - это CentOs 5.5

Какая из приведенных выше символических ссылок я получаю 403 и запись об ошибке в error_log

Символическая ссылка не разрешена или цель ссылки недоступна: / var / www / html / app1 / current

Когда я создаю символическую ссылку на свое приложение в подкаталоге / var / www / html вместо / home / foo, оно работает.

Как я могу избежать этой ошибки, все еще размещая мое приложение в моем каталоге / home / foo?

У меня была очень похожая проблема. Как и вы, я не мог следить за символическими ссылками в моем домашнем каталоге, хотя у меня были включены FollowSymlinks, плюс я мог общаться с моим пользователем http, но размещение символических ссылок в / srv / http работало нормально ... Я исправил это с помощью chmod ' сделать мой домашний каталог исполняемым:

chmod +x /home/mgalgs

И это сделало это для меня! Может попробовать

chmod +x /home/foo/app1

Вы можете попробовать установить опцию

Options +FollowSymLinks 

в вашей конфигурации. См. Документацию Вот Больше подробностей.