NextCloud+CloudBeatsで出先から自宅の音楽データを再生 (2)NextCloudのセットアップ

前回紹介した,NextCloud+CloudBeatsによるストリーミング再生環境のうち,NextCloudの構築方法を記載します.

0. 環境

1. snapとNextCloudのインストール

以下のコマンドでインストールします.

sudo apt update
sudo apt install snapd -y
sudo snap install nextcloud
snap changes nextcloud # インストールが成功したか確認

2. 管理アカウントとポート番号の設定

管理者のユーザー・パスワードおよびポート番号を変更します.ポート番号はなんでもいいのですが,私の自宅の環境では外部から標準的なポートでのアクセスできなかったので,使えるポート範囲の中から選びました.

sudo nextcloud.manual-install user password
sudo snap set nextcloud ports.http=12345 ports.https=23456

3. SSL

導入したNextCloudをSSL化(HTTPS)対応します.SSL化の手段は,①セルフサイン証明書を使う方法,②Let's encryptを使う方法があります.

  • ①セルフサイン証明書(オレオレ証明書)を使う場合は以下をすれば終わりです.ただしブラウザによって警告が出たり,アプリによってはファイルダウンロードできなかったりします.そのため,今回のように外部公開する場合には向きませんし,CloudBeatsではセルフサイン証明書だとファイルダウンロードできませんでしたので,この方法は使えません.
sudo snap run nextcloud.enable-https self-signed
  • ②Let's encryptにより証明書を発行する場合,ポート80番か443番が開けれてWAN側からアクセス可能であれば,以下のコマンドだけで済みます.
sudo nextcloud.enable-https lets-encrypt

私の場合,②Let's encryptを使いたかったのですが80番や443番が使えませんでした.このような場合,DNS認証でLet's encryptの証明書を取得し,証明書ファイルをカスタムインポートすることで対応可能です.詳細は次回に記載します.

4. アクセス可能IPアドレスドメイン名追加

外部からアクセス可能なIPアドレスドメイン名を指定します.IPアドレスには,NextCloudをインストールしたRaspberry PiのローカルIPアドレスを,ドメイン名には,WAN側から自宅のIPアドレスを参照できるドメイン名を記載します.私の場合,MyDNSというDDNSサービスのドメインを取得していましたので,それを記載しておきます.

sudo nextcloud.occ config:system:set trusted_domains 1 --value=XXX.XXX.XXX.XXX
sudo nextcloud.occ config:system:set trusted_domains 2 --value=xxxx.mydns.jp
sudo nextcloud.occ config:system:get trusted_domains # 確認

5. ポート開放

さらに,Raspberry Piに外部からアクセスするため,ファイアウォールのうち2.で指定したポートを開けておきます.

sudo ufw allow 12345/tcp
sudo ufw allow 23456/tcp
sudo ufw status numbered # 許可したポート一覧を見る

6. 保存ディレクトリ変更

ここまで設定出来たら,動作を確認するため,ローカルネットワークの別PCから,"http://[IPアドレス]:12345"および"https://[IPアドレス]:23456"にアクセスしてみましょう.NextCloudの画面が表示されればOKです.
さらに,自宅のルーターのポートフォワーディングの設定をして,WAN側から"https://ドメイン名:23456"でも同様にNextCloudの画面が見れるか確認します.

無事動作が確認出来たら,以下の手順で保存ディレクトリを設定します.NextCloudのdataディレクトリは"/var/snap/nextcloud/common/nextcloud/data"にユーザー毎に作成されるので,保存容量が限られてしまいます.

  • 2. で設定した管理者アカウントでログイン
  • アプリからExternal storage supportを有効にする
  • 設定に"外部ストレージ"という項目が現れるので,ストレージ設定を追加する

追加したストレージに音楽ファイルを置くか,もともと音楽ファイルを置いてあったストレージを外部ストレージとして追加すれば,NextCloud側のセットアップは完了です.これだけでもWEBブラウザからフォルダ参照して楽曲のダウンロード・再生自体をすることは可能になりますが,GooglePlayMusicのようなIFでの再生を実現するため,CloudBeatsを使います.

参考サイト