Два метода обновления Nextcloud: через командную строку и графический интерфейс

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

Два способа обновить Nextcloud: через командную строку и графический интерфейс.

Условия, предшествующие основному процессу.

Для успешной работы вам понадобится функционирующая инстанция Nextcloud. Если ее у вас нет, воспользуйтесь одним из нижеприведенных руководств для настройки сервера Nextcloud.

  • Установка NextCloud на Ubuntu 20.04 с использованием Apache (пакет LAMP).
  • Настройка NextCloud на Ubuntu 20.04 с использованием Nginx (стек LEMP)
  • Настройка NextCloud на CentOS 8/RHEL 8 с использованием Nginx (стек LEMP).

Создание резервной копии вашего Nextcloud

Перед тем как обновить Nextcloud, обязательно создайте резервную копию базы данных и конфигурационного файла.

Создание резервной копии базы данных NextCloud

Для создания резервной копии базы данных NextCloud в первую очередь необходимо выяснить имя базы данных, выполнив соответствующую команду на вашем сервере NextCloud.

sudo mysql - u root - e "show databases"

Если ваша MariaDB нуждается в аутентификации с использованием пароля, используйте эту команду вместо предыдущей. Укажите пароль для пользователя root MariaDB/MySQL.

mysql - u root - p - e "show databases"

Вы столкнетесь с чем-то похожим:

+--------------------+ | Database | +--------------------+ | information_schema | | mysql | | nextcloud | | performance_schema | +--------------------+

Имя вашей базы данных NextCloud — nextcloud. После того как вы установите имя базы данных, воспользуйтесь утилитой mysqldump для создания резервной копии, заменив выделенный красным текст на название вашей базы данных NextCloud.

sudo mysqldump - u root nextcloud-database-name > ~/nextcloud. sql

mysqldump - u root - p nextcloud-database-name > ~/nextcloud. sql

Указанная команда сформирует файл дампа (nextcloud. sql) в вашей домашней директории, который можно будет использовать для восстановления базы данных Nextcloud в случае серьезных сбоев.

Создание резервной копии папки с настройками NextCloud

Для создания резервной копии папки конфигурации NextCloud сначала необходимо перейти в каталог, где установлен Nextcloud. Учтите, что местоположение каталога может варьироваться в зависимости от вашей конфигурации. Например, при установке через стек LAMP каталог может находиться по пути /var/www/nextcloud/, а при использовании стека LEMP — по адресу /usr/share/nginx/nextcloud/.

cd /var/www/nextcloud/

После этого воспользуйтесь командой tar для создания резервной копии каталога с конфигурацией.

sudo tar - cpzvf ~/nextcloud-config.tar.gz config/

Поскольку веб-сервер может только читать файл config.php, потребуется добавить sudo. Резервная копия (nextcloud-config.tart.gz) будет сохранена в вашем домашнем каталоге.

Читайте также:  Эффективное использование Telnet для подключения и управления удалёнными серверами

Теперь пора обновить NextCloud.

Обратите внимание: перед переходом к следующей основной версии обязательно обновите до самой последней точечной версии.

Обновление Nextcloud через терминал

Использование командной строки является более продуктивным подходом, и количество ошибок при этом будет значительно ниже, чем при обновлении через веб-приложение. Если у вашей инстанции Nextcloud большое количество пользователей и файлов, рекомендуется применять именно командный метод.

Откройте директорию, где установлен NextCloud. В зависимости от вашей конфигурации, путь к установке может варьироваться. Например, при установке через стек LAMP каталог может находиться по адресу /var/www/nextcloud/, а если использовался стек LEMP, то данные могут находиться в /usr/share/nginx/nextcloud/.

cd /var/www/nextcloud/

После этого откройте приложение для обновления на
Обновление Nextcloud через командную строку

Начните процесс после выполнения обновления.

sudo - u www-data php7.4 /var/www/nextcloud/occ upgrade sudo - u www-data php7.4 /var/www/nextcloud/occ db:add-missing-indices sudo - u www-data php7.4 /var/www/nextcloud/occ db:convert-filecache-bigint

После завершения обновления перейдите на страницу Настройки ->Просмотрите информацию, и вы убедитесь, что ваша версия Nextcloud обновлена.

Обратите внимание: после обновления не забудьте снова активировать сторонние приложения.

Можно настроить задачу Cron для автоматического обновления Nextcloud. Для этого необходимо отредактировать файл crontab для пользователя www-data.

sudo - u www-data crontab - e

Вставьте следующую строку в конец данного файла. Не забудьте заменить /var/www/nextcloud/ на путь к вашему собственному каталогу установки Nextcloud.

0 3 * * * php7.4 /var/www/nextcloud/обновление/обновление. phar --без-взаимодействия; php7.4/var/www/nextcloud/occ app:update --all

Сохраните изменения и закройте документ. Задание Cron будет запускаться ежедневно в 3 часа ночи.

Рекомендация по решению проблем: Временами обновление может не сработать из-за несоответствия версии PHP. Попробуйте перейти на более новую версию PHP, например, с 7.4 на 8.0, а затем повторите попытку обновления.

Обновление NextCloud через графический интерфейс веб-обновления.

Зайдите в раздел Настроек NextCloud и откройте вкладку Обзор в левой боковой панели. Если имеется новая версия, нажмите кнопку для обновления.

Обновите NextCloud с помощью графического веб-приложения для обновления.

После этого кликните на кнопку «Запустить обновление».

Обновление Nextcloud.

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

обновить nextcloud

По окончании этого этапа вы можете решить, оставить ли режим обслуживания включенным или выключить его.

  • При наличии крупной установки NextCloud с множеством пользователей и файлов, стоит выбрать вариант «Да» и выполнить обновление через командную строку.
  • Если у вас компактная установка NextCloud, можно выбрать вариант «Нет» и воспользоваться обновлением через веб-интерфейс.
Читайте также:  Установка Roundcube Webmail на Ubuntu 22.04 и 20.04 с использованием Apache или Nginx

Если вы выбрали вариант «Нет», нажмите кнопку «Вернуться к вашей инстанции Nextcloud» для завершения процесса обновления. Вы будете направлены на главную страницу Nextcloud, где увидите следующий экран. Нажмите кнопку «Начать обновление».

обновление nextcloud

Время обновления зависит от размера вашей установки. В моем случае оно завершилось за несколько секунд. После завершения обновления перейдите на страницу Настройки ->Просмотрите информацию, и вы убедитесь, что ваша версия Nextcloud обновлена.

Если на предыдущем этапе вы ответили утвердительно, вам следует перейти в каталог, где установлен NextCloud, и ввести команду для начала процесса обновления. Обратите внимание, что путь к каталогу установки Nextcloud может варьироваться в зависимости от вашей конфигурации. Например, при использовании стека LAMP каталог может находиться по адресу /var/www/nextcloud/, а если вы применили стек LEMP, данные могут располагаться в /usr/share/nginx/nextcloud/.

cd /usr/share/nginx/nextcloud/ sudo - u www-data php7.4 occ upgrade

www-data — это название учетной записи, используемой веб-сервером, которое может варьироваться в зависимости от вашей системы.

  • На Debian и Ubuntu обычно используется пользователь www-data.
  • В системах CentOS и RHEL обычно используются Apache для веб-сервера Apache и Nginx для веб-сервера Nginx.
  • На Arch Linux это, как правило, http.

По окончании обновления отключите режим обслуживания с помощью:

sudo - u www-data php7.4 occ maintenance:mode --off

Перейдите на страницу Настройки ->Просмотрите информацию, и вы убедитесь, что ваша версия Nextcloud обновлена.

Обратите внимание: после обновления не забудьте снова активировать сторонние приложения.

Рекомендации по диагностике и решению проблем.

Вспомогательные документы

Во время обновления Nextcloud вы можете столкнуться с такой ошибкой:

