Меню Закрыть

Миграция с ownCloud 9.1.4 на NextCloud 10.0.4

Статья писалась прямо в процессе миграции.
В ней описан процесс переноса данных и пользователей с одного проекта на другой. Так как NextCloud по сути является форком ownCloud, то особых проблем и сложностей при переносе возникать не будет. Еще очется отметить наличие бесплатных клиентов для популярных платформ.

Начнем с того что создадим бэкап существующего облака. Если у вас облако работает с использованием SQLite, то база скопируется вместе с ядром облака:

user@host:/var/www/# tar cf - ./cloud | pv > /home/user/cloud.tar

Т.к. я использую MySQL нужно забэкапить и ее:

user@host:/var/www/# mysqldump --user=sqluser --password=password basename > /home/user/cloud.sql

Далее проверим удовлетворяет ли наш сервер рекомендуемым требованиям нового облака:

  • Red Hat Enterprise Linux 7 / Ubuntu 16.04 LTS
  • MySQL/MariaDB
  • PHP 7.0 +
  • Apache 2.4 with mod_php

Проверить версию PHP и Apache можно следующим образом:

user@host:/var/www/# php -v
user@host:/var/www/# apache2 -v

После того как убедились, что все впорядке приступим к установке нового облака.
Для этого скачаем архив с официального сайта проекта http://nextcloud.com, перейдем в домашний каталог и начнем загрузку:

user@host:/home/user/# wget https://download.nextcloud.com/server/releases/nextcloud-10.0.4.tar.bz2

После того как архив скачается распакуем его:

user@host:/home/user# tar xfv nextcloud-10.0.4.tar.bz2

Далее очищаем папку где лежало облако (помним что у нас есть бэкап):

user@host:/var/www/cloud/html/# rm -rf ./*

И переносим извлеченные из архива файлы в директорию с облаком:

user@host:/var/www/cloud/html/# mv /home/user/nextcloud/* ./

Далее можно переносить данные и настройки облака в новое ядро.

Здесь я допустил, скажем так, косяк, заставивший меня проделывать двойную работу, мне пришлось опять распаковывать архив с бэкапом. Т.к. к моменту миграции у меня еще не много успело накопиться данных, то это заняло не так много времени. Если же у вас многогигабаийтный или терабайтный архив озаботьтесь заранее, чтобы папки /var/www/cloud/html/config/ и /var/www/cloud/html/data/ были доступны вне архива.

Копируем папки с конфигом и данными из старого в новое:

user@host:/home/user/cloud/html/# mv ./config/ /var/www/cloud/html/config/
user@host:/home/user/cloud/html/# mv ./data/ /var/www/cloud/html/data/

Далее, в связи с перемещениями файлов туда-сюда из под рутового пользователя, у файлов облака могут быть некорректные права, вернем серверу его владения:

user@host:/var/www/# chmod -R www-data:www-data /var/www/cloud/html/

У меня имена директорий в ходе миграции не менялись. Если вы устанавливали новое облако в новую директорию, вам необходимо поправить пути в конфигурационном файле/var/www/cloud/html/config/config.php

Теперь необходимо заставить облако обновиться. Для этого переводим облако в режим обслуживания внутрренней командой от имени вебсервера:

user@host:/var/www/cloud/html/# sudo -u www-data php occ maintenance:mode --on

и обновляем:

user@host:/var/www/cloud/html/# sudo -u www-data php occ upgrade

После обновления выключаем режим обслуживания.

user@host:/var/www/cloud/html/# sudo -u www-data php occ maintenance:mode --off

В итоге получаем рабочее облако на новой платформе.
До последней версии NextCloud можно обновиться следуя инструкциям на официальном сайте и из административной панели.

Несколько замечаний:
— здесь я не стал приводить команды переходов между папками;
— ваше облако может находиться в директории отличной от /var/www/cloud/html, например, в такой /var/www/html/owncloud/;
— на счет баз, переезд между базами описан в документации к ownCloud (здесь), перед миграцией перейдите с SQLite на MySQL/MariaDB;
— папка /home/user/ подразумевает вашу домашнюю папку.

1 Comment

Добавить комментарий

Ваш адрес email не будет опубликован.


Срок проверки reCAPTCHA истек. Перезагрузите страницу.