Ubuntu Weekly Recipe

第625回Nextcloudでオフィスファイルを編集する

6月3日にNextcloud Hub 19.0.0がリリースされました。このリリースの最大の特徴のひとつが、Nextcloud Hubに標準でインストールされ、Talkでチャット中にも利用できるようになったCollabora Onlineでしょう。これによりNextcloudにアップロードされたオフィスファイルを、ウェブブラウザーだけで編集できますし、さらにTalkアプリでメンバーと通話しながら同じファイルを共同編集できるようにもなるのです。

Nextcloud HubとCollabora Online

実際にCollabora Onlineを使ってみる前にNextcloudとNextcloud Hubで名前が異なる事情や、さらにはCollabora Onlineの仕組みについて簡単に説明しておきます。

より多機能に舵をきった「Nextcloud Hub」

おそらく多くの読者がご存知のようにNextcloudは自分で構築できるFLOSS(Free/Libre and Open Source Software)のクラウドストレージサービスです。Dropboxの登場以降、雨後の筍のように登場した各種クラウドストレージサービスに対して、⁠FLOSSでありオンプレミスで運用・構築できる」ことを強みにKDEのプロジェクトから登場したのがNextcloudの前身である「ownCloud」です[1]⁠。

このownCloudからなんやかんやあって2016年にプロジェクトごとフォークしたのがNextcloudです。Nextcloudはオープソースであることを重要視し、エンタープライズ版との機能差はありません。エンタープライズ版はあくまでサポートオプションという位置づけです。さらにownCloudから多くの開発者が移籍しています。ownCloudも引き続き積極的な開発が続いていますが、勢いはNextcloudのほうが強い印象を受けています。少なくとも個人が使う限りにおいてNextcloudを選んでおくのが無難でしょう。

このようにストレージサービスとして生を受けたNextcloudですが、今年1月にリリースされたバージョン18からNextcloud Hubと名乗るようになりました。

これは何かと言うと、これまでアプリとして提供されていた各種コラボレーションツールを最初からバンドルすることで、単なる「ストレージサービス」ではなくストレージ上のデータも活用した「コラボレーションサービス」として昇華したものであることを示しています。たとえば第610回のNextcloud Talkでリモートミーティングで紹介したチャット・ミーティングツールであるTalkアプリも、Nextcloud Hubとして最初から組み込まれるようになりました。

この「Nextcloud Hub」に所属する「Hubバンドル」には次のようなアプリケーションが存在します。

  • WebCal/CalDAVに対応したカレンダー機能である「Calendar」
  • オフィスファイルをリアルタイムに複数人で編集可能な「Collabora Online」とそのバックエンドサーバーである「CODE」
  • 共有可能なアドレス帳であるCardDAVのインターフェースとしての「Contacts」
  • ウェブメール環境である「Mail」
  • 他のユーザーとのチャットやビデオミーティングが開催できる「Talk」

もちろん純粋なストレージサービスとしてのNextcloudも残っています。初回セットアップ時に「Nextcloud Hubとして各種アプリをインストールする」かどうかを選ぶことでストレージサービスのみにするか選択可能になっています。また、Talkを含めNextcloud Hubとして統合されたアプリケーションを個別にインストールすることも可能です。端的に言うと、いくつかのアプリケーションをNextcloudが積極的にサポートするようになったのがNextcloud Hubの特徴と言えそうです。

エンタープライズ向けオンラインオフィススイートを提供する「Collabora Online」

このNextcloud Hubにバージョン19から統合されたのがCollabora Onlineです。

前項でも説明したように、Nextcloud Hubとして統合されたソフトウェアはもともとNextcloudのアプリケーションとして提供されていたものです。当然Collabora Onlineも以前からアプリケーション経由で導入は可能でした。

この「Collabora Online」アプリの元になった「Collabora Online」サービスは、Collabora社が提供しているウェブベースで動くオンラインオフィススイートです。その元になっている機能はLibreOfficeであり、LibreOfficeのコードを用いてウェブブラウザーから編集できるLibreOffice Online(LOOL)です。Collabora社は積極的にLibreOfficeの開発に関わることで、LibreOffice(Collabora Office)やLOOL(Collabora Online)サポートサービスを展開しています

このうちCollabora Onlineについては、そのサポートレベルに応じて複数の料金体系を用意しています。個人・開発者向けの無償版のCODE(Collabora Online Development Edition)は、サポートがつかないもののLOOLよりは安定的なサービスを構築できます。もちろん可用性も低くなっているのですが、個人で試してみる分には十分でしょう[2]⁠。

Collabora社のアナウンスにもあるように、今回Nextcloud Hubに組み込まれたのは、外部のCollabora Onlineサービスと連携して使うフロントエンド、さらにNextcloudサーバー内部に組み込んだバックエンドとして利用する無償版のCODEです。

つまりNextcloud Hubサーバー上でLibreOffice Onlineが動き、そのサービスと連携してオフィスファイルを編集することになります。よってNextcloudが動くサーバーは、LibreOfficeがストレスなく動く程度のスペックは必要だと考えておきましょう。

NextcloudとCollabora Onlineを連携させると次のようなことがウェブブラウザーだけで実現可能になります。

  • ユーザー単位・グループ単位の閲覧・編集権限の管理
  • チャット・ビデオコールしながらの共同編集
  • ファイルのダウンロードの禁止

最後はブラウザー上での「閲覧・編集」のみ許可し、ファイルをローカルにダウンロードすることを禁止するNextcloudの機能となります。オフィスファイルの実データの所有範囲を限定したい場合に便利でしょう。ただし仕組みとしてダウンロードは禁止できるものの、閲覧は可能である以上、完全にデータの流出を防げるわけではありません。

こんなNextcloudとCollabora Onlineの組み合わせが、非常に簡単に構築できるようになったのです[3]⁠。

Collabora Onlineのインストール

Collabora Onlineのインストール方法は2種類存在します。

  • 新しいNextcloud Hubをインストール時に自動的にセットアップする
  • 古いバージョンからのアップグレード時に手作業でインストールする

とりあえず「試してみたい」なら適当なマシンにNextcloudをインストールするほうが楽かもしれません。ただ既存のNextcloudインスタンスにCollabora Onlineをインストールしたところで、ファイルの操作に影響はなく、安全にアンインストール可能です。よって既存のインスタンスに「お試しで」アプリケーションを投入してみても良いでしょう。ただし繰り返しになりますが、サーバー上でLibreOfficeというそれなりに重量級のソフトウェアを動かす都合上、それなりのリソースは必要ですし、リソース不足に陥ると既存のNextcloudインスタンスにも影響する点は注意してください。

Nextcloudのブログによると次のようなリソースが必要なようです。

  • amd64アーキテクチャーのCPUCollabora Onlineのバックエンド側の制約です
  • CPUは2コア以上
  • 1GBのメモリーに加えて、ユーザーごとに100MBのメモリー
  • ユーザーごとに100Kbpsのネットワーク帯域
  • 350MBのストレージ容量

まず最初に新しいNextcloud Hubをインストールした場合の手順を説明しましょう。Nextcloudのインストールそのものは第610回のNextcloud Talkでリモートミーティングを参照してください。そちらではLXD上でsnap版のNextcloudをインストールする方法も紹介しています。

ちなみにsnap版のNextcloud Hub 19は6月24日ごろにリリースされました。既存のインスタンスもおおよそ19に更新されているかと思います。当初Collabora Onlineが起動できない問題があったためリリースが遅れていましたが、無事にCollabora Online側で修正されたので19.0.1を待たずにリリースする運びになりました。

Nextcloudをインストールすると、初回アクセス時に管理者カウントを作るインターフェースが表示されます。実はここに「Nextcloud Hub」としての各種アプリケーションをインストールするかどうかののチェックボックスが追加されているのです。

図1 ⁠推奨アプリをインストール」をチェックするとHubバンドルに属するアプリがインストールされる
画像

ここでチェックを外しておくと、インストールが除外されバージョン17以前と同じようにクラウドストレージメインの構成になります。

図2 アプリのインストールはそれなりに時間がかかるので気長に待つ
画像
図3 ⁠Nextcloud Hub」の下にあるが「Hub」として提供される機能になる
画像

古いバージョンからアップグレードした場合は、Hubバンドルはインストールされません。他のアプリケーションと同じように手動でインストールする必要があります。

アプリケーションは画面右上のユーザーアイコンをクリックして表示される「アプリ」からインストール可能です。このうち左メニューの「アプリバンドル」を選択すると用途に応じた「バンドル(アプリセット⁠⁠」をまとめてインストールできるわけです。

図4 ⁠Hubバンドル」「すべてを有効にする」を選択すれば新規インストールと同じようにまとめてインストールできる
画像

ちなみに「Collabora Online」がフロントエンドで、⁠CODE」がバックエンドです。もしNextcloud組み込みのバックエンド以外を使うのであれば「Collabora Online」のみをインストールしてサーバーを設定しましょう。

無事にインストールされたのなら、実際に試してみましょう。Nextcloudインストール時に作成されるファイルの中には「Documents/Welcome to Nextcloud Hub.docx」という名前のオフィスファイルが用意されています。これをNextcloud上で開いてみましょう。

図5 Nextcloudの中にCollabora OnlineのUIが表示されている
画像

これまでオフィスファイルをクリックしたらブラウザーからファイルをダウンロードしようとしていましたが、Collabora Onlineがインストールされた環境だとブラウザーの中でオフィスファイルを開こうとします。そしてしばらく待てば、Office365やGoogleドキュメントのようなUIが表示されるはずです。

あとは他のソフトウェアと同じような感じで編集するだけです。かんたんですね。

図6 もちろん日本語入力もできるし、日本語フォントファイルも選択できる
画像

Nextcloud版CODEの制約

Nextcloud HubでインストールされるCollabora OnlineのバックエンドはAppImage版のCODEを使っています。

図7 CODEの各種バージョン
画像

これは$SNAP_DATA/nextcloud/extra-apps/richdocumentscode/collabora/Collabora_Online.AppImageとしてダウンロードされる332MB程度の「全部入り」の実行形式のプログラムです。snap版の場合はこれが/tmp/snap.nextcloud/tmp/appimage_extracted_XXX/以下に展開されて実行されます。

このAppImageにはCODEの本体(loolwsd)だけでなく、共有ライブラリーやフォントなどの各種リソースも含まれています。Collabora Onlineで日本語を表示できるのはAppImageにNotoフォントなどが含まれているからです。

言い方を変えると、AppImage版のCODEを使っている限り、簡単にはフォントをインストールできないということになります。他にもパフォーマンスチューニングを行うなら、AppImage版だと制約が大きいでしょう。

Nextcloud版のCODEはあくまで「お試し」であると割り切って利用しましょう。個人で本格的に利用するなら、それなりに性能のあるサーバーでDocker版などもう少しカスタマイズ可能なCODEサーバーを動かすことをおすすめします。腕に覚えがあるならLibreOffice Onlineを自分で構築するという手もあるでしょう。

もちろん仕事で使うなら、Collabora社のサポートライセンスを買うのが賢明です。もし日本語でのサポートが必要なら、Nextcloud関連としてStylez社がLibreOffice関連ならiCRAFT社がサポートサービスを展開しているようです。

おすすめ記事

記事・ニュース一覧