TrueNASのプラグインはJail環境で動作するので、Nextcloudプラグイン内の各ユーザーストレージはTrueNASのSMB, AFPとは別のストレージ領域となる。しかし、今やろうとしていることは、TrueNAS本体にバックアップした写真をNextcloudプラグインで閲覧や管理ができるようにすることである。
Nextcloudにはプラグイン機能があり、「External storage support」プラグインを使うと、他のローカルディレクトリやCIFSなどのファイルをマウント可能になる。この方法を使い、FreeNASで運用している共有フォルダ用のディレクトリへJail側のNextcloudがアクセスできるようにする。
ここから先の説明は、Jail側からホストOSのローカルディレクトリへ直接アクセスできるような設定を行うことになる。すなわち部分的にJailのセキュリティを下げることになる点を考慮ながら、セキュリティの低下が他に波及しないようにTrueNASの共有フォルダ管理に注意する。
下準備
Nextcloudの「アプリ」機能がいわゆるプラグイン機能である。Nextcloudのアプリ設定から無効なアプリ欄にある「External storage support」を有効にする。すると、「外部ストレージ」設定メニューが使用可能になる。
ディレクトリの共有経路の設定
TrueNASで写真バックアップ用のデータセット(SMBの共有ルートディレクトリ)として使用しているディレクトリをNextcloudのJail側でマウントする。こうすることでNextcloudが動作しているJail側からTrueNASのファイルへアクセスを可能とさせる。Jailは閉じたプロセス空間とファイルシステム内での利用に限定されているので、ファイルシステムのマウントという形でアクセスを行う。
では、TrueNASの写真バックアップ用のデータセットをNextcloudでマウントする設定を行う。今回は、次のような設定をゴールにする。
ホストOSの /mnt/Pool001/photo_bak/z_dev_photos を Jail内の /root/media/z_dev_photos としてマウントさせる。 |
まずはじめに、Nextcloud側のJailに入り、マウントポイントのディレクトリを作成する。 NextcloudのJail内で /root/media/z_dev_photos ディレクトリをmkdirで作成。ホストOSからのフルパスで見ると、/mnt/Pool001/iocage/jails/nextcloud/root/media/z_dev_photos となる。
Jailの中へシェルで入る方法はこちらを参考に。
TrueNASやJailでsudoを使えるようにするマウントポイントのディレクトリが作成できたらTrueNASのWeb管理画面を開き、JailのMOUNT POINTSメニューからマウントの設定を行う。
MOUNT POINTSの変更は該当のJailが停止している状態で行う。
パスの設定画面に切り替わったら、ホストのどこのディレクトリをJailのどこのディレクトリとしてマウントするかパスを設定する。
先ほど作成したディレクトリとホストOS側のディレクトリを紐つける。Nextcloudの設定
TrueNASとNextcloud双方向でファイル操作を行う権限設定
- ホストOS側のSMBやAFPはログインしたユーザー権限でファイルを操作する
- Nextcloudはnginxのwwwグループ権限でファイルを操作する
(TrueNAS側のシェルで)
% ls -al /mnt/Pool001/iocage/jails/<Jail名>/root/media
drwxr-xr-x 2 root www 2 Jan 16 2022 z_dev_photos
0 件のコメント:
コメントを投稿