Переход с ownCloud на Nextcloud в Ubuntu 14.04

Не так давно большая часть команды разработчиков ownCloud занялась новым проектом под названием Nextcloud. Nextcloud и ownCloud основаны на одной базе кода, потому вы можете без проблем перейти с одной установки на другую.

Данное руководство поможет перейти с установки ownCloud на Nextcloud. Сам процесс довольно прост, но все его этапы нужно выполнять в правильном порядке.

Требования

  • Сервер Ubuntu 14.04.
  • Предварительно установленное приложение ownCloud (инструкции – здесь).
  • Пользователь с правами sudo на сервере ownCloud (создать такого пользователя поможет это руководство).

1: Бэкап данных

Сначала нужно создать резервную копию данных (даже если вы работаете с новым сервером).

Подключитесь к серверу:

ssh 8host@your_server_ip

Чтобы обеспечить целостность данных на момент бэкапа и перехода, нужно отключить веб-сервер (тогда у пользователей не будет доступа к ownCloud).

sudo service apache2 stop

Теперь перейдите в каталог, в котором хранятся файлы ownCloud. Если вы следовали руководству по установке, файлы хранятся в /var/www/. Чтобы убедиться в этом, используйте следующие команды:

cd /var/www
ls

Вы увидите каталог owncloud:

html  owncloud

Создайте резервную копию файлов с помощью команды tar. Опции czfv сожмут gzip-файл и покажут расширенный вывод. Новый архив будет называться owncloud.tar.gz и хранить каталог owncloud/.

sudo tar czfv owncloud.tar.gz owncloud/

Переместите архив в домашний каталог:

sudo mv owncloud.tar.gz ~/

Примечание: Теперь у вас есть копия файлов ownCloud. Но если для хранения данных приложения вы используете MySQL, а не встроенное хранилище, вам нужно обязательно сделать бэкап этой БД MySQL. Для этого введите:

mysqldump -u username -p dbname > ~/owncloud_backup.sql

Значения username, password и dbname можно найти в файле /var/www/owncloud/config/config.php.

Читайте также: Бэкап базы данных MySQL на сервере Ubuntu

2: Загрузка Nextcloud

Загрузить файлы Nextcloud можно с сайта проекта. Последняя версия находится в конце страницы. Найдите файл последнего доступного релиза версии 10.x.x с расширением .tar.bz2. На момент написания руководства последней является версия 10.0.2, её файл называется nextcloud-10.0.2.tar.bz2.

Найдите файл, но не загружайте его на персональный компьютер. Кликните правой кнопкой мыши на файл и скопируйте ссылку, чтобы затем с её помощью загрузить файл на сервер.

Вам нужно загрузить два файла. Первый – это пакет Nextcloud с сайта проекта. Второй – это контрольная сумма md5; ссылка на этот файл такая же, как и на пакет Nextcloud, но содержит расширение .md5 в конце. Перейдите в домашний каталог и загрузите файлы:

cd ~
wget https://download.nextcloud.com/server/releases/nextcloud-10.0.2.tar.bz2
wget https://download.nextcloud.com/server/releases/nextcloud-10.0.2.tar.bz2.md5

Запустите команду md5sum, чтобы сгенерировать контрольную сумму и подтвердить целостность и подлинность пакета.

md5sum nextcloud-10.0.2.tar.bz2

Команда вернёт примерно следующее:

dc30ee58858d4f6f2373472264f7d147  nextcloud-10.0.2.tar.bz2

Затем проверьте содержимое загруженного файла .md5:

cat nextcloud-10.0.2.tar.bz2.md5

Эта команда должна вернуть то же самое значение:

dc30ee58858d4f6f2373472264f7d147  nextcloud-10.0.2.tar.bz2

Если значения отличаются, снова загрузите пакет Nextcloud.

Чтобы распаковать файл, используйте команду tar; опции xfv извлекут содержимое файла и вернут расширенный вывод.

tar xfv nextcloud-10.0.2.tar.bz2

Скопируйте полученную папку nextcloud в /var/www:

sudo mv nextcloud /var/www/nextcloud

Теперь все готово к переходу на Nextcloud.

3: Перемещение данных и права на файлы

Текущая установка ownCloud имеет два каталога: data/ и config/. Их нужно переместить в каталог nextcloud.

Но сначала нужно удалить одноименные каталоги Nextcloud. Для этого введите:

sudo rm -rf /var/www/nextcloud/data /var/www/nextcloud/config

Если в Nextcloud есть каталоги data/ и config/, команда удалит их.

Теперь переместите каталоги owncloud:

sudo mv /var/www/owncloud/data /var/www/nextcloud/data
sudo mv /var/www/owncloud/config /var/www/nextcloud/config

При перемещении файлов с помощью sudo все права на файлы принадлежат пользователю root. Однако Nextcloud всегда запускается с помощью пользователя www-data. Теперь нужно изменить владельца каталога /var/www/nextcloud. Для этого используйте команду chown и флаг –R (он передаст права на все файлы каталога пользователю www-data).

