「NextCloud」でシンプルかつ管理できるファイル転送サービスを作る


はじめに

これは多機能である「NextCloud」をシンプルにかつオブジェクト管理できるファイル転送サービスにするための施策です。

最終的に構築した利用者インターフェースはこちら

【工夫した点】

  • アプリ「README.md」で利用方法を記載。
  • アプリ「Custom CSS」で「最新」メニューなど不要なサブメニューを隠す。

いきなり多機能すぎる「NextCloud」...

こちらなどを拝見し「NextCloud」を契約中のXServerにインストールしまして、
動かしてみると、最初からダッシュボードやらGoogleDriveやDropBoxなど外部ストレージ連携やら色々ついていまして、、
もっとシンプルに、よくある「ファイル便」よりも自分でコンテンツ管理が出来る程度でダウンロードのワンタイムURLが発行できるようなサービスにしたかったのです。

レンタルサーバー(XSERVER)にNextcloudを導入しました

「アプリ」を取捨選択する

まずは「アプリ」項目で、全て「無効化」や「削除」出来るものは実行し、それ以上無効化出来ない状態にしました。
それからネットの情報やアプリを検索して概要説明を読み、必要そうなアプリを1つずつ有効化していきました。

[最終的にインストールしたアプリ群]

特徴的なアプリの説明

(1)README.md
   https://apps.nextcloud.com/apps/files_readmemd
   https://gitlab.univ-nantes.fr/uncloud/files_readmemd/
 利用者ユーザーに利用方法を表示するために何かないかと探していて見つけました。
 これは utf-8、markdown形式で記載でき、README.mdテキストや図説の画像ファイルは隠しフォルダ内に置いてリンクさせました。
 これにより利用者が通常の操作で誤ってこれら説明ファイルを消してしまう事が回避できます。
 ※隠しフォルダはフォルダ名の前に「.(ピリオド)」を置くことで作成できます。(Linuxなどと同じですね。)利用者が「隠しフォルダを表示する」の設定にチェックを入れてしまうと見えてしまうのですが、まあ・・・そこまでは。。

(2)Social sharing via email
   https://apps.nextcloud.com/apps/socialsharing_email
 共有したリンクをEメールへ送信するアプリとして推奨で「share by email」が用意されていますが、
 これは同NextCloud内のユーザーアカウントに紐づけしようとしたり、送信されるものがNextCloudで生成されたHTML形式のメールだったりとちょっとリッチなのです。。
 「Social sharing via email」の場合は、専用のアイコンが表示されるので機能を明示的に使う上でわかりやすいのと、利用者のパソコンの既定のメールソフトの本文にそれの共有リンクだけを貼って起動してくれるのです。
 従って利用者が自身でメールの宛先などを確認してから送信することができるのです。

(3)Custom CSS
   https://help.nextcloud.com/t/how-to-remove-recent-list/88610/8
 デフォルトだと「最新」メニューが表示されており、ここにアクセスすると、先の隠しフォルダ内のファイルにもアクセスが容易にできてしまい誤操作の元になりかねません。
 「最新」メニューが隠せないかと探していたところ「Custom CSS」に次のコードを記述すれば隠せることがわかりました。
(ネット検索では”nextcloud recent hide”で探せました。中々日本語情報は少ないですね。)

#app-navigation:not(.vue) > ul > li.nav-recent {
    display: none;
}

(4)その他、セキュリティ関係など
  「Restrict login to IP address」はログイン画面にIPアドレス制限をかけられるアプリです。
  なお、これを使うとInternet ExplorerからのログインはIPアドレスが合っていてもできなくなるようです。

参考にしたサイトなど

株式会社スタイルズ様
 ※qiitaにも多くのNextCloud関連の記事を投稿されています。
 (例)Nextcoud のテーミング機能

株式会社デージーネット様
 ※ネット検索するたびにヒットするのでチャットに何度も「おかえりなさいませ。」と言われました
(例)Nextcloudのプラグイン・アプリ〜カスタマイズ〜