Я установил 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 restart меня кидает:
"Переменная конфигурации $ {APACHE_LOG_DIR} не определена"
и:
"Неверный каталог мьютекса в файле аргументов: $ {APACHE_LOCK_DIR}"
Перезагрузка и остановка / запуск не сработали. Кроме того, изменение разрешений на Other: read_only для папки и подпапки не имело никакого значения (хотя папка Dropbox изначально не предоставляла такое разрешение)
Есть другие идеи?
Вы должны убедиться, что все каталоги на пути к /path/to/your/folder/www
иметь x
бит установлен, либо для others
или для www-data
пользователь.
По умолчанию Apache не будет следовать символическим ссылкам. Чтобы включить это поведение, вам необходимо добавить следующее в <Directory>
раздел вашей конфигурации vhost:
Options +FollowSymLinks
Тем не менее, я настоятельно рекомендую не использовать для этого Dropbox. Существует множество других гораздо более безопасных вариантов, позволяющих упростить развертывание файлов.
Еще одна вещь, которую нужно проверить, - это то, что пользователь apache имеет разрешения на чтение файлов в вашем корневом веб-каталоге. Если ваша папка Dropbox находится в вашем домашнем каталоге, скорее всего, пользователь apache не есть разрешения на чтение. (Еще одна причина не использовать Dropbox)