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>

3 ответа

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

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

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

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

Если проблема связана только с этой ссылкой, это заставляет меня думать, что это проблема, а не конфигурация 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

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

Другие вопросы по тегам