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

Apache не показывает и не следует SymLinks

В Linux Fedora 15 Apache не следует символическим ссылкам, и они не отображаются в индексе каталогов ... Вы можете мне помочь, почему?

Просто упомяну, что в httpd.conf у меня есть:

<Directory />
    Options FollowSymLinks
</Directory>

Кроме того, пользователь и группа, определенные в httpd.conf, являются владельцами соответствующих каталогов, в которых сохраняется веб-приложение ...

Вы можете сказать мне, что я делаю не так? Заранее спасибо!!!

ОБНОВИТЬ: Возникла проблема из-за того, что цель находится на другом жестком диске?

ОБНОВЛЕНИЕ 2: он следует по символическим ссылкам, но по этой ссылке по какой-то причине не переходят. Он указывает на каталог на другом жестком диске.

ОБНОВЛЕНИЕ 3: после первого направления нет «ничего особенного», то есть:

<Directory "/var/www/html">
    Options Indexes FollowSymLinks
    AllowOverride All
    Order allow,deny
    Allow from all
</Directory>

Убедитесь, что Apache также имеет разрешение на чтение в каталоге, на который указывает ссылка. Недостаточно дать разрешение на чтение для самой ссылки.

Если только эта ссылка является проблемой, это заставляет меня думать, что проблема заключается в ссылке, а не в конфигурации Apache. Вы уверены, что он не сломан или целевой диск установлен неправильно? Для файла на отдельном диске ls -l должен показать, например:

-rw-r--r-- 1 user group size date time link_name -> /drive/mount/point/path/to/file/file_name

Если это не так, вам следует переделать ссылку, используя:

rm link_name
ln -s /drive/mount/point/path/to/file/file_name link_name

Если ссылка указывает в нужное место, возможно, целевой диск не смонтирован. Переустановите его и попробуйте еще раз. Удачи!

Я знаю, что очень опаздываю на этот вопрос, но, возможно, я смогу помочь кому-то другому. У меня была та же проблема, и я наконец ее решил: вам нужно изменить разрешения всех родительских каталогов цели вашей символической ссылки. В моем случае - например, - ссылка указывала на / run / media / username / device / subdirectory / target (я использую Arch Linux). Поэтому мне нужно было изменить права доступа к «имени пользователя» и «подкаталогу» (остальные должны работать по умолчанию):

setfacl -m "u:http:r-x" /run/media/username/device/subdirectory
setfacl -m "u:http:r-x" /run/media/username

Для последнего вам нужны права root (и, конечно же, http - это пользователь httpd, определенный в httpd.conf).