Nextcloudサーバーについては、今まで下記のような試みを行ってきた。

1.旧PC(Windows XPで使用)にUbuntu20.04LTSを導入し、Nextcloudをインストール。
2.Raspberry Pi 4B(Ubuntu20.04LTS)にNextcloudをsnapインストール。USB-HDDを接続。

具体的には、
1- 自宅ネット内の他のPC(Windows10)から画像ファイルの送信などを実行。
Nextcloudの使用方法などがよく理解できていず、良く動作せず、中断。
2- 自宅ネット内のNAS(Raspberry Piで実現)、自宅外のスマホ、等から画像ファイルの送信などを実行。
Nextcloud導入のRaspberry PiのOSアップ後、起動が出来なくなった。

Raspberry Pi 5Bを入手した事もあり、今一度Nextcloudサーバーの構築にチャレンジしてみることにした。

【1】Nextcloudサーバーの再構築

機器構成
Raspberry Pi 5B(4G)
SSD(USB接続) SSD-PST250U3BA/N 250GB Buffalo

ソフトウェア
OS:Ubuntu Server 23.10(64bit)

試みたことは、
1.USB-SSDからのRaspberry Pi起動…Raspberry Pi OS
2.USB-SSDからのRaspberry Pi起動…Ubuntu Server
3.NextCloudのインストール
である。

Nextcloudサーバーの再構築について記載する。
Raspberry Pi 5Bは、USB-SSDにインストールしたUbuntu Server 23.10(64bit)で起動している。
USB-SSDによるRaspberry Piの起動に関しては、”ラズパイ応用”を参照ください。

1.nextcloudのsnapインストール

$ sudo snap install nextcloud
nextcloud 27.1.6snap1 from Nextcloud? installed

2.nextcloudの動作確認…サービスの提供確認

$ snap services
Service Startup Current Notes
lxd.activate enabled inactive -
lxd.daemon enabled inactive socket-activated
lxd.user-daemon enabled inactive socket-activated
nextcloud.apache enabled active -
nextcloud.logrotate enabled inactive timer-activated
nextcloud.mysql enabled active -
nextcloud.nextcloud-cron enabled active -
nextcloud.nextcloud-fixer enabled active -
nextcloud.php-fpm enabled active -
nextcloud.redis-server enabled active -
nextcloud.renew-certs enabled active -

3.nextcloudへのアクセス

Window端末のブラウザにて、http://<RaspberryPiのIPアドレス> にアクセスする。
管理者アカウントを作成し、ログイン
推奨アプリインストール

4.信頼できるドメインの設定

・現在の設定確認
$ sudo nextcloud.occ config:system:get trusted_domains
192.168.0.**
・信頼できるドメインの追加と確認
$ sudo nextcloud.occ config:system:set trusted_domains 2 --value=fujilaotour.shop:81
[sudo] password for takashi6:
System config value trusted_domains => 2 set to string fujilaotour.shop:81
$ sudo nextcloud.occ config:system:set trusted_domains 3 --value=fujitako.mydns.jp:81
System config value trusted_domains => 3 set to string fujitako.mydns.jp:81

$ sudo nextcloud.occ config:system:get trusted_domains
192.168.0.**
fujilaotour.shop:81
fujitako.mydns.jp:81

*信頼できるドメインに追加した上記のドメインは、当然DDNSに設定追加している。--2024.5.10追記

5.ファイアーウォール設定

サーバーへのアクセス制御を行う。
但し、現在Webサーバーを公開しているため、port80,443は使用している。Nextcloud用として、port81,444を使うことを考える。
$ sudo ufw allow 22,80,81,443,444,3389/tcp
Rules updated
Rules updated (v6)
$ sudo ufw status
Status: inactive
$ sudo ufw enable
Command may disrupt existing ssh connections. Proceed with operation (y|n)? y …sshで作業中のため y を入力する
Firewall is active and enabled on system startup
$ sudo ufw status
Status: active

To Action From
-- ------ ----
22,80,81,443,444,3389/tcp ALLOW Anywhere
22,80,81,443,444,3389/tcp (v6) ALLOW Anywhere (v6)

6.ポート開放、ポート変更処理

ルーターでport81、444をNextcloudサーバーに開放します。

Nextcloudサーバーの接続ポート変更の処理…標準では、port80、443に設定されているため、変更が必要
$ sudo snap set nextcloud ports.http=81 ports.https=444

7.各種端末からのアクセステスト

信頼できるドメインを使用して、各種端末からの接続テストを実行する。

7-1 Windows端末…NextCloudサーバーと同じLAN内からの接続
信頼できるドメインにブラウザからアクセスする。
ログイン画面が表示されるため、管理者ユーザーとしてログインできることを確認する。

7-2 スマートフォンからのアクセス…NextCloudサーバーと異なるネットからの接続
スマートフォンのWiFiをoffにして、外部インターネット空間からの接続状態にする。

ブラウザから信頼できるドメインにアクセスする。
ログイン画面が表示されたので、管理者ユーザーとしてログインできることを確認する。

8.SSLを使用し、Nextcloud Webインターフェイスを保護する

$ sudo nextcloud.enable-https lets-encrypt

*Nextcloudサーバーにアクセスする特定のドメインfujitako.mydns.jpでのSSL化は成功しなかった。

certbotがインストールされてないから?と思い、certbotをインストールしてみたが、うまくいかなかった。

確かに、fujitako.mydns.jpは、DDNS設定で自宅の回線に名前解決させている。
が、自宅回線は、すでに公開しているWebサーバーtfujiwara.workにDDNS設定しており、SSL化も実行している。
公開するサーバーのSSL化は、1回線について1ドメインが当たり前と思う。

*SSL化の失敗は、”1回線について1ドメイン”ということより、Let's EncryptはHTTPSとして当然port443を使うことを前提にしている。私のシステムでは、Webサーバーの公開でport80,443を使用済みのため、Nextcloudにはport81,444を使うようにした。そのためSSL化が成功しなかったと思える。--2024.5.10追記

9.管理者以外のユーザー作成とデータファイルの転送

9-1 新しいユーザー作成
・Windows端末でブラウザから管理者ユーザーでログインする。
・管理者メニューからユーザーに進み、新しいユーザーを追加作成できる。
管理者以外のユーザー、パスワードを作成。 △△△△△ PW:××××

9-2 モバイルアプリ(スマートフォン)の設定
Androidのアプリとして、NextCloudサーバーに接続できるアプリがあり、写真などのデータファイルの転送先として指定できる。
NextCloudアプリの設定方法としては、
・GoogleストーアーからNextCloudアプリをインストールする。
・ホスト(アクセス先)を指定する。…http://fujitako.mydns.jp:81/ など
・”NextCloudアカウントに端末のアクセスを許可する前にログインするように”という指示が出る。
・NextCloudのユーザー名(上記で作成した新しいユーザー)でログインし、アクセス権限を設定する。(例えばフルアクセス)
・以後、NextCloudアプリは、接続先としてNextCloudの特定ユーザーの頁を指す。
写真アプリで送信先としてNextCloudを選択しフォルダーを指定すると、その特定ユーザーのフォルダーに写真がアップロードされる。

*NextCloudアプリをインストールし、管理者ユーザーでログインすれば、当然アプリは管理者の頁を指す。

------------------------------------------------------------------------------------
参考記事

超簡単おうちNextcloudと面倒な設定要らずの外部公開 with Tailscale

超簡単おうちNextcloudと面倒な設定要らずの外部公開 with Tailscale #RaspberryPi - Qiita

環境Raspberry Pi 4 Model BRaspbian Bullseye 64bit2023年12月追加以下の解説はRaspberry Piを対象にしていますがさすがにRAM 2G…

Raspberry Pi 4で64ビットNextcloudサーバーを構築してみました

Raspberry Pi 4で64ビットNextcloudサーバを構築してみました | 日記というほどでも

Raspberry Pi 4でNextcloudサーバを構築してみました。性能を最大限に引き出すため、最新の64ビットOSをインストールしました。たっぷりとファイルを入れられるように、Ra…

【Nextcloud】自宅サーバーで5年使って感じたメリットをまとめてみた

【Nextcloud】自宅サーバーで5年使って感じたメリットをまとめてみた | ばすにっきTips

オンプレミスで運用できる完全OSSなクラウドストレージ「nextcloud」のいいところをまとめてみました!