В базовый состав TurnKey Nextcloud (установлен из Proxmox) входит PHP версии – 7.3.x Но c выходом 24-ой версии Nextcloud, требуется версия PHP не менее – 7.4. В этой статье рассмотрим вариант обновления с PHP 7.3 до версии 8.0.x. И так приступим.
Для запуска скрипта от имени другого пользователя, нам понадобится sudo. Установим его
apt install sudo -y
Выполним обновление системы
apt update && apt upgrade
Проверим какие модули PHP были установлены
dpkg --get-selections | grep -v deinstall | grep php
У меня был установлен следующий список php модулей: bcmath
,cli
,common
,curl
,gd
,gmp
,imap
,intl
,json
,ldap
,mbstring
,mysql
,opcache
,readline
,xml
,zip
Удаляем PHP 7.x
apt-get purge php7.* -y
Устанавливаем зависимости
apt install -y lsb-release ca-certificates apt-transport-https software-properties-common gnupg2
Подключаем репозиторий для установки PHP 8.x
echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/sury-php.list
wget -qO - https://packages.sury.org/php/apt.gpg | apt-key add -
Проверяем обновления
apt update && apt list --upgradable
Обновляем компоненты и удаляем ненужные зависимости
apt upgrade -y && apt autoremove
Устанавливаем PHP 8.0.x c нужными для работы Nextcloud модулями
apt install php8.0 php8.0-bcmath php8.0-curl php8.0-gd php8.0-gmp php8.0-imap php8.0-intl php8.0-ldap php8.0-mbstring php8.0-memcache php8.0-redis php8.0-imagick php8.0-mysql php8.0-xml php8.0-zip
Проверяем версию PHP
php -v
Перезапускаем Apache
systemctl restart apache2
Обновляем наш Nextcloud до последней версии, через терминал, запускаем скрипт updater.phar
от имени www-data
sudo -u www-data php /var/www/nextcloud/updater/updater.phar
Изменяем в файле php.ini параметр memory_limit
, на значение -1
, для этого открываем его в редакторе
nano +430 /etc/php/8.0/apache2/php.ini
Перезапускаем Apache
systemctl restart apache2
Перестраиваем индексы базы данных
turnkey-occ db:add-missing-indices
Преходим на сайт, проверяем версию Nextcloud. На этом все 🙂