Делал сайт на локалке, все ОК: когда лезешь скачать дамп Backup and Migrate по прямому пути, то Апач показывает болт.
Залил сайт на хостинг: директории private показывают Error 403, как и должно быть, но файлы бэкапа доступны для скачивания.
Соответственно Backup and Migrate отказывается сохранять дампы в manual, сообщая что они будут доступны публично.
Не пойму в чем дело. Гуглил, но так и не нашел ответа. Менял chmod на эти директории разные, все одно и то же.
Если Апач у хостера такой, то подскажите, плиз, с чем конкретно к нему идти ругаться?
Комментарии
А в каталоге с файлами резервных копий лежит .htaccess?
Также он должен находиться чуть выше - в каталоге private.
Везде он лежит в приватах. Как и было на локалке.
Код там дефолтовый
Deny from all
Options None
Options +FollowSymLinks
Напишите техподдержке хостера, что не подхватывается "Deny from all" из .htaccess. Похоже особенности настройки apache на сервере.
Ну я так и подумываю.
Просто странно. Если в директории только другая директория и нет файлов, то Deny from all подхватывается, а если в директории есть файлы, то не подхватывается. Такое может быть?
Файлы txt статичные не выдаются, только дампы Backup and Migrate
Ответ хостера:
"На наших серверах используется схема работы, при которой статичные файлы (в частности, gz) передаются с помощью Nginx, запросы динамических страниц и файлов, которые отсутствуют на сервере, передаются Apache. Поэтому файл .htaccess для отключения доступа в данном случае не работает.
Для решения можно использовать следующий вариант:
В скриптах сайта можно использовать ссылки на файлы, которые физически отсутствуют (например, для файлов на сервере использовать формат gzx), и осуществлять перенаправления с помощью .htaccess."
На другом хостинге такая же проблема.
Что же делать.. В Backup and Migrate нет поддержки gzx. Да и если осуществлять перенаправления с помощью .htaccess то не думаю, что модуль перестанет ругаться.
У nginx нет аналога .htaccess для создания своих правил каждым пользователем.
В таком случае вижу два варианта:
1) Правильный. Указать для сохранения бэкапов директорию недоступную из веба (выше директории домена).
2) С извращениями. Сохранять дамп со своим уникальным типом, к примеру .backup и блочить к нему доступ через .htaccess . Ну либо использовать предложенный вариант с симлинками.
Спасибо.
1 вариант сразу отпадает, так как выше директории корневой нельзя создать директорию, выше директория, в которой директории доменов. Когда ставишь путь приватным файлам выше директории Дпупала, то весь домен error 403 становится. Можно было бы выше корня директорию создать, я сразу туда складывал приватные файлы.
2 вариант модуль Backup and Migrate поддерживает без сжатия и zip, gzip, bzip. Чтобы было нестандартное расширение я не знаю как сделать. Есть вариант шифровать с AES, потом расширение будет .aes, но эта функция в бете и расшифровка не получилась, когда я хотел сделать рестор. Но это не важно, ибо Backup and Migrate и с шифрованием отказывается сохранять на сервере.
Единственное что вижу, это как то редиректы сделать в .htaccess, но не знаю можно ли так обмануть Backup and Migrate, чтобы он не ругался.
Так то. Когда тестируете хостинг, то на такие вещи тоже внимание надо обращать.
Есть у меня еще один хостинг. Файлы Backup and Migrate так же скачиваются из привата. Но модуль сохраняет их и не ругается. Да и можно сохранять в директорию private, которая выше директории Drupal, тогда их и не скачаешь.