在 openSUSE 上部署 libreoffice-online

libreoffice-online 是文档基金会开发的一种基于 libreoffice 的云办公软件,提供 Google 文档和 Office 365 一样的在线文档协作编辑功能。作为一个自由软件项目,部署在私有云上就成为了可能。文档基金会和 Collabora 都提供了安装和“配置好”的 docker 镜像,网上的几乎所有的部署方案几乎都是围绕 docker 镜像介绍的。被这些 docker 方案虐翻了无数次车,尤其奇葩的自签 SSL 证书的方式,最后放弃了 docker 选择了在 openSUSE 上直接部署。

openSUSE 官方目前没有提供 libreoffice-online 的安装包,不过一家英国的初创企业 Collabora 提供了 libreoffice-online for openSUSE 的安装源,首先添加他们的提供的安装源:

sudo zypper ar -f ‘https://www.collaboraoffice.com/repos/CollaboraOnline/CODE-opensuse15’ ‘CODE’

安装相关软件包:

sudo zypper in loolwsd CODE-brand python3-certbot

给 libreoffice-online 预先分配一个域名,并预先安装好了一个 Web 服务器,并将域名的配置信息写入到 Web 服务器的配置文件里面。比如我在 /etc/apache2/vhosts.d/ip-based_vhosts.conf 里面随便加了一段:

<VirtualHost *:80>
DocumentRoot /srv/www/htdocs/phpMyAdmin
ServerName editor.hillwoodhome.net
ServerAdmin hillwood@linuxfans.org
<Directory /srv/www/htdocs/phpMyAdmin>
Options FollowSymLinks
AllowOverride All
Require all granted
</Directory>
<VirtualHost>

创建 SSL 证书:

sudo certbot -d office.hillwoodhome.net

让 libreoffice online 对证书可读:

sudo chmod 0755 /etc/letsencrypt/live/editor.hillwoodhome.net -R
sudo chmod 0755 /etc/archive/live/editor.hillwoodhome.net -R

或:

sudo chown lool /etc/letsencrypt/live/editor.hillwoodhome.net -R
sudo chown lool /etc/archive/live/editor.hillwoodhome.net -R

然后就是最重要的一步,编辑 libreoffice online 的配置文件 /etc/loolwsd/loolwsd.xml,重点修改这几项:

<server_name desc=”External hostname:port of the server running loolwsd. If empty, it’s derived from the request (please set it if this doesn’t work). Must be specified when behind a reverse-proxy or when the hostname is not reachable directly.” type=”string” default=””>editor.hillwoodhome.net:9980</server_name>

这里一定要填入分配给 libreoffice online 的域名和端口,不能留空以及使用 IP 地址,否则无法工作。

部署 SSL 证书:

<cert_file_path desc=”Path to the cert file” relative=”false”>/etc/letsencrypt/live/editor.hillwoodhome.net/cert.pem</cert_file_path>
<key_file_path desc=”Path to the key file” relative=”false”>/etc/letsencrypt/live/editor.hillwoodhome.net/privkey.pem</key_file_path>
<ca_file_path desc=”Path to the ca file” relative=”false”>/etc/letsencrypt/live/editor.hillwoodhome.net/fullchain.pem</ca_file_path>

开放端口:

sudo firewall-cmd –add-port=9980/tcp –permanent
sudo systemctl restart firewalld

现在可以开启服务享用了:

sudo systemctl start loolwsd

libreoffice-online 不能读取客户端电脑的字体,所以如果要想增加字体请将字体文件复制到服务器的 /opt/collaboraoffice6.2/share/fonts/truetype 和 /usr/share/fonts/truetype 目录下,要同时复制到这两个目录下,然后刷新以下字体缓存在重启服务即可:

sudo fc-cache -v
sudo systemctl restart loolwsd

有时候可能仍然有些字体不能正常使用,再运行一如下命令应该是可以解决的:

sudo loolwsd-systemplate-setup /opt/lool/systemplate /opt/collaboraoffice6.2
sudo systemctl restart loolwsd

发表评论?

1 条评论。

  1. 80% WordPress/Typecho,都是在讲开发

发表评论


注意 - 你可以用以下 HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据