QNAP Xeon搭載NASにNextcloud仮想マシンを構築

公開 | 更新 

Snap版NextCloudのインストール

apacheやphp、mysqlなどから成るNextCloudも、Snapでのインストールなら簡単です。

インストール後、実際には次のコマンドで管理者アカウントを作成することによって、NextCloudが構築されます(実行後、プロンプトが戻ってくるまで少し時間が掛かります)。

デフォルトでは localhost からのアクセスしか信頼していないので、LAN上のリモートホストからブラウザでアクセスしようとするとこのように。

図15.信頼されないアクセス

図15.信頼されないアクセス

となってしまうので、信頼できるドメインのリストにLAN IPアドレスを追加します。

再びブラウザからLAN IPへアクセスすると、今度は正常にログインページが表示されました。

図16.信頼されたアクセス

図16.信頼されたアクセス

NextCloudの初期設定

Snap版NextCloudに付与されているリソースを確認してみると、デフォルトでは下の2項目が有効になっていません。

network-observe を有効にすると、NextCloud管理者画面の /index.php/settings/admin/serverinfo にネットワーク情報が表示されるようになります。

図17.ネットワーク情報表示

図17.ネットワーク情報表示

また removable-media を有効にしないとNextCloudが /media 以下を扱えないので、データディレクトリを変更する前に忘れずに有効にしておきます。

 

Let’s Encryptの導入

予めルータに httphttps のNATを通しておいた上で、ターミナルからLet’s Encryptをセットアップします。

ドメインはNo-IPで取得したホスト名にルータのWAN IPを引き当ててあります。

最後のメッセージが気になりますが、証明書が正常にインストールされていることが、ブラウザアクセスから確認できました。

図18.信頼されたSSL証明書

図18.信頼されたSSL証明書

サンプルファイルの削除

NextCloudでユーザアカウントを作成すると、必ずサンプルファイルやテンプレートフォルダが生成されてしまいます。

図19.新規作成直後のサンプルファイル

図19.新規作成直後のサンプルファイル

自分一人で使うクラウドならまだしも、複数ユーザ用意するとなると削除もなかなかの手間に。

これらのひな型となるフォルダを指定し、その中身を空っぽにすれば良さそうなので実践してみます。

これにより、新たにユーザを作成しても、中身は最小限になりました(Templateフォルダはどうしても作成されてしまいますが、中身は空っぽです)。

図20.新規作成直後も最小構成

図20.新規作成直後も最小構成

データディレクトリを変更

次に上述で追加した仮想ディスクへNextCloudのデータディレクトリを移します。

一旦NextCloudを止めてから、現在のデータディレクトリである /var/snap/nextcloud/common/nextcloud/data を移動。

そしてNextCloudの設定ファイル /var/snap/nextcloud/current/nextcloud/config/config.php を、管理者権限で直接以下の要領で変更します。

NextCloudを再開させ、管理者ページからディスク情報を確認。

図21.管理者ページのディスク情報

図21.管理者ページのディスク情報

使わないアプリの無効化

今回必要なのはごくごく基本的なファイル共有なので、デフォルトで有効になっているさまざまなアプリはことごとく無効化しました。

図22.無効化したアプリ群

図22.無効化したアプリ群

必要最小限に絞ったデフォルトアプリの他、新たに次の2つのアプリをインストールしました。

図23.利用中のアプリたち

図23.利用中のアプリたち

File Access Controlアプリでファイル制限

追加したアプリの1つ目は、様々な条件を設定してユーザが出来ることを制限することのできるFile Access Controlアプリ。

このストレージの用途はいくつかのサテライトオフィスにあるコピー複合機が受信するFAXファイルの出力先とすることで、ユーザからのワンストップアクセスを可能とするものでした。

過去の類似サービスの運用実績を鑑みつつ、実際に従ってユーザに許されるのは、サブフォルダの作成の他に以下のファイルへのアクセスです。

  • PDFファイル
  • 画像系ファイル
  • Office系文書ファイル
  • テキストファイル

これをFlowの中で以下のように定義して実現しています。

図24.File Access Control Flow

図24.File Access Control Flow

なお、条件句の is/is notmatches/does not match の違いですが、条件に正規表現が使われるような場合には match/does not match を使う必要があるようです。

なので例えば、 does not matchPDF documents を組み合わせても、期待通りには振る舞わないので気をつけましょう(ここでハマりました)。

 

Group Folderアプリでユーザ間共有

もう1つ追加したGroup Folders アプリは、同じグループに属する複数ユーザがグループ内で共有できるフォルダ機能です。

先ずユーザをいくつか作成し、それらを faxgroup と言うグループに束ねます。

Group Foldersアプリをインストールすると、管理者設定にGroup Foldersの設定が現れるので、 fax と言うグループ内共有フォルダを設定し、 faxgroup に読み書き権限を付与します。

図25.グループ共有の設定

図25.グループ共有の設定

ユーザアカウントで入ってみると、グループ内共有がアイコンの違いで分かります。そのまま試しにサブフォルダを作成してみました。

図26.グループ共有へアクセス

図26.グループ共有へアクセス

ターミナルから実体を探してみると、 __groupfolders の中にナンバリングされたフォルダとして存在していました。

 

ゴミ箱の定期清掃

NextCloud上のファイルは削除してもゴミ箱に溜まるだけなので、放っておくといずれ容量を圧迫することになります。

図27.ゴミ箱フォルダ

図27.ゴミ箱フォルダ

自動的に削除するような仕組みは特にGUI上で用意されていないので、CLIベースで次のコマンドをcronへ登録することになります。

但し、このコマンドではGroup Foldersアプリの共有フォルダは取り残されてしまっているので、調べてみると別のコマンドで削除できました。

-f オプションを付与しないと、確認のプロンプトが返ってくるので、cronなどで自動実行の際は要注意。

 

最後にファイヤーウォール有効に

NextCloud構築作業を終えたら、ささやかながらファイヤーウォールを有効にしておきます。

LAN上の別のホストから戸締まりを確認します。

 

次回はFUJIFIM製コピー複合機が、このストレージへ受信FAXのPDFファイルを転送できるようにする部分についてまとめます。

 

 

参考)Snap版NextCloud構築にあたっては、こちらのページを何度も参考にさせて頂きました(鳴謝!)。


created by Rinker
¥1,782 (2024/03/29 06:53:24時点 Amazon調べ-詳細)

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA