Перейдите к Sysinternals и загрузите procmon. Необходимо будет знать название exe, что услуга работает как. Затем можно использовать фильтр в procmon, чтобы только перечислить те операции, сгенерированные тем приложением.
Необходимо теперь смочь пробежать список и определить, которые подают эту заявку, использует (ПРИМЕЧАНИЕ: После нескольких минут входа можно использовать меню файла, чтобы прекратить контролировать),
Весь комплект Sysinternal может быть загружен как единственный zip-файл, и можно найти другой utils в наборе, который может быть полезным.
Я буду держать пари, что некоторый каталог выше того, к которому Вы хотите получить доступ, не имеет полномочий позволить Apache пересекать его. Станьте пользователем, которого Apache выполняет как (sudo -i -u apache
или безотносительно), затем попытайтесь измениться в каталог интереса и ls
это. Если Вы не можете (как ожидалось), затем попытаться войти в каталоги выше его, один за другим, пока каждый не впускает Вас. Подкаталог этого - то, что тот, который должен иметь o+x
набор. Пена, промывка, повторяется как требуется.
Использовать +FollowSymlinks
Alias /foo /Users/someone/Documents/foo/html
<Directory "/Users/someone/Documents/foo/html">
Options +Indexes +FollowSymLinks +MultiViews
Order allow,deny
Allow from all
</Directory>
Убедитесь, что хранилище файлов не включено. У меня такая же проблема. Я пробовал все, что мог найти. Ничего не получилось. Но после часа попыток разобраться в этом я вспомнил, что у меня было включено хранилище файлов.
Отключение его решило проблему.
Проверьте право собственности на символическую ссылку. Поскольку вы используете Mac OS X, владельцев символических ссылок можно изменить.
В / Library / WebServer / Documents
выполните ls -l
Если ваша символическая ссылка на ~ / Documents / foo / html
называется foo
и имеет разрешения типа
lrwxr-xr-- 1 root wheel 27 2 Nov 17:00 foo -> /Users/username/Documents/foo/html
. Затем по умолчанию в OS X Apache запускается от имени пользователя _www и группы _www, поэтому в вышеупомянутом случае он не сможет перейти по символической ссылке на ~ / Documents / foo / html
Запустите man 8 chown
на своем системном терминале или посмотрите в Интернете man chown
. Вы увидите, что использование параметра -h
изменит владельца сама символическая ссылка, а не файл, на который она указывает (его источник).
Затем вы можете сделать что-то вроде
sudo chown -h :_www foo
. Это изменит simlink на
lrwxr-xr-- 1 root _www 27 2 Nov 17:02 foo -> /Users/username/Documents/foo/html
, и группа Apache _www сможет пройти по ссылке.