Nextcloudサーバーについては、今まで下記のような試みを行ってきた。
1.旧PC(Windows XPで使用)にUbuntu20.04LTSを導入し、Nextcloudをインストール。
2.Raspberry Pi 4B(Ubuntu20.04LTS)にNextcloudをsnapインストール。USB-HDDを接続。
3.Raspberry Pi 4B(Ubuntu24.04LTS)にNextcloudをインストール。USB-HDDを接続し、NAS(Samba)と併用利用。
具体的には、
1- 自宅ネット内の他のPC(Windows10)から画像ファイルの送信などを実行。
Nextcloudの使用方法などがよく理解できていず、良く動作せず、中断。
2- 自宅ネット内のNAS(Raspberry Piで実現)、自宅外のスマホ、等から画像ファイルの送信などを実行。
Nextcloud導入のRaspberry PiのOSアップ後、起動が出来なくなった。
3- 上記2-と同様、自宅ネット内・自宅外のデバイスから、画像ファイルの送信を実行(HTTPS対応)。
Nextcloud導入のRaspberry PiのOSアップ後、起動が出来なくなった。
Raspberry Pi 5Bを入手した事もあり、今一度Nextcloudサーバーの構築等にチャレンジしてみることにした。
HTTPS対応、OSのUpdateなどで失敗してきたことが多かったので、
・USB-SSDを接続し、SSDからのOS起動。Nextcloudサーバー単体の運用とする。
・Timescale.netを利用する。
で、進めることにした。
【1】機器構成
1.ハードウェア
Raspberry Pi 5B(4G)
USB-SSD SSD-PST250U3BA/N 250GB Buffalo
2.ソフトウェア
OS:
MicroSD:Raspberry Pi OS(64bit)
USB-SSD:Ubuntu Server24.04.1LTS(64bit)
*以下【2】~【3】の作業は、hdmi出力に接続したLCDを使用して実行する。【4】以降の作業は、Raspberry Pi 5B以外の端末からSSH接続を使って作業することも可能です。
【2】USB-SSDからのOS起動
1.USB-SSDの状態確認
・MicroSDを使用し、Raspberry Pi OSを起動
・USB-SSDは下記のようになっていた。(df -h & sudo fdisk -l で確認)
/dev/sda1 マウント:/media/+++++ w95 FAT32(LBA)
/dev/sda2 マウント:/media/+++++ 83 Linux
2.USB-SSDへのUbuntu書込み
・購入後の各種テストで、Ubuntu Server24.04.1LTS(64bit)を書込んだと思われるが、念のため、SSDを取外し、Windows端末にて、Ubuntu Server24.04.1LTS(64bit)を書込み。…Raspberry Pi Imager使用
3.USB-SSDからの起動
・RaspberryPi OSを起動し、USB-SSDからの起動に設定…sudo raspi-configを実行
・ブートローダーの更新
Adovanced Options -> Bootloader Version -> Latest
・ブート順の決定
Adovanced Options -> Boot Order -> USB BootのB2選択
・MicroSDを取外し、Raspberry Pi 5Bの電源を入れて、USB-SSDから起動させる。
*電源電圧が5V3Aの場合、USB-SSDからの起動はできない。
USB-SSD内のOS内の下記ファイルに追記が必要
/boot/firmware/config.txt に追記
usb_max_current_enable=1
【3】ネットワーク接続の確認・設定
1.IPアドレスの確認
NetworkManagerを使用して、IPアドレスを確認・固定します。
1-1 NetworkManagerのインストール
$sudo apt install network-manager
$sudo reboot
1-2 NetworkManagerの動作確認
$ sudo systemctl status NetworkManager
● NetworkManager.service - Network Manager
Loaded: loaded (/usr/lib/systemd/system/NetworkManager.service; enabled; preset: enabled)
Active: active (running) since Wed 2025-01-08 06:44:33 JST; 4h 13min ago
<以下省略>
1-3 IPアドレス確認
$ sudo nmcli connection show
何も表示せず
2.アクセスポイントの追加
$ sudo nmcli connection add ifname eth0 type ethernet con-name eth0
Connection 'eth0' (++++++++-++++-++++-++++-++++++++++++) successfully added.
$ sudo nmcli connection show
NAME UUID TYPE DEVICE
eth0 ++++++++-++++-++++-++++-++++++++++++ ethernet --
$ sudo nmcli connection modify eth0 ipv4.method manual ipv4.address 192.168.*.**/24 ipv4.gateway 192.168.0.1 ipv4.dns 192.168.0.1 ipv4.routes 192.168.0.1/24
$ sudo nmcli connection up
Error: neither a valid connection nor device given.
*この状態では、アクセスポイントと、Deviceが関連付けられていない。再起動する。
$ sudo reboot
3.IPアドレスの再確認
$ ip a
eth0: 192.168.*.**/24
wlan0:192.168.*.*/24
$ sudo nmcli connection show
NAME UUID TYPE DEVICE
eth0 ++++++++-++++-++++-++++-++++++++++++ ethernet eth0
lo ++++++++-++++-++++-++++-++++++++++++ loopback lo
*eth0と同様の手順でwlan0のIPアドレスも固定しようとしたが、うまくいかなかった。この状態で続ける。
参考記事2:IPアドレス固定1
参考記事3:IPアドレス固定2
【4】Nextcloudサーバー導入
1.OSの最新化
$ sudo apt update
$ sudo apt upgrade
2.snapのインストール
$ sudo apt install snapd
snapd is already the newest version (2.66.1+24.04).
snapd set to manually installed.
$ sudo snap install core
core 16-2.61.4-20240607 from Canonical? installed
3.Nextcloudのインストール・動作確認
$ sudo snap install nextcloud
nextcloud 30.0.4snap1 from Nextcloud? installed
$ sudo snap start nextcloud
Run service command "start" for services ["apache" "logrotate" "mysql" "nextcloud-cron" "nextcloud-fixer" "php-fpm" "redis-server" "renew-certs"] of s Started.
【5】Nextcloudサーバーへの接続と基本設定
Tailscaleは、VPNのサービスであり、Nextcloudと組合わせて、プライベートクラウドを運用してみるのも良いと思われる。
1.Nextcloudサーバーに接続…同一LAN内のWindows端末のブラウザより
接続先:http://192.168.*.**
管理者アカウントでログイン
管理者アカウント:<任意に作成>
パスワード :<任意に作成>
推奨アプリをインストール……Calender、Contacts、Mail、Nextcloud Office、Notes、Talk、など
2.Tailscaleの導入・HTTPSでの接続
2-1 Tailscaleの導入
$ curl -fsSL https://tailscale.com/install.sh | sh
Installing Tailscale for ubuntu noble, using method apt
+ sudo mkdir -p --mode=0755 /usr/share/keyrings
[sudo] password for takashi6:
<表示省略>
Installation complete! Log in to start using Tailscale by running:
sudo tailscale up
$ sudo tailscale up
To authenticate, visit:https://login.tailscale.com/a/8e2725f01db64
2-2 Windows端末のブラウザで上記に接続する。下記メールアドレス設定後、Tailscaleにログインする。(Googleでログイン)
TailscaleでNextCloudサーバーに接続ができた。
メール:tfujiwara@zeus.eonet.ne.jp
MACHINE:raspi17 fujilaotour@gmail.com
ADDRESSES:100.67.**.** (raspi7.tail(ある乱数).ts.net)
VERSION:1.78.1 Linux 6.8.0-1017-raspi
2-3 HTTPS化
2-3-1 HTTPS化
$ sudo tailscale serve --bg --https=443 80
Available within your tailnet:https://raspi7.tail(ある乱数).ts.net/ | -- proxy http://127.0.0.1:80
Serve started and running in the background.
To disable the proxy, run: tailscale serve --https=443 off
$ sudo nextcloud.occ config:system:set overwriteprotocol --value 'https'
System config value overwriteprotocol set to string https
2-3-2 Tailscaleを使用して接続する方法の確認。
$ tailscale serve status
https://raspi7.tail(ある乱数).ts.net (tailnet only)
|-- / proxy http://127.0.0.1:80
3.Tailscale使用による各種デバイスからの接続(HTTPS)
3-1 信頼できるドメインの設定
$ sudo nextcloud.occ config:system:set trusted_domains 1 --value=raspi7.tail(ある乱数).ts.net
System config value trusted_domains => 1 set to string raspi7.tail(ある乱数).ts.net
3-2 外部から接続可能な信頼できるアカウントの確認
$ sudo nextcloud.occ config:system:get trusted_domains
192.168.0.**
raspi7.tail(ある乱数).ts.net
3-3 各種デバイスからの接続
3-3-1 HP-PC→NextCloudサーバー
ブラウザで、https://raspi7.tail(ある乱数).ts.netにアクセス…NextCloudサーバーログイン画面、ログインOK
3-3-2 スマホ(Android)→NextCloudサーバー
Nextcloudアプリ…削除。(アクセス不可になったNextcloud Serverへの接続となっていたため)
ブラウザで、https://raspi7.tail(ある乱数).ts.netにアクセス…NextCloudサーバーログイン画面
Nextcloudアプリ…再インストール…https://raspi17.tail(ある乱数).ts.netを設定し、NextCloudサーバー管理者アカウントでログイン。
現在Tailscalアプリを導入したので、
・TailscaleアプリでTailscale.netに接続する。(Googleアカウント)
・NextcloudアプリのNextCloudサーバーログイン画面で、管理者アカウントでログイン。
参考記事4:超簡単おうちNextcloudと面倒な設定要らずの外部公開 with Tailscale Qiita @hiro2do
以上