Apache перестал следовать символическим ссылкам - PullRequest
2 голосов
/ 17 сентября 2011

Вчера у меня было несколько сайтов, работающих без проблем. Сегодня ничего не открывается, и у меня есть полный журнал:

Symbolic link not allowed or link target not accessible: /var/www

Понятия не имею, что я сделал (я никак не открыл / не изменил свой файл httpd.conf), но, очевидно, это было что-то плохое. Я запускаю виртуальные хосты, а корневые каталоги находятся в ~/Developer/www. Чтобы обмениваться файлами конфигурации на нескольких компьютерах Mac с разными домашними каталогами, я создал символическую ссылку /var/www, которая указывает на ~/Developer/www.

Все конфигурационные файлы virtualhost указывают свои DocumentRoot на /var/www/project_directory, а в его собственном корневом каталоге есть опция FollowSymLinks:

<VirtualHost *:80>
  ServerName   localhost
  ServerAlias  localhost.local localhost.dev
  DocumentRoot /var/www/_localhost

  <Directory /var/www/_localhost>
    Options FollowSymLinks Indexes
    AllowOverride None
    Order deny,allow
    Allow from all
  </Directory>
</VirtualHost>

В моем главном файле httpd.conf также включена опция FollowSymLinks для /:

<Directory />
  Options FollowSymLinks
  AllowOverride None
  Order deny,allow
  Deny from all
</Directory>

Любая идея, что я мог бы сделать, чтобы помешать Apache понять символические ссылки или, еще лучше, что я могу сделать, чтобы вернуть его в нужное русло?

Спасибо.

UPDATE:

Я должен добавить, что все каталоги в «стеке» исполняются всеми пользователями, и что это собственная установка Apache на OS X Lion.

1 Ответ

5 голосов
/ 17 сентября 2011

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

...