はじめに
これまで,ubuntuにnextcloudを入れた後のトラブルシューティング(その1),ubuntuにnextcloudを入れた後のトラブルシューティング(その2)でnextcloudの警告を消すことに関する事例を示しました.ここでは引き続き残った部分についての事例を示すこととします.
さて,nextcloudをインストールしたら,管理者設定 -> 概要 に書かれているエラーやら警告やらを丹念に取り除くことが課題ですが,ここでは,
の状態からのトラブルシューティングに関する事例報告をいたします.
前提条件
【OS】ubuntu22.04
【Webサーバ】apache
【nextcloud】ver.28
【データベース】mariadb
【php】8.1
【インストールパス】/var/www/html/nextcloud/
インストールは「Ubuntu 22.04に Nextcloud をインストールする方法」を参考に行いました.
トラブルシューティング
*「 データベースがトランザクションファイルロックに使われています。パフォーマンスをあげるには、可能であればメモリーのキャッシュを設定してください。 詳細については、ドキュメント↗を参照してください。」
これは,Nextcloudのインストール後の対応:config.php修正とredis-server組み込みを参考にしたところ,redis-serverが働いていないことが原因のようです.そこで,redis-serverをインストールして動作させるようにすれば良いのでしょう.
まず,redis-serverのインストールをします.このredis-serverとともにphp8.1-redisも併せてインストールします.
$ sudo aptitude install redis-server php8.1-redis
php8.1-redisにおける8.1はphpのバージョンを指しますので,異なるバージョンである場合は,8.1の部分を読み替えてください.
almalinuxなどredhat系の場合は,
# dnf install redis php-redis
となります.
これらはsystemctl startをしなくても動作するかと思いますが,念のため,
$ systemctl status redis-server.service
としてstatusがactiveであることを確認し,activeとなっていれば,私の場合であればこの警告は消えました.
バックグラウンドジョブの設定
さて,これでトラブルシューティングは終わったものだと思いましたが, 管理者設定 => 基本設定 を今一度確認すると,
と,バックグラウンドジョブに問題があったようです.実はバックグラウンドジョブとして「cron」を選択した後の設定を失念していたことが原因でした.
そこで,【Nextcloud】システムのCronにバックグラウンドジョブを設定する。を参考に,バックグラウンドジョブcronの設定をします.
$ sudo crontab -u www-data -e
とすると編集画面が出現しますので
*/5 * * * * php -f /var/www/nextcloud/cron.php
と書いて保存します.
上記においては
5:5分おきにcronを実行する.
php: # php が実行できる前提での記述
という意味があります.
ubuntuの場合,この編集にはviやemacsなどのテキストエディタを選択できるようですから,お好みで選択して編集してください.
そして,この設定を行って,5分以上経つと
に示すように,バックグラウンドジョブが実行されていることがわかります.
むすび
ここでは,ubuntuにnextcloudを入れた後のトラブルシューティング(その1),ubuntuにnextcloudを入れた後のトラブルシューティング(その2)に引き続き,nextcloudの警告を消すことに関する事例を示しました.
その結果,
このように,過去のエラー以外を除いた,エラーや警告は出なくなりました.この
1 error in the logs since ****
と書かれた日から1つもエラーがなければ,エラーはないとなることでしょう.
nextcloudのバージョンが28になってから,この時点で直ちに”合格”が表示されないようです.
Refernce
(1) Nextcloudのインストール後の対応:config.php修正とredis-server組み込み
(2) 【Nextcloud】システムのCronにバックグラウンドジョブを設定する。
以上