Collabora Online は、すぐ使えるものとしては以前 Docker イメージとして提供されていたが、最近になっていくつかの Linux ディストリビューション向けにパッケージが提供されるようになり、 Ubuntu 16.04 用の apt ソースの URL も提供されたので、それに従ってインストールした。その際、微妙に SSL だけ設定する必要があったのでメモ。これを機に別のページに、普通にオレオレ証明書のメモをいつでも見ることができるところに書こうと思った(追記:すぐ追加した:OpenSSL での証明書発行手順メモ | にろきのメモ帳)。現時点で必要というだけなので、将来的には自動実行されるようになるかもしれない。
NextCloud + Collabora | にろきのメモ帳 に従来構成でも必要だった手順を書いてある。
基本的には Collabora Online Development Edition (CODE) – Collabora Productivity にある通り、
# import the signing key apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 0C54D189F4BA284D # add the repository URL to /etc/apt/sources.list echo 'deb https://www.collaboraoffice.com/repos/CollaboraOnline/CODE ./' >> /etc/apt/sources.list # perform the installation apt-get update && apt-get install loolwsd code-brand
で入って 9980/tcp で HTTPS で LISTEN しはじめる(あとはリバースプロキシを構成すれば使える)はずだったが、これだと loolwsd が起動に失敗した。journalctl -u loolwsd で見てみたところ、証明書があるべき場所にないようだ。あと、そもそも、原因の切り分けはしていないが数十 kB/s 程度しか出ず、大容量のパッケージをダウンロードする必要があったため数時間かかった(追記:数日後別の場所から実施したときは、警戒して最初から screen で実施したにも関わらず数分で終わった)。
/etc/loolwsd/loolwsd.xml を見ると鍵や証明書がおかれるべき場所がわかったので、以下のように実行したら動いた。
$ cd /etc/loolwsd/ $ sudo openssl genrsa -out key.pem 4096 $ sudo openssl req -new -key key.pem -out tmp.csr $ sudo openssl x509 -in tmp.csr -days 3650 -req -signkey key.pem -out cert.pem $ sudo cp cert.pem ca-chain.cert.pem $ sudo rm tmp.csr $ sudo service loolwsd start
(2018/12/26 追記)Setting up Nginx reverse proxy – Collabora Productivity を見るとそもそも loolwds 自体は TLS を使わず、 nginx のリバースプロキシ以降は平文通信する設定方法が書かれていたので、一台のマシンで nginx と loolwds が共存する場合はそちらの方がよさそう。/etc/loolwsd/loolwsd.xml を修正し、このページに書いてある通り ssl.enable を false に、ssl.terminate を true にする。