sudo chown -R www-data:www-data /var/www/nextcloud/

4: Настройка трафика веб-сервера

Веб-сервер Apache распределяет запросы между каталогами с помощью виртуальных хостов. Каталог /etc/apache2/sites-available/ содержит описание каждого виртуального хоста. Чтобы включить виртуальный хост, нужно создать символьную ссылку на него в каталоге /etc/apache2/sites-enabled/. С помощью файла /etc/apache2/sites-available/000-owncloud.conf сервер читает /var/www/owcloud. Эти настройки включены при помощи ссылки в /etc/apache2/sites-enabled/000-owncloud.conf.

Чтобы веб-сервер использовал Nextcloud вместо ownCloud, нужно скопировать виртуальный хост ownCloud, откорректировать его настройки и указать в нём данные Nextcloud, а затем отключить хост ownCloud и активировать новый хост Nextcloud.

Скопируйте конфигурационный файл ownCloud:

sudo cp /etc/apache2/sites-available/000-owncloud.conf /etc/apache2/sites-available/000-nextcloud.conf

Откройте новый файл (/etc/apache2/sites-available/000-nextcloud.conf) в текстовом редакторе и замените owncloud на nextcloud с помощью регулярного выражения и команды sed:

sudo sed -i "s/owncloud/nextcloud/g" /etc/apache2/sites-available/000-nextcloud.conf

По умолчанию команда sed выводит результат на экран, но опция –i внесёт исправления прямо в файл.

Читайте также:

Чтобы удалить виртуальный хост ownCloud, удалите символьную ссылку /etc/apache2/sites-enabled/000-owncloud.conf с помощью команды a2dissite:

sudo a2dissite 000-owncloud.conf

Теперь включите виртуальный хост Nextcloud, создав символьную ссылку на файл Nextcloud.

sudo a2ensite 000-nextcloud.conf

Примечание: Если вы использовали ownCloud по HTTPS, повторите эти действия для виртуального хоста /etc/apache2/sites-available/owncloud-ssl.conf.

Теперь нужно обновить данные и конфигурации, скопированные с ownCloud.

5: Обновление данных ownCloud

Все файлы на месте, теперь нужно запустить внутреннее обновление. Для управления и обновления установок Nextcloud и ownCloud предоставляют инструмент occ. Перейдите в каталог /var/www/nextcloud/:

cd /var/www/nextcloud

Прежде чем запустить occ, нужно обновить файл /var/www/nextcloud/config/config.php. А именно, строку ‘datadirectory’ => ‘/var/www/owncloud/data’ нужно заменить строкой ‘datadirectory’ => ‘/var/www/nextcloud/data’. Это можно сделать с помощью sed:

sudo sed -i "s/owncloud\/data/nextcloud\/data/g" config/config.php

Теперь запустите occ, чтобы перевести Nextcloud в режим обслуживания. Это заблокирует файлы, и вы не сможете вносить изменения до конца обновления.

sudo -u www-data php occ maintenance:mode --on

Обратите внимание: команда sudo выполняется от лица пользователя www-data.

Если режим обслуживания Nextcloud включен, вы увидите такой вывод:

[secondary_output] Nextcloud or one of the apps require upgrade - only a limited number of commands are available
You may use your browser or the occ upgrade command to do the upgrade
Maintenance mode enabled

Запустите процесс обновления с помощью occ:

sudo -u www-data php occ upgrade

Эта команда выведет объемный результат, поскольку она перемещает все данные ownCloud в Nextcloud. В конце вы увидите такие сообщения:

...
Starting code integrity check...
Finished code integrity check
Update successful
Maintenance mode is kept active
Reset log level

Если во время обновления произошла ошибка, команда сообщит вам, что именно пошло не так, и подскажет, как устранить неполадку.

Если обновление прошло успешно, выключите режим обслуживания и запустите веб-сервер:

sudo -u www-data php occ maintenance:mode --off
sudo service apache2 start

Переход завершен. Теперь вы можете пользоваться установкой Nextcloud. Откройте браузер и попробуйте запросить старые файлы ownCloud. Вместо этого браузер будет выдавать вам файлы Nextcloud. Все имена пользователей и пароли ownCloud будут действительны в установке Nextcloud. Откройте интерфейс и проверьте работу дополнительных приложений.

Заключение

Теперь вы знаете, как перейти с ownCloud на Nextcloud, не потеряв старых данных. Подключиться к интерфейсу Nextcloud можно с помощью учётных данных ownCloud.

После перехода на Nextcloud нужно обновить клиенты синхронизации.

Если вы захотите вернуться к ownCloud, вы можете просто восстановить каталоги data/ и config/ и все БД из резервной копии. Не пытайтесь скопировать data/ и config/ из /var/www/nextcloud обратно в ownCloud. Восстановите резервную копию каталогов, отключите виртуальный хост Nextcloud и включите виртуальный хост ownCloud.

Tags: , ,

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