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

Конфигурация Apache для разрешения веб-сайта, который является символической ссылкой на каталог пользователей

Я настроил httpd.conf в Apache (httpd-2.2.17-1.fc14.x86_64) на FC14, чтобы он указывал на символическую ссылку, которая существует в домашнем каталоге пользователя, добавив следующую конфигурацию в httpd.conf.

<VirtualHost *:80>
    ServerName site.test.co.uk
    DocumentRoot /var/www/html/site.test.co.uk
    <Directory "/home/userA/www/site.test.co.uk">
            AllowOverride None
            Options Indexes FollowSymLinks MultiViews
            Order allow,deny
            allow from all
    </Directory>
</VirtualHost>

Затем я использовал команду

ln -s /var/www/html/site.test.co.uk /home/user/www/site.test.co.uk

Я предоставил пользователю userA доступ к структуре каталогов и владению папками в домашнем каталоге (я вошел в систему как root). Я также предоставил группе apache доступ к группе userA и перезапустил httpd.

У меня возникла проблема с тем, что при просмотре сайта site.test.co.uk я получаю ошибку 403 Forbidden?

Я могу перейти в каталог через символическую ссылку, и это работает нормально, но apache, похоже, не может получить доступ к символической ссылке.

Заранее спасибо.

Ваш Options Директива указывает Apache следовать символическим ссылкам внутри этого каталога, в то время как вы пытаетесь следовать символической ссылке на этот каталог. Вам нужно будет установить эту директиву в каталоге над символической ссылкой, хотя я не уверен, работает ли это для docroot.

Вы уже настраиваете место назначения символической ссылки непосредственно в файле конфигурации Apache, так почему бы просто не установить это как docroot?

Пытаться cding в папку с помощью пользователя Apache,

Скорее всего, это разрешения вашего домашнего каталога или разрешение где-то на верхнем уровне

su apache
cd home
cd user
cd www
cd site.test.co.uk

Если не получится, нужно добавить apache к группе user и убедитесь, что каталог имеет разрешение на чтение и запись группы drwxr-x--- или 750

chmod -R 750 /home/user