Обнаружены следующие дополнительные файлы:.well-know

Рекомендуется создать копию этих «дополнительных» файлов, удалить их, а затем выполнить обновление. После того как обновление будет завершено, вы сможете восстановить эти файлы.

Ошибка 504: истекло время ожидания шлюза.

Если загрузка не удалась из-за ошибки 504 gateway timeout, необходимо перезапустить PHP-FPM.

sudo systemctl restart php7.4-fpm

Сбой при загрузке ZIP-архива в Nextcloud.

Если вы увидели эту ошибку, скорее всего, причина в том, что ваш сервер не смог загрузить новый ZIP-архив Nextcloud.

Шаг 4 в данный момент выполняется. Пожалуйста, обновите эту страницу позже.

Для начала необходимо подключиться к вашему серверу Nextcloud через SSH и затем выполнить переход на учетную запись пользователя root.

sudo su -

Откройте каталог данных вашего Nextcloud. Учтите, что путь к каталогу данных может варьироваться в зависимости от конфигурации. Например, если вы устанавливали Nextcloud с использованием стека LAMP, путь может быть /var/www/nextcloud-data/. Если вы использовали стек LEMP, то каталог данных, вероятно, будет находиться по адресу /usr/share/nginx/nextcloud-data/.

Читайте также:  Топовые приложения для создания заметок и управления ими в Linux

cd /usr/share/nginx/nextcloud-data/

В данном каталоге имеется подкаталог, название которого начинается с updater. Для просмотра файлов и подкаталогов выполните команду ls.

Он у меня называется updater-ocao79wqklov, поэтому я иду в этот подкаталог.

cd updater-ocao79wqklov

После этого укажите все файлы и подкаталоги, включая скрытые элементы.

ls - a

В каталоге вы обнаружите файл с расширением. step и папку downloads. Файл. step отвечает за мониторинг состояния обновления. Его необходимо удалить.

rm. step

После этого откройте папку downloads.

cd downloads/

Удалите загруженный файл в формате ZIP.

rm nextcloud-*.zip

Затем мы вручную загружаем ZIP-архив Nextcloud с помощью следующей команды. Разумеется, вам потребуется заменить

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

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

Измените канал обновлений в Nextcloud с стабильного на бета-версию.

Вы можете обновиться до Nextcloud 21, однако стоит учитывать, что некоторые приложения могут быть недоступны.

Доступна новая версия: Nextcloud 21.

По завершении обновления советую переключиться на стабильный канал обновлений.

Старт Nextcloud 21 с использованием PHP8

Nextcloud начал полную поддержку PHP8, начиная с версии 21. Для начала установите PHP8 на ваш сервер Ubuntu, используя следующую команду:

sudo apt install software-properties-common sudo add-apt-repository ppa:ondrej/php sudo apt update sudo apt install php-imagick libapache2-mod-php8.0 php8.0-common php8.0-mysql php8.0-fpm php8.0-gd php8.0-curl php8.0-zip php8.0-xml php8.0-mbstring php8.0-bz2 php8.0-intl php8.0-bcmath php8.0-gmp

Прочитайте данный учебник, чтобы настроить ваш виртуальный хост Apache/Nginx для работы с PHP 8.0.

  • Как установить разные версии PHP на Ubuntu 20.04, 18.04 и 20.10

Чтобы проверить, использует ли ваш Nextcloud PHP 8, перейдите на страницу Настройки Nextcloud -> Система.

После обновления до PHP 8 ваша установка Nextcloud может начать выдавать предупреждения о том, что

Лимит памяти PHP ниже рекомендованного значения 512MB.

Выполните следующую команду для изменения ограничения памяти в PHP8.

sudo sed - i 's/memory_limit = 128M/memory_limit = 512M/g' /etc/php/8.0/fpm/php. ini

После этого перезапустите PHP-FPM, чтобы применить внесённые изменения.

sudo systemctl reload php8.0-fpm

Заключение

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