Назад | Перейти на главную страницу

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