前回、Windows Server Essentialsエクスペリエンスが無くなるのに備え、OSSの「NextCloud」でリモートWebアクセスの代替を考えるで、NextCloudのインストールを実施しました。今回は、外部からのアクセスを可能にします。
NextCloudに接続する際のドメイン名の登録
外部からアクセスを許可する信頼済ドメイン(NextCloudのドメイン)を登録します。
- NextCloudのconfig.phpを開きます。
sudo nano /var/www/nextcloud/config/config.php
- [trusted_domains]に、NextCloudへの接続時に利用するドメインやIPアドレスをシングルクオテーションで括って記載します。複数ある場合はカンマ区切りで続けることができますので、ローカルのIPとリモートからアクセスする際のDDNS名などを入力します。
リバースプロキシからNextClooudにアクセスする場合
我が家では、Windows Server 2016 Essentialsと併存させていますが、外部ネットワークからTCP 80を直接受けるサーバーをどちらにするか悩みました。
今回はRasPi上に構築しましたが、Windows上のDockerで動かすように変えることも考えています。
結局はWindows Server 2016 EssentialsのAnywhere Accessで構成するVPN(SSTP)は使い続けたかったため、Windows Server 2016 Essentialsをリバースプロキシとして利用し、NextCloud向けのアクセスをWindows Server 2016 EssentialsからRaspberry Piに仕向けることにしました。
Windows Server 2016 Essentialsでは、IISの”Application Request Routing”と”URL Rewrite”を使って、/NextCloudへのアクセスだけをRaspberry Piに渡します。
URL Rewriting(URL書き換え)
/NextCloudへのアクセスを書き換えるには、
パターン:(nextcloud.*)
書き換え:http://Raspberry PiのIPアドレス/{R:0}
のように記載します。
Application Request Routing利用時の注意
Raspberry Pi上では、NextCloudに加えてリモートデスクトップで使うguacamoleも使っているため、guacamoleへのアクセスもリバプロから転送することにしました。
guacamoleを利用する場合、Application Request RoutingのServer Proxy Settingでキャッシュを利用しないように設定する必要があります。
【設定箇所】
Memory Cache Duration: 0
disk cacheのチェックを外す
Response Buffer: 1
Response Buffer Threshold: 0
リバースプロキシからNextCloudにアクセスする場合の設定
リバースプロキシからNextCloudにアクセスする場合、デフォルトの設定ではログアウトボタンのURLが正しく書き換えられませんので、config.phpに以下のように設定を追加します。
iOS/Androidアプリからのアクセス
NextCloudには、iOS/Androidなどのモバイルクライアント向けのアプリが無料で用意されています。オンプレミスのNextCloudサーバーに、外出先からアクセスしてファイルにアクセスしたり、ファイルを保存することができます。また、同期機能も備わっています。
カメラロールの写真をすべて自動的にアップロードする機能もあり、自動アップロードの要否やWi-Fi接続時のみ自動アップロードする設定も備えています。iPhoneでiCloudにiPhoneのバックアップ/写真のバックアップを取ると、すぐにiCloudがいっぱいになり通知が表示されて困っている人も多いと思いますが、このアプリを使えばiCloudの容量も節約できます。
また、クライアントアプリはWindowsやMacのデスクトップ向けにも用意されていますので、PCとストレージ間のファイル同期も容易です。
メディアの再生も可能、豊富なアプリ(プラグイン)も
NextCloudでは、サーバー上のメディアのリモート再生にももちろん対応しています。また、NextCloudに用意されている豊富なアプリの中には、Musicのようなアプリもあり、さらにリッチなUXも実現できます。
安全なファイル共有を通じたコラボレーション
NextCloud上のフォルダーやファイルは、手軽に外部の人と共有することができます。
- 共有の可否はもちろん管理者が設定できます
- SMB/CIFSで参照しているフォルダーやファイルを共有する場合、NextCloudに外部フォルダーとして登録する際に、[ユーザー情報はセッション情報に保存]以外の認証方法を選択する必要があります。
共有したフォルダーやファイルはNextCoud上から管理できますので、家族や友人とのファイルのシェアーやビジネス用途でのコラボレーションにも安心です。
公開を終了する場合は、公開したリンクを削除することで外部からアクセスできなくなります。
Windows Server Essentialsエクスペリエンスの終了から代替策を考え始めましたが、Raspberry PiにNextCloudを導入して設置したことで、Essentialsエクスペリエンスではできなかった柔軟なファイルアクセス/共有ができそうで、かえって満足しています。