Мой сервер 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
в вашей конфигурации. См. Документацию Вот Больше подробностей.