久々にログインしたらバージョン28.0.3がサポート終了していた。
そのため二段階でバージョンアップをした。
エラー&警告
まあいつもの事なんだけど発生する。下記に備忘録として記録しておく。
One or more mimetype migrations are available. Occasionally new mimetypes are added to better handle certain file types. Migrating the mimetypes take a long time on larger instances so this is not done automatically during upgrades. Use the command `occ maintenance:repair --include-expensive` to perform the migrations.
sudo -u www-data php occ maintenance:repair --include-expensive
をnextCloudのディレクトリで実行
You are currently running PHP 8.1.31. PHP 8.1 is deprecated since Nextcloud 30. Nextcloud 32 may require at least PHP 8.2. Please upgrade to one of the officially supported PHP versions provided by the PHP Group as soon as possible. 詳細については、ドキュメントを参照してください。
PHP8.1を削除する
sudo apt remove php8.1*
sudo apt auto-remove
PHP8.2を削除する
sudo apt remove php8.2*
sudo apt auto-remove
リポジトリ追加
sudo add-apt-repository ppa:ondrej/php
PHP8.3モジュール追加
sudo apt install php8.3 php8.3-ctype php8.3-curl php8.3-dom php8.3-GD php8.3-iconv php8.3-JSON php8.3-mbstring php8.3-mysql php8.3-zip php8.3-bz2 php8.3-intl php8.3-apcu php8.3-memcached php8.3-imagick php8.3-gmp php8.3-bcmath -y
↓
Apache再起動
sudo systemctl restart apache2
MariaDBバージョン "10.4.18-MariaDB-1:10.4.18+maria~bionic-log" が検出されました。このバージョンのNextcloudで最高のパフォーマンス、安定性、機能性を実現するには、MariaDB >=10.6 および <=11.4を推奨します。
バージョン10.6(LTS版)にアップグレード
↓
sudo apt update
sudo apt install mariadb-server
PHPのメモリ制限が推奨値の512 MB以下です。
以下を実行。
sudo sed -i 's/memory_limit = 128M/memory_limit = 512M/g' /etc/php/8.3/apache2/php.ini
sudo systemctl restart apache2
データベースがトランザクションファイルロックに使われています。パフォーマンスをあげるには、可能であればメモリーのキャッシュを設定してください。 詳細については、ドキュメントを参照してください。
sudo apt install redis-server php8.3-redis
を実行する。(php-redisとすると、PHPのバージョンが8.4.4になりInternal Server Errorになる)
sudo vi /var/www/html/nextcloud/config/config.php
'maintenance_window_start' => 1,の下に追記して保存。
'memcache.local' => '\OC\Memcache\APCu',
'memcache.distributed' => '\OC\Memcache\Redis',
'memcache.locking' => '\OC\Memcache\Redis',
'redis' => [
'host' => 'localhost',
'port' => 6379,
],
↓
Apache再起動
sudo systemctl restart apache2
最終ジョブ実行は9時間前です。何か問題が発生しています。
dpkg -l | grep php8.3-apcuの結果
↓
ii php8.3-apcu 5.1.24-1+ubuntu22.04.1+deb.sury.org+1 amd64 APC User Cache for PHP
php -m | grep apcuの結果
↓
apcu
APCu に関するエラーメッセージが出ているため、php-apcu モジュールが正しくインストールされているか、
またはCLI環境で有効になっているかを確認するのがよさそう。
dpkg -l | grep php8.3-apcuの結果
↓
ii php8.3-apcu 5.1.24-1+ubuntu22.04.1+deb.sury.org+1 amd64 APC User Cache for PHP
php -m | grep apcuの結果
↓
apcu
sudo -u www-data crontab -l
を実行してcronがキチンと設定されているか確認する。
*/5 * * * * php -f /var/www/html/nextcloud/cron.php
cronは適切に設定されている。
php -i | grep apc.enable_cli
↓
apc.enable_cli => Off => Off
sudo vi /etc/php/8.3/cli/php.iniに下記を追記
apc.enable_cli = 1
いくつかの欠落しているオプションのインデックスを検出しました。データベースのパフォーマンスを向上させるために、(Nextcloudまたはインストールされたアプリケーションによって)新しいインデックスが追加されることがあります。インデックスの追加には時間がかかり、一時的にパフォーマンスが低下することがあるため、アップグレード時には自動的には行われません。インデックスが追加されると、それらのテーブルへのクエリが速くなるはずです。インデックスを追加するには、`occ db:add-missing-indices` コマンドを使用してください。インデックスが不足: "dav_shares_resourceid_type" テーブル内の "dav_shares", "dav_shares_resourceid_access" テーブル内の "dav_shares", "oc_npushhash_di" テーブル内の "notifications_pushhash", "fs_name_hash" テーブル内の "filecache", "systag_by_objectid" テーブル内の "systemtag_object_mapping". 詳細については、ドキュメントを参照してください。
sudo -u www-data php occ db:add-missing-indices
をnextCloudのディレクトリで実行
cron.phpを再実行
sudo -u www-data /usr/bin/php -f /var/www/html/nextcloud/cron.php
Apache再起動
sudo systemctl restart apache2
PHP OPcacheモジュールが正しく設定されていません。 OPcache のインターン化文字列バッファがほぼいっぱいです。繰り返しの文字列を効果的にキャッシュするために、PHPの設定に "opcache.interned_strings_buffer" を "8" よりも高い値で設定することをおすすめします。
sudo vi /etc/php/8.3/mods-available/opcache.ini
に以下を追記。
opcache.interned_strings_buffer=16
Apache再起動
sudo systemctl restart apache2
以上