Почему я не могу заменить папку 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)