В последнее время большая часть команды разработчиков оставили ядро OwnCloud, чтобы начать новый проект под названием Nextcloud. В то время как OwnCloud будет по- прежнему продолжают развиваться, вы можете увидеть и новый проект. Nextcloud и OwnCloud имеют общую базу кода, это означает что перенастройка существующей установки OwnCloud на Nextcloud должна быть безболезненной задачей.
В этом учебном пособии, мы перенесем существующую установку OwnCloud 9 на Nextcloud 11. Процесс включает выгрузку файлов приложений ядра от Nextcloud, и встроенный в Updater Letting Nextcloud. В то время как процесс прост, существует целый ряд вещей, которые должны быть сделаны в правильном порядке, чтобы убедиться, что все идет гладко.
Предпосылки
Чтобы перенести вам установку OwnCloud к Nextcloud, вам потребуется:
- Рабочая OwnCloud 9 установка работает на Ubuntu 14.04. Это руководство предполагает, что вы настроили OwnCloud.
- Непривилегированная учетная запись пользователя на сервере OwnCloud, который может выполнять команды с
sudo
.
Шаг 1 – Остановка веб-сервера и резервного копирования данных
Даже если вы работаете на свеже-настроенной установке, то хорошей идеей сделать резервное копирование. Вы собираетесь начать перемещение и удаление вещей, так что безопасность прежде всего!
Войдите на свой сервер через SSH под управлением OwnCloud, если вы еще не подключены:
ssh destroyer@your_server_ip
Важно, убедиться, что ничего не меняется во время выполнения резервного копирования и миграции, поэтому самый простой способ, чтобы проверить, это закрыть веб-сервер, так чтобы пользователи не смогли получить доступ к OwnCloud. Выполните следующую команду:
sudo service apache2 stop
Теперь, когда веб – сервер остановлен, перейдите в каталог, где ваш сервер хранит OwnCloud. Если вы используете установку One-Click для OwnCloud на Ubuntu 14.04, ваша установка находится в директории /var/www/
. Выполните следующие команды, чтобы перейти в этот каталог и убедитесь, что он содержит owncloud/
:
cd /var/www ls
Вы увидите папку owncloud
:
Вывод
html owncloud
Далее создайте резервный архив при помощи команды TAR для сжатия файлов GZIP и подробно выведите на экран. Новый архив будет называться owncloud.tar.gz
и будет содержать весь каталог owncloud/
. Выполните следующую команду:
sudo tar czfv owncloud.tar.gz owncloud/
Теперь переместите архив в ваш домашний каталог для безопасного хранения:
sudo mv owncloud.tar.gz ~/
Перед установкой Nextcloud, есть еще один шаг специфичный для серверов Ubuntu 14.04.
Шаг 2 – Обновление PHP
Если вы переходите с One-Click установки на Ubuntu 14.04 вам необходимо обновить PHP, чтобы иметь возможность использовать любую версию Nextcloud, на более новую, чем 10.0.2. Стандартное хранилище Ubuntu 14.04 включают только PHP 5.5, но PHP 5.6 требуется начиная с NextCloud 11. К счастью, Ubuntu поддерживает 3 партии репозиториев, известные как PPA. Если вы не установили PPA прежде, выполнитt эту команду, чтобы установить пакет под названием python-software-properties
:
sudo apt-get install python-software-properties
Затем добавьте PPA, который содержит обновленные версии PHP:
sudo add-apt-repository ppa:ondrej/php
Тогда укажите менеджеру пакетов, чтобы обновил свой список известных пакетов, который включает в себя и PPA:
sudo apt-get update
Теперь вы можете установить PHP7 и все модули, которые требуются Nextcloud:
sudo apt-get install php7.0 php7.0-sqlite php7.0-mysql php7.0-pgsql php7.0-zip php7.0-gd php7.0-mb php7.0-curl php7.0-xml php7.0-apc
И, наконец, переключите модуль PHP, который использует ваш веб-сервер. Для Apache, командами являются:
a2dismod php5 a2enmod php7.0
Теперь давайте установим Nextcloud.
Шаг 3 – Загрузка Nextcloud
На сайте релиза Nextcloud вы найдете список каждого выпуска Nextcloud в ряде различных форматов. Найдите самый последний файл .tar.gz
для выпуска, который является такой же, или одну основную версию, текущую версию OwnCloud. Например, если вы переходите от 9 One-Click установки OwnCloud вы будет искать файл nextcloud-10.0.2.tar.bz2
.
Если вы нашли файл, и не загрузили его на свой персональный компьютер. Вместо этого щелкните правой кнопкой мыши на имени файла и скопируйте адрес ссылки, так что вы можете загрузить файл на сервер.
Вы собираетесь загрузить два файла. Первый будет пакет Nextcloud, который вы нашли на веб – сайте. Другой файл будет проверочный файл называется “md5 checksum”. Файл md5 будет иметь точно такой же путь, что и пакет, но с дополнительным расширением .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
Вы увидите что-то похожее на этот вывод:
Output dc30ee58858d4f6f2373472264f7d147 nextcloud-10.0.2.tar.bz2
Затем выведите содержимое файла .md5
, который вы скачали:
cat nextcloud-10.0.2.tar.bz2.md5
Вывод этой команды должен быть идентичен выходу предыдущей команды:
Output dc30ee58858d4f6f2373472264f7d147 nextcloud-10.0.2.tar.bz2
Если выходы различны, скачайте Nextcloud снова.
Чтобы распаковать файл, с помощью команды TAR, но в этот раз, извлеките файл с подробным выводом. Выполните эту команду для распаковки архива:
tar xfv nextcloud-10.0.2.tar.bz2
Наконец, скопируйте вновь извлеченную папку nextcloud
в папку /var/www
:
sudo mv nextcloud /var/www/nextcloud
Теперь вы можете начать перенос файлов из OwnCloud в Nextcloud.
Шаг 4 – Перенос данных и настройки файла собственности
Ваша существующая установка OwnCloud имеет две директории, где вы будете сохранять: data/
и config/
. Вы будете двигаться из исходного расположения в свой каталог nextcoud
.
Во- первых, выполните команду для удаления каталогов по умолчанию из вашего каталога nextcloud
, если они существуют:
sudo rm -rf /var/www/nextcloud/data /var/www/nextcloud/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/
Теперь, когда файлы находятся в месте, мы должны сказать веб-серверу, как получить к ним доступ.
Шаг 5 – Внутренняя модернизация Nextcloud
Все файлы на месте, вы можете начать процесс внутреннего обновления. 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.
Вы увидите этот вывод, так что вы можете подтвердить, что режим обслуживания включен:
[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, но в конце концов вы увидите следующие сообщения:
Output ... 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
Ваша установка OwnCloud теперь перенесена на Nextcloud, но это еще не все. Если вы мигрировали с OwnCloud 9 в Nextcloud 10, но есть еще более новая версия так что давайте обновим ее.
Шаг 6 – Обновление Nextcloud
Чтобы обновить Nextcloud до новой основной версии, вы используете ту же процедуру, что использовали в пунктах с 3 по 5 данного руководства. Во-первых, переместите установленную папку Nextcloud с помощью следующей команды:
sudo mv /var/www/nextcloud /var/www/nextcloud.old
Затем найдите файл .tar.gz
с сайта релиза Nextcloud, загрузите его, и проверьте его контрольную сумму MD5 так же, как вы это делали в шаге 3.
wget https://download.nextcloud.com/server/releases/nextcloud-11.0.0.tar.bz2 wget https://download.nextcloud.com/server/releases/nextcloud-11.0.0.tar.bz2.md5 md5sum nextcloud-11.0.0.tar.bz2 cat nextcloud-11.0.0.tar.bz2.md5
После того, как вы загрузили и проверили архив, распакуйте его и переместите его в папку Nextcloud на веб-сервере:
tar xfv nextcloud-11.0.0.tar.bz2 mv nextcloud /var/www/nextcloud
Затем переместите конфигурационные файлы и данные из старой установки в новую, как вы это делали в шаге 4:
rm -rf /var/www/nextcloud/config /var/www/nextcloud/data mv /var/www/nextcloud.old/config /var/www/nextcloud mv /var/www/nextcloud.old/data /var/www/nextcloud sudo chown -R www-data:www-data /var/www/nextcloud/
И, наконец, используйте occ
для выполнения обновления:
sudo -u www-data php occ maintenance:mode --on sudo -u www-data php occ upgrade sudo -u www-data php occ maintenance:mode --off
Повторите эти действия для каждой основной версии Nextcloud, Вам необходимо обновить до конца.
Теперь, когда все обновлено, мы можем настроить веб-сервер для отправки трафика на Nextcloud.
Шаг 7 – Изменение потока трафика веб-сервера
Веб – сервер 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, создайте копию конфигурации vhost OwnCloud, отредактируйте его на Nextcloud, отключите виртуальный хост OwnCloud, и включите виртуальный хост Nextcloud.
Сначала скопируйте файл конфигурации OwnCloud:
sudo cp /etc/apache2/sites-available/000-owncloud.conf /etc/apache2/sites-available/000-nextcloud.conf
Далее, замените все экземпляры owncloud
в конфигурационном файле на nextcloud
. Вы можете сделать это, открыв файл /etc/apache2/sites-available/000-nextcloud.conf
с помощью текстового редактора и внесения изменений самостоятельно, или с помощью регулярных выражений и команды sed
.
Выполните следующую команду, чтобы преобразовать содержимое файла конфигурации vhost с sed
:
sudo sed -i "s/owncloud/nextcloud/g" /etc/apache2/sites-available/000-nextcloud.conf
Затем отключите виртуальный хост OwnCloud, удалив ссылку /etc/apache2/sites-enabled/000-owncloud.conf
. Ubuntu предоставляет команду a2dissite
для отключения сайтов. Выполните следующую команду:
sudo a2dissite 000-owncloud.conf
И, наконец, включите виртуальный хост Nextcloud, создав символическую ссылку на файл конфигурации Nextcloud. Используйте команду a2ensite
для создания ссылки:
sudo a2ensite 000-nextcloud.conf
Теперь, когда веб-сервер знает, где находится Nextcloud, мы можем запустить его с помощью следующей команды:
sudo service apache2 start
В этот момент все должно работать с вашей новой установки Nextcloud. Откройте веб – браузер и перейдите к местоположению вашего старого сервера OwnCloud, и вы увидите экран входа в систему Nextcloud. Все ваши старые имена пользователей и пароли будут работать так же, как они это делали до миграции. Войти как пользователь admin, как вы, возможно, потребуется повторно включить некоторые из ваших приложений, в том числе приложение календарь и контакты.
Вывод
На этом уроке вы создали резервную копию предыдущей установки OwnCloud, мигрировали в Nextcloud, и закрыли OwnCloud. Теперь вы можете войти в Nextcloud, используя веб-интерфейс, так же, как вы делали с OwnCloud.
Теперь, когда ваш сервер был перенесен в Nextcloud, настало время обновить все синхронизации клиентов, которые вы используете. Так же, как OwnCloud, Nextcloud предоставляет ряд синхронизации клиентов для настольных компьютеров и мобильных устройств.
Если вы решили вернуться к OwnCloud, вы можете восстановить папки data/
и config/
из резервной копии, созданной на шаге 1, а также любой внешней базы данных, резервное копирование. Не пытайтесь скопировать папки data/
и config/
из /var/www/nextcloud
обратно в OwnCloud. После того, как резервные копии были восстановлены, все , что вам нужно сделать, это отключить виртуальный хост Nextcloud и включить OwnCloud, используя ту же самую процедуру , описанную в шаге 4.