Ubuntu ServerとDockerでNextcloudとONLYOFFICE Docsサーバーを試す

2023-01-28

PTAの電子化を進めたいと思っていますが、どうせなら書類関係はクラウドストレージで共同編集できる方が便利です。

個人の場合はGoogle DriveとGoogleドキュメントを使えば費用もかかりませんが、Googleアカウントは個人で作る必要があるため、PTAとしてアカウントを作る事はできません。

役員の個人アカウントを中心に使う事は可能ですが、閲覧制限や役員任期終了後のセキュリティ設定を考えると不安が残ります。

そのため、どうせなら自由に使えるクラウドストレージサービスを作ろうと、試しにNextcloudを導入することにしました。また、役員さんの中にはOfficeソフトを持っていない方もいるので、文書類をオンラインで編集できるようにONLYOFFICEとも連携したいと思っています。

Nextcloud

Nextcloudとは、Google DriveやDropBoxのようなオンラインストレージを構築できるオープンソースソフトウェアです。

元々、オープンソースのオンラインストレージはownCloudがベースにあり、NextcloudはownCloudから派生したオンラインストレージソフトウェアになります。

2023年時点では、ベースになったownCloudよりもNextcloudの方が活発に更新されているため、これからオンラインストレージを構築するにはNextcloudを使う方が便利で安全です。

基本的な機能

Nextcloudはプラグインも豊富に作られているため機能を追加する事もできますが、基本的な機能だけでオンラインストレージとして問題なく使用する事ができます。

ファイル管理

基本的な機能でも最も重要な機能がファイルの管理で、Nextcloudでは下記のような機能が標準で使用できます。

  • ファイルのアップロード(ドラッグ・ドロップも可能)
  • ファイルの削除
  • ファイルのダウンロード
  • テキスト/PDF/動画ファイルをブラウザ内で閲覧
  • ファイルのバージョン管理
  • ファイルの共有
  • フォルダの作成

ユーザー管理

Nextcloudの管理者権限を持つユーザーは、他のユーザーを管理する事ができます。

ユーザー管理からグループの所属と、所属グループによってアクセス権限を振り分ける事もできます。

  • ユーザーID
  • 表示名(ユーザ自身で変更可能)
  • パスワード
  • メール
  • グループ(複数グループ設定可能)
  • グループ管理者(指定されたグループ内のユーザーの管理(登録や削除、クォータの変更等)が可能)
  • クォータ(ユーザーが使用できる容量)

クライアントアプリ

皆さんに使ってもらうためにも、利便性はとても重要です。

その点、Nextcloudはスマートフォンでも使えるクライアントアプリが開発されているので、毎回ブラウザからアクセスする必要がありません。

PC用のクライアントアプリもあるので、モバイル、PCのどちらでも利便性良く使う事ができます。

ONLYOFFICE

ONLYOFFICEは、GoogleドキュメントなどのGSuitesやMicrosoft365のような機能のオープンソースソフトウェアで、文書、表計算、パワーポイントなどのオフィスアプリをWebアプリとして使う事ができます。

そのため、家庭にOfficeソフトを持っていない方でも費用をかけずに文書作成等ができるようになります。

プラグインを導入してNextcloudと連携すれば、Nextcloud上に保存されているOffice文書をブラウザ上で開いて編集することもできます。

ですが、Nextcloudとは別にOPENOFFICE用のドキュメントサーバー構築が必要になります。

セットアップ

まずは使い勝手と管理の方法を知りたいので、簡単にDockerイメージで構築します。正直、Dockerで導入するとコンテナイメージの作成だけなのでほとんど説明も不要です。

注意:事前にUbuntu Serverの構築は必要です。

dockerとdocker-composeのインストール

*サーバーで動かすので、Docker Desktopは使いません。Dockerエンジンをインストールします。

Ubuntu Serverのインストール時にdockerのインストールすると、この手順は不要です。

公式サイトの手順でdockerをインストールします。

~$ sudo apt update
必要プログラムのインストール
~$ sudo apt install ca-certificates curl gnupg lsb-release
GPGキーの登録
~$ sudo mkdir -p /etc/apt/keyrings
~$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
~$ sudo chmod a+r /etc/apt/keyrings/docker.gpg
リポジトリの追加
~$ echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
aptのアップデートとdockerエンジンのインストール
~$ sudo apt update
~$ sudo apt install docker-ce docker-ce-cli containerd.io
docker-composeのインストール
~$ sudo apt install docker-compose

コンテナセットアップ

NextcloudとONLYOFFICEのどちらも、docker-onlyoffice-nextcloudでセットアップできます。

まずはコンテナイメージを作成します。

~$ git clone 

~$ cd docker-onlyoffice-nextcloud ~$ sudo docker-compose up -d

セットアップ終了後、ブラウザからNextcloudにアクセスしてONLYOFFICEプラグインをインストールします。

プラグインのインストール後、改めてシェルから設定スクリプトを実行します。

~$ sudo bash set_configuration.sh

これで、Nextcloud上でOfficeファイルの編集ができるようになります。

感想・所感

使い勝手はGoogleドライブとほとんど変わりありません。サーバースペックの問題で少し待ち時間はありますが、使えないほどでも無さそうです。

ですが、本番運用に使うには設定変更が必要のようです。

正直、慣れていないDockerイメージの設定変更よりは、Ubuntu Server上で変更する方が簡単なので悩み中です。

実運用の方針(案)

基本的には個人情報を取り扱う事は少ない運用にしますが、外部からアクセスするため最低限のセキュリティ設定も必要です。

改めて試してみる必要はありますが、NextcloudはConoHa WINGで動作(WAFも使えるため)、ONLYOFFICEは自宅サーバー?とは考えています。

4月の運用開始を目指してセットアップを進めたいと思います。