KUSONEKOの見る世界

CentOS 8 で Nextcloud 21 にアップデート(nginx + PHP-FPM + MySQL)

Nextcloud Desktopに、Version 20.0.9のアップデートがあると通知が来ていたので、アップデートすることにしました。

いつも通り、コマンドで実行してみると、Version 21.0.1が表示されました。

[root@server ~]# cd /var/www/html/nextcloud/updater/
[root@server updater]# sudo -u nginx php updater.phar
Nextcloud Updater - version: v20.0.0beta4-11-g68fa0d4

Current version is 20.0.8.

Update to Nextcloud 21.0.1 available. (channel: "stable")

Nextcloud 21からは、CentoOS 8 のデフォルトのPHPバージョンである7.2はサポート外ですが、先日7.4にアップデート済みなので、続行しました。

CentOS 8 の PHP を 7.2 から 7.4 に上げた

CentOS 8 のPHPバージョンを 7.2 から 7.4 にアップデートしてみました。パフォーマンス向上が見込めます。

変更内容

調べてみると、Nextcloud 21の主な変更点は以下でした。

  • Whiteboard integration 登場
  • Nextcloud Talk 機能追加
  • サーバ負荷軽減
  • ページ読み込み時間短縮

パフォーマンスが向上しているので、PHPのバージョンに問題が無ければ、アップデートした方が良いでしょう。

セキュリティ&セットアップ警告の消し込み

バージョン21にアップデート直後、セットアップに関して警告がいくつか出ていました。
以下の対処を行いました。各種変更後、適宜nginxとPHP-FPMのrestartを行ってください。

  • ユーザーがインポートしたSSL証明書をチェックするバックグラウンドジョブが保留になっています。しばらくして再度確認してください。
    →次の日に確認したら消えていた
  • Webサーバーは適切にホスト名 "/.well-known/webfinger" が引けるように設定されていません。より詳しい情報については、ドキュメントを参照ください。
  • Webサーバーは適切にホスト名 "/.well-known/nodeinfo" が引けるように設定されていません。より詳しい情報については、ドキュメントを参照ください。
    →nginx.confに以下を追加後、しばらくすると消える。(.well-knownの古い設定は削除)
        location ^~ /.well-known {
            location = /.well-known/carddav   { return 301 /nextcloud/remote.php/dav/; }
            location = /.well-known/caldav    { return 301 /nextcloud/remote.php/dav/; }
            location ^~ /.well-known          { return 301 /nextcloud/index.php$uri; }
            try_files $uri $uri/ =404;
        }
  • Your installation has no default phone region set. This is required to validate phone numbers in the profile settings without a country code. To allow numbers without a country code, please add "default_phone_region" with the respective ISO 3166-1 code ↗ of the region to your config file.
    →config.phpに以下の行を追加
      'default_phone_region' => 'JP',
  • データベースにいくつかのインデックスがありません。 大きなテーブルにインデックスを追加すると、自動的に追加されないまでに時間がかかる可能性があるためです。 "occ db:add-missing-indices"を実行することによって、インスタンスが実行し続けている間にそれらの欠けているインデックスを手動で追加することができます。 インデックスが追加されると、それらのテーブルへのクエリは通常はるかに速くなります。  テーブル "oc_filecache"のインデックス "fs_size"が見つかりません。
    →以下の通り実施
    # cd /var/www/html/nextcloud/
    # sudo -u nginx php occ db:add-missing-indices
    Check indices of the share table.
    Check indices of the filecache table.
    Adding additional size index to the filecache table, this can take some time...
    Filecache table updated successfully.
    Check indices of the twofactor_providers table.
    Check indices of the login_flow_v2 table.
    Check indices of the whats_new table.
    Check indices of the cards table.
    Check indices of the cards_properties table.
    Check indices of the calendarobjects_props table.
    Check indices of the schedulingobjects table.
    Check indices of the oc_properties table.

Whiteboard integration

面白そうな機能なので、使ってみました。

Whiteboard integrationをアプリから有効化後、ファイル作成からNew Whiteboardを選ぶことで、拡張子が.whiteboardのファイルが作成され、編集画面が出てきます。

自由に編集が可能でしたが、サーバのスペックが低い(Celeron N3150)ため、かなり反応が遅かったです。

また、このファイルを他のユーザと共有することで、共同作業もできました。

Nextcloud Talk

Talkは以前からありましたが、今回試しに使ってみました。

UIとしては、よくあるチャット画面で、レスポンスは悪くなかったです。
ビデオ通話もLAN内ですが、問題なく使用できました。

また、iPhoneとAndroidの公式アプリも公開されており、プッシュ通知もされるので、LINEの代わりに使えそうです。
漏らしたくない情報のやりとりには使えるかも。