さくらのクラウドでnextcloud + LibreOffice Onlineを構築する
OSC 2020で個人的に気になっていた、LibreOffice Onlineを構築した時の記録です。
NextcloudとLibreOffice Onlineを連携させることで、GoogleドキュメントやGoogleスプレッドシートのような感じでオフィルツールを使うことができます。
https://speakerdeck.com/naruoga/202004-osconline-libreoffice-goodbye-desktop
こちらのおがさわらさんの資料を元に構築方法を探ってみました。
個人的にさくらのクラウドをよく使うので、こちらを参考にスクリプトを作ってみました。
https://github.com/smehrbrodt/nextcloud-libreoffice-online
さくらのクラウドにはアプリケーションの構築などを簡単にするスタートアップスクリプトという機能があり、Nextcloudのスタートアップスクリプトがすでに存在しているのでそれに付け足す形で作りました。
Nextcloudのスタートアップスクリプト
↑をベースにしたNextcloud + LibreOffice Onlineスタートアップスクリプト
構築手順
こちらからスタートアップスクリプトをコピーする。
https://gist.github.com/tar-xzvff/7bfc707e0d7d8ee12e9651f8e4591d94こちらを参考していただき、スタートアップスクリプトを登録する。
https://manual.sakura.ad.jp/cloud/startup-script/about.html#id7追加したスタートアップスクリプトを指定してサーバを作成する。
https://manual.sakura.ad.jp/cloud/server/create-delete.html#create-normal-mode
サーバ作成時のポイント
3. スタートアップスクリプトを選択後 管理者ユーザ名
管理者パスワード
を入力し LibreOffice Onlineを有効にする
にチェックを入れます。
4. サーバの作成とNextcloudとLibreOffice Onlineの構築が始まります。10分ほど待ちます。
5. 構築完了後 http://サーバのIPアドレス/nextcloud/
にアクセスし先ほど設定した認証情報でログインします。
ログイン後このような形でNextcloudからLibreOfficeを使うことができます。
元のスクリプトに追加した主な部分
docker-composeで動かすので、動作に必要な環境構築と初期設定などをしています。
# LibreOffice Onlineを有効にする
if [[ -n "$LIBREOFFICE_ONLINE_ENABLED" ]]; then
# dockerとdocker-composeのインストール
yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager -y --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum install -y docker-ce docker-ce-cli containerd.io
systemctl start docker
systemctl enable docker
curl -L "https://github.com/docker/compose/releases/download/1.23.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
# LibreOffice Onlineを展開
cd ~/
git clone https://github.com/smehrbrodt/nextcloud-libreoffice-online.git
cd nextcloud-libreoffice-online/libreoffice-online/
cat << EOF > /root/nextcloud-libreoffice-online/libreoffice-online/.env
NEXTCLOUD_DOMAIN=${GLOBAL_IP}
LO_ONLINE_USERNAME=@@@nc_username@@@
LO_ONLINE_PASSWORD=@@@nc_password@@@
LO_ONLINE_EXTRA_PARAMS=--o:ssl.enable=false
EOF
docker-compose up -d
# Collabora Onlineのインストール設定
sudo -u apache php72 /var/www/html/nextcloud/occ app:install richdocuments
# LibreOffice Onlineのアドレスを指定
sudo -u apache php72 /var/www/html/nextcloud/occ config:app:set richdocuments wopi_url --value=http:\/\/${GLOBAL_IP}:9980
# SSLを使わないため証明書の検証を無効にする
sudo -u apache php72 /var/www/html/nextcloud/occ config:app:set richdocuments disable_certificate_verification --value=yes
sudo -u apache php72 /var/www/html/nextcloud/occ app:enable richdocuments
# Firewall の設定
firewall-cmd --permanent --add-port=9980/tcp
fi
このスクリプトの注意点
- 元々のNextcloudのスタートアップスクリプトがhttpのみの対応でしたので、LibreOffice Online側もSSLを使わない形になっています。
- 2コア / 4GBで今回はサーバを作成していますが、1人で使う分には問題ありませんでした。複数人で使う場合などは、よりスペックの良いプランを選択されることをお勧めします。
- LibreOffice Onlineの本番環境で動作させる際のチェックポイントなどを調べてみたがよく分からず設定が不十分かもしれません。もしこのスクリプトを使われる際には自己責任でお願いいたします。
感想
LibreOffice Online側がコンテナで動作するので非常に構築が楽でした。パッケージなどでインストールする方法が特に見つからず、本番で動かす時もこれで大丈夫なのかなと気になりました。
あと個人的にLibreOfficeのキーバインドが分からず、HHKBでの英/かな切り替え時に Command + Space
で文字が消えてしまうことが多々ありました。 キーバインドについて調べてみようかと思います。
Author And Source
この問題について(さくらのクラウドでnextcloud + LibreOffice Onlineを構築する), 我々は、より多くの情報をここで見つけました https://qiita.com/tar_xzvf/items/d09b79079ee584e62d32著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .