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」のいいところをまとめてみました!