Почему я не могу заменить папку Apache2 /www символической ссылкой?

Я установил Apache 2.4.6 на Ubuntu 13.10 и поместил несколько html-файлов в /var/www/, базовая папка по умолчанию. Затем мне нужно было поделиться этими HTML-файлами в синхронизированной папке Dropbox, поэтому я переместил www папку в папку Dropbox и заменил ее символической ссылкой с тем же именем. Обратите внимание, что папка www в Dropbox имеет разрешение на чтение. Теперь, когда я обновляю свой сайт, Chrome читает

У вас нет разрешения на доступ / на этом сервере

Почему не движется www папка с моей синхронизированной папкой Dropbox работает (после замены исходной папки символической ссылкой)? Я не думал, что Apache заметит разницу между ссылкой на папку www и фактической www папка. И как мне заставить Apache следовать символической ссылке www и правильно отображать? Это проблема Dropbox или проблема с Apache?

Также мой /etc/apache2/apache2.conf В файле изначально сказано:

<Directory /> 
Option FollowSymLinks 
AllowOverride None 
Require all denied 
</Directory>

И изменив это на...

<Directory /> 
Option +FollowSymLinks 
AllowOverride None 
Require all denied 
</Directory>

(Добавление плюса) не имеет никакого значения.

Ох, и apache2 -k рестарт выкидывает меня:

"Конфигурационная переменная ${APACHE_LOG_DIR} не определена"

а также:

"Неверный каталог Mutex в файле аргументов:${APACHE_LOCK_DIR}"

Перезапуск и остановка / запуск не работали. Кроме того, изменение разрешений на Другое:read_only для папки и подпапки не имеет значения (хотя папка Dropbox изначально не давала такого разрешения)

Есть другие идеи?

2 ответа

Вы должны убедиться, что все каталоги на пути к /path/to/your/folder/www иметь x бит установлен, либо для others или для www-data пользователь.

По умолчанию Apache не будет следовать символическим ссылкам. Чтобы включить это поведение, необходимо добавить следующее в <Directory> раздел вашей конфигурации vhost:

Options +FollowSymLinks

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

Еще одна вещь, которую необходимо проверить, заключается в том, что у пользователя apache есть права на чтение файлов в корневом веб-каталоге. Если ваша папка Dropbox находится в вашем домашнем каталоге, пользователь apache, скорее всего , не имеет прав на чтение. (Еще одна причина не использовать Dropbox)

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