Я настроил 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?
Пытаться cd
ing в папку с помощью пользователя Apache,
Скорее всего, это разрешения вашего домашнего каталога или разрешение где-то на верхнем уровне
su apache
cd home
cd user
cd www
cd site.test.co.uk
Если не получится, нужно добавить apache
к группе user
и убедитесь, что каталог имеет разрешение на чтение и запись группы drwxr-x---
или 750
chmod -R 750 /home/user