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