Nextcloudサーバーの再構築…HTTPS対応、Tailscaleの利用
****************************************************************************************************************************************
ポイント:
自宅サーバーのWebサーバーから発信していたブログ”laotourの離れ5"を、レンタルサーバー(お名前.comのSD-11)からの”laotourの部屋”(fujilaotour.com)のサブドメインからの発信に移管した。
Webサーバーを動作させていた、Raspberry Pi 4B + USB-HDD にNextCloudサーバーを導入した。
従来同様、Samba-NASを共存させた。
****************************************************************************************************************************************
Raspberry Pi 4B(4G)の準備
1.microSDCardの準備
OS:Ubuntu 24.04 LTS(64bit) を書込み…Raspberry Imager利用
予備設定…ホスト名、ユーザー名、PW、WiFi、ロケール、SSH認証
2.IPアドレスの固定(IPv4設定)…詳細はIPアドレス固定2参照
2-1 OSアップデート
$ sudo apt update
$ sudo apt upgrade
2-2 NetworkManagerのインストールと実行
$ sudo apt install network-manager
$ sudo systemctl start NetworkManager
$ sudo systemctl status NetworkManager
● NetworkManager.service - Network Manager
Loaded: loaded (/usr/lib/systemd/system/NetworkManager.service; enabled; preset: enabled)
Active: active (running) since Sat 2024-06-01 16:35:55 JST; 6min ago
<以下表示省略>
2-3 接続情報確認
$ sudo nmcli connection show
2-4 アクセスポイント追加
$ sudo nmcli connection add ifname eth0 type ethernet con-name eth0
Connection 'eth0' (9e6d8038-8d8d-497f-a810-a5852df940b7) successfully added.
$ sudo nmcli connection add ifname wlan0 type ethernet con-name wlan0
Connection 'wlan0' (67873a12-8775-4293-a808-d4c90a096bac) successfully added.
$ sudo nmcli connection show
NAME UUID TYPE DEVICE
eth0 9e6d8038-8d8d-497f-a810-a5852df940b7 ethernet --
wlan0 67873a12-8775-4293-a808-d4c90a096bac ethernet --
2-5 IPアドレスの変更と固定
$ sudo nmcli connection modify eth0 ipv4.method manual ipv4.address 192.168.0.**/24 ipv4.gateway 192.168.0.1 ipv4.dns 192.168.0.1 ipv4.routes 192.168.0.1/24
$ sudo nmcli connection modify wlan0 ipv4.method manual ipv4.address 192.168.0.++/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.
$ sudo reboot
--------------------------------------------------------------------------------------------------------------------------------------------------------------
2-6 IPアドレスの確認
$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
<表示一部省略>
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether dc:a6:32:91:28:56 brd ff:ff:ff:ff:ff:ff
inet 192.168.0.70/24 brd 192.168.0.255 scope global noprefixroute eth0
<表示一部省略>
3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether dc:a6:32:91:28:57 brd ff:ff:ff:ff:ff:ff
inet 192.168.0.11/24 metric 600 brd 192.168.0.255 scope global dynamic wlan0
<表示以下省略>
*eth0しかIPアドレスの変更・固定ができてないが、このまま進める。
$ sudo nmcli connection show
[sudo] password for takasan:
NAME UUID TYPE DEVICE
eth0 9e6d8038-8d8d-497f-a810-a5852df940b7 ethernet eth0
lo b69e07f1-ec70-4e8e-b56f-899ae42c3dfa loopback lo
wlan0 67873a12-8775-4293-a808-d4c90a096bac ethernet --
3.USB-HDD関係の設定
3-1 フォーマット、マウント状態の確認
$ df -h
マウントはなし
$ sudo fdisk -l
<前部分表示省略>
Disk /dev/sda: 2.73 TiB, 3000592982016 bytes, 5860533168 sectors
Disk model: External HDD
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: 1ACFB32A-79C3-435E-9235-D2B2AE3D320A
Device Start End Sectors Size Type
/dev/sda1 2048 2930266111 2930264064 1.4T Microsoft basic data
/dev/sda2 2930266112 5860532223 2930266112 1.4T Linux filesystem
3-2 USB-HDDのマウント
$ sudo mkdir /media/HD-LCU3-1
$ sudo mkdir /media/HD-LCU3-2
$ sudo chmod 777 /media/HD-LCU3-1
$ sudo chmod 777 /media/HD-LCU3-2
$ sudo mount /dev/sda1 /media/HD-LCU3-1
$ sudo mount /dev/sda2 /media/HD-LCU3-2
*HD-LCU3-2には、今まで作業のnextcloud_dataがあったので、削除
/etc/fstabでUSB-HDDを起動時マウントするよう設定
UUID調査
$ sudo blkid
/dev/sda2: UUID="bce0ea56-3b9e-4984-b898-a2f7b059f023" BLOCK_SIZE="4096" TYPE="ext4" PARTLABEL="primary" PARTUUID="934cc623-f230-4de0-ba2d-0c596cefe69a"
/dev/sda1: LABEL="NAS-ntfs" BLOCK_SIZE="512" UUID="11D1631E78F0F065" TYPE="ntfs" PARTLABEL="primary" PARTUUID="cd19d498-51e1-4e43-8581-62bba2fdac18"
/etc/fstabに追記
$ sudo nano /etc/fstabLABEL=writable / ext4 defaults 0 1
LABEL=system-boot /boot/firmware vfat defaults 0 1
UUID="11D1631E78F0F065" /media/HD-LCU3-1 ntfs defaults,nofail 0 0
UUID="bce0ea56-3b9e-4984-b898-a2f7b059f023" /media/HD-LCU3-2 ext4 defaults,nofail 0 0
システムを再起動し、確認
$ sudo reboot
$ df -h
Filesystem Size Used Avail Use% Mounted on
tmpfs 379M 3.3M 376M 1% /run
/dev/mmcblk0p2 57G 2.0G 53G 4% /
tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
/dev/mmcblk0p1 505M 85M 420M 17% /boot/firmware
/dev/sda2 1.4T 28K 1.3T 1% /media/HD-LCU3-2
/dev/sda1 1.4T 927G 472G 67% /media/HD-LCU3-1
tmpfs 379M 12K 379M 1% /run/user/1000
NextCloudサーバーの構築
1.snap-のインストール
$ sudo apt update
$ sudo apt upgrade
$ sudo apt install snapd
$ sudo snap install core
core 16-2.61.2 from Canonical? installed
2.Nextcloudのインストール・動作確認
$ sudo snap install nextcloud
nextcloud 28.0.6snap1 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-c edis-server" "renew-c Started.
3.Nextcloudサーバーに接続(ブラウザ)、管理者アカウントでログイン
ログイン後、推奨アプリインストール。…Calender、Contents、Mail、Nextcloud Office、Notes、Tal
4.USB-HDDの有効化
$ sudo snap connect nextcloud:removable-media
$ sudo cp -r /var/snap/nextcloud/common/nextcloud/data /media/HD-LCU3-2/nextcloud_data
$ sudo cp -r /var/snap/nextcloud/current/nextcloud/config/config.php /var/snap/nextcloud/current/nextcloud/config/config.php.org
$ sudo nano /var/snap/nextcloud/current/nextcloud/config/config.php
'datadirectory' => '/var/snap/nextcloud/common/nextcloud/data',を下記に変更
'datadirectory' => '/media/HD-LCU3-2/nextcloud_data',
$ sudo reboot
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
5.Tailscaleの導入・HTTPS化
5-1 Tailscaleの導入
takasan@raspi16:~$ curl -fsSL https://tailscale.com/install.sh | sh
<前部分表示省略>
Installation complete! Log in to start using Tailscale by running:
sudo tailscale up
5-2 Tailscaleへログインする
$ sudo tailscale up
To authenticate, visit:
ブラウザで上記に接続する。Tailscaleにログインする。TailscaleでNextCloudサーバーに接続ができた。
raspi16 1.66.4 Connected
fujilaotour@gmail.com Linux 6.8.0-1004-raspi
5-3 HTTPS化
$ sudo tailscale serve --bg --https=443 80
Available within your tailnet:
|-- 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
$ tailscale serve status
https://raspi16.tail<乱数>.ts.net (tailnet only)
|-- / proxy http://127.0.0.1:80
$ sudo nextcloud.occ config:system:set trusted_domains 1 --value=raspi16.tail<乱数>.ts.net
System config value trusted_domains => 1 set to string raspi16.tail<乱数>.ts.net
5-4 外部から接続可能な信頼できるアカウントの確認
$ sudo nextcloud.occ config:system:get trusted_domains
192.168.0.**
raspi16.tail<乱数>.ts.net
5-5 Tailscaleを通しての相互接続
HP-PC→NextCloudサーバー
ブラウザで、https://raspi16.tail<乱数>.ts.netにアクセス…NextCloudサーバーログイン画面
Nextcloud接続ショートカット…https://raspi16.tail<乱数>.ts.netを設定。古いアカウントは全て削除。
スマホ(Android)→NextCloudサーバー
ブラウザで、https://raspi16.tail<乱数>.ts.netにアクセス…NextCloudサーバーログイン画面
Nextcloudアプリ…削除。再インストール…https://raspi16.tail<乱数>.ts.netを入力し、ログイン。
************************************************************************************************************************************************
参考記事
超簡単おうちNextcloudと面倒な設定要らずの外部公開 with Tailscale #RaspberryPi - Qiita
環境Raspberry Pi 4 Model BRaspbian Bullseye 64bit2023年12月追加以下の解説はRaspberry Piを対象にしていますがさすがにRAM 2G…
【Nextcloud】自宅サーバーで5年使って感じたメリットをまとめてみた | ばすにっきTips
オンプレミスで運用できる完全OSSなクラウドストレージ「nextcloud」のいいところをまとめてみました!
*************************************************************************************************************************************************
Samba-NASの構築
1.Sambaのインストール
$ sudo apt install samba
2.動作条件設定
$ sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.org
$ sudo nano /etc/samba/smb.conf
(最終段に追記)
[global]
workgroup = WORKGROUP
interfaces = 192.168.0. 127.0.0.0/8 eth0
bind interfaces only = yes
hosts allow = 192.168.0.
max log size = 100
security = user
[nas1]
comment = raspi16 nas
path = /media/HD-LCU3-1
public = yes
read only = no
browsable =yes
force user = takasan
takasan@raspi16:~$ sudo reboot
3.動作確認
HP-PCのエクスプローラー-ネットワークでアクセス確認
ネットワークドライブに割り当て