Установка Nextcloud в Ubuntu 14.04 (миграция с OwnCloud)

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

Nextcloud и OwnCloud,имеют много общего,  что означает переход с OwnCloud на Nextcloud должен быть безболезненным.

В этом учебном пособии будет показано как установить Nextcloud с помощью миграции с OwnCloud. Этот процесс включает в себя “выгруз” файлов ядра приложения OwnCloud и передача их во встроенный updater в  Nextcloud.  Этот процесс достаточно прост, но мы должны убедиться, что он идет в правильном порядке, чтобы избежать ошибок.

Что нужно?

Чтобы перенести установку OwnCloud на Nextcloud, вам потребуется:

Шаг первый – Остановка веб-сервера и резервное копирование данных

Даже если вы работаете со свежей сконфигурированной установкой, бэкап – это всегда очень хорошая идея.  Вы собираетесь начать перемещение и удаление вещей, так что безопасность прежде всего!

Войдите в свой сервер под управлением OwnCloud, если вы еще не подключены:

$ ssh sammy@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 ~/

Шаг второй – Обновление PHP

Если вы переходите с One-Click установки на Ubuntu 14.04 вам необходимо обновить PHP, чтобы у вас появилась возможность использовать любую версию Nextcloud, по возможности выше 10.0.2. Стандартные репозитории Ubuntu 14.04 включают только PHP 5.5, но  начиная с NextCloud 11 требуется PHP 5.6.

Если у вас не установлен PPAs, то  выполните эту команду:

$ sudo apt-get install python-software-properties

Затем добавьте PPA, который содержит обновленные версии PHP:

$ sudo add-apt-repository ppa:ondrej/php

Затем скажите менеджеру пакетов обновить свой список:

$ 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

Шаг 3 – Загрузка Nextcloud

На сервере вы найдете список каждого релиза  в различных форматах. Найдите самый последний релиз .tar.gz, но чтобы он был похож на текущий релиз  вашего ownCloud. Например, если вы переходите с OwnCloud 9, то вам надо искать файл nextcloud-10.0.2.tar.bz2.

Если вы нашли файл, не спешите  грузить его на свой комп. Вместо этого щелкните правой кнопкой мыши на имя файла и скопируйте адрес ссылки, чтобы вы смогли скачать его на ваш сервер.

Вы собираетесь загрузить два файла. Первый пакет –  Nextcloud,  который вы нашли на веб-сайте. Другой файл – это проверочный файл, который называется “Контрольная сумма MD5″(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

Вы должны увидеть что-то похожее:

dc30ee58858d4f6f2373472264f7d147 nextcloud-10.0.2.tar.bz2

Затем выведи содержимое файла .md5, который вы загрузили:

$ cat nextcloud-10.0.2.tar.bz2.md5

Вывод этой команды должен быть идентичен выходу предыдущей команды:

dc30ee58858d4f6f2373472264f7d147 nextcloud-10.0.2.tar.bz2

Если результаты разные, то качай снова. (

Чтобы распаковать файл, используйте команду tar снова, но на этот раз чтобы извлечь файл. Выполните эту команду, чтобы извлечь из архива:

$ tar xfv nextcloud-10.0.2.tar.bz2

Наконец, скопируйте недавно извлеченный nextcloud в папку /var/www:

$ sudo mv nextcloud /var/www/nextcloud

Теперь вы можете начать перенос файлов из OwnCloud в Nextcloud.

Шаг 4 – Перенос данных и настройки файла собственности

Ваша существующая установка OwnCloud имеет две директории в которых вы бы хотели сохранять данные: data/ и Config /. Мы будем перемещать все из исходных каталогов в свой каталог nextcloud, но сначала нужно удалить версии по умолчанию, которые пришли с Nextclout.

Во-первых, выполните команду для удаления каталогов по умолчанию из вашего каталога 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 стало то, что теперь они будут принадлежать суперпользователю. Это значит, что вам нужно изменить право собственности на папку  /var/www/nextcloud и ее содержимое, прежде чем идти дальше.  Для этого запустите команду chown с аргументом  -R:

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

Теперь, когда файлы находятся на месте, мы должны показать веб-серверу, как получить к ним доступ.

Шаг 5 – Модернизация Nextcloud Internals

Теперь когда все файлы в одном месте можно начинать внутренний процесс обновления.  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

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

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

Результат будет намного больше, чем я покажу ниже, но в конце вы все равно увидите это:


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, то есть еще более новая версия.

Шаг шестой-Обновление Nextcloud

Чтобы обновить Nextcloud до новой основной версии, вы должны  повторить все шаги с 3 по 5 пункт данного руководства. Во-первых, переместите установленную папку Nextcloud из пути с помощью следующей команды:

$ sudo mv /var/www/nextcloud /var/www/nextcloud.old

Затем найдите файл .tar.gz с сервера, загрузить его, и проверьте его контрольную сумму 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, которую вам необходимо обновить до конца.

Шаг 7 – Изменение потока трафика веб-сервера

Папка /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, редактировать его точки на Nextcloud, отключить виртуальный хост OwnCloud, и включить виртуальный хост Nextcloud.

Сначала скопируйте файл конфигурации OwnCloud:

$ sudo cp /etc/apache2/sites-available/000-owncloud.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

Затем,  отключите виртуальный хост OwnCloud, удалив ссылку /etc/apache2/sites-enabled/000-owncloud.conf. В ubuntu есть великолепная команда a2dissite, которая отключает сайты. Выполните такую команду:

$ sudo a2dissite 000-owncloud.conf

Наконец, включите виртуальный хост Nextcloud, создав символическую ссылку на файл конфигурации Nextcloud:

$ sudo a2ensite 000-nextcloud.conf

Теперь, когда веб-сервер знает, где найти Nextcloud, стартовать его заново:

$ sudo service apache2 start

Если вы дошли до конца, то значит у вас все получилось)! Откройте веб-браузер и перейдите к местоположению вашего старого сервера OwnCloud, и вы увидите приглашение входа в систему Nextcloud. Все ваши старые имена пользователей и пароли будут работать так же, как они это делали до миграции.