
Приветствую.
Небольшой мануал, как перенести весь контент сайта в облако Яндекс Диск.
Данный мануал протестировал у себя на сервере, файлы из папок images были перенесены в облако и отдавались пользователям из него, ссылки и адреса файлов не изменяются. Смысл заключается в монтировании яндекс диска к папке на вашем сервере. По аналогии возможна интеграция с другими облачными сервисами
Что нужно
1) ОБЯЗАТЕЛЬНО сделать дампы!2) Повторить первый пункт
3) Сервер, VPS под управлением linux
4) Зарегистрироваться в яндекс
p.s. Внимание, все шаги делаются только на свой страх и риск, за возможные проблемы и потерю информации я не отвечаю =)
Уточнения
На каждом сервере возможна своя иерархия папок, воспользуемся упрощением, допустим сайт у нас будет находится в каталоге:/home/www
Контент соответственно будет находиться в
/home/www/images
(данные действия можно выполнить для любой папки)
Мануал
1) Необходимо установить утилиту davfs2, для этого в консоли выполнить
sudo apt-get install davfs2
3) Очищаем папку /home/www/images (Дампы должны быть уже сохранены!!!)
4) Выполняем в консоле процедуру монтирования
sudo mount -t davfs https://webdav.yandex.ru /home/www/images
5) Выставить необходимые права
Бинго.
п.с. не могу сказать как поведет себя отдача контента под нагрузкой, но небольшая задержка есть, что не удивительно. Если кто-то сможет протестировать на боевом сайте и поделиться информацией как нагрузка будет влиять на время загрузки контента, буду благодарен. Кому и чем может быть полезно, каждый решит сам, также приветствуются дополнения и обсуждения)
п.с.п.с При изучении темы наткнулся на php класс для работы с диском, может быть полезно например для сохранения дампов по крону на яндекс диск
Лично я плюсую за нестандартный подход.
Было бы хорошо, если бы например яндекс отдавал прямые ссылки на файлы, тогда можно было бы загружать файлы, и не гонять через систему, а отдавать ссылки из базы прямые на облако, в таком случае можно избавиться от davfs, соответственно скорость будет лучше
А то давно думаю как запустить проект с ~500гб фоток
sudo mount -t davfs https://webdav.yandex.ru/images /home/www/images
https://webdav.yandex.ru/video /home/www/video
Предпочел бы mega. co. nz
Типа шифрование данных, они не отвечают за сами файлы.
Для каталогов файловых небольшого размера, мне кажется, подошло бы.
CentOS x64 i686
Сперва вам потребуется установленный пакет libproxy:
Для CentOS x64:
# yum install libproxy.x86_64
Для CentOS i686
# yum install libproxy.i686
После этого качаем rpm davfs2 и его зависимости:
Для CentOS x64:
# wget http://pkgs.repoforge.org/davfs2/davfs2-1.4.6-1.el6.rf.x86_64.rpm
# wget ftp://rpmfind.net/linux/centos/6.3/os/x86_64/Packages/neon-0.29.3-2.el6.x86_64.rpm
# wget ftp://rpmfind.net/linux/centos/6.3/os/x86_64/Packages/pakchois-0.4-3.2.el6.x86_64.rpm
Для CentOS i686
# wget http://pkgs.repoforge.org/davfs2/davfs2-1.4.6-1.el6.rf.i686.rpm
# wget ftp://rpmfind.net/linux/centos/6.3/os/x86_64/Packages/neon-0.29.3-2.el6.686.rpm
# wget ftp://rpmfind.net/linux/centos/6.3/os/x86_64/Packages/pakchois-0.4-3.2.el6.686.rpm
Устанавливаем скачанные пакеты:
Для CentOS x64:
# rpm -i davfs2-1.4.6-1.el6.rf.x86_64.rpm neon-0.29.3-2.el6.x86_64.rpm pakchois-0.4-3.2.el6.x86_64.rpm
Для CentOS i686:
# rpm -i davfs2-1.4.6-1.el6.rf.i686.rpm neon-0.29.3-2.el6.i686.rpm pakchois-0.4-3.2.el6.i686.rpm
# apt-get install davfs2
было бы интересно посмотреть рабочий класс php и его интеграцию в инстант..