
将 Collabora Online 与 NextCloud 集成
井, 本文档内容, 我想展示如何将 Collabora 集成到 Nextcloud 中, 有人不知道 Collabora? 你能想象拥有自己的 Google Docs 吗? 或您的 Office 365? 那就太好了, 不? 好吧,Collabora 将允许我们做同样的事情,但完全免费, 全部基于 LibreOffice. 我们将能够在线编辑 Office 文档并协同工作!
本文档不仅将实现这一点, 但我们会将其集成到一台带有 Nextcloud 的机器中,我们已经拥有该环境. 能够拥有我们的私有云, 将我们的数据存储在我们自己的数据中心, 现在,我们将能够允许用户在线处理 Office 文档, 他们从浏览器本身编辑它们, 多个用户也可以同时处理相同的文档!
依靠 LibreOffice, 顺便一提, 了解新版本, 不? 这令人印象深刻, 自从他们与 OpenOffice 分道扬镳… 井, 正如我所说, 我们可以在线编辑的文件, 他们有,其中包括, 以下格式: DOC 文档, DOCX, ODF 电子表格, XLS 系列, XLSX, 或 PPT 和 PPTX 演示文稿; 除了查看 Visio 文件, 发行人.
Collabora 设施,
我们将基于已准备为容器的 Docker 映像, 我们可以直接在我们的环境中运行. 本文档会有所不同, 因为我们会将所有必要的文件从容器复制到 Nextcloud 机器,这样我们就不必使用 Docker 运行.
首先, 我们使用 Docker:
[源代码]Sudo apt-get 更新
sudo apt-get install docker.io[/源代码]
使用以下命令, 我们将从 Docker 服务开始, 除了下载和安装映像 'Collabora/Code’ 从存储库, 我们将启动它,指示端口 (9980 x 默认) 除了指示服务的 FQDN 域. 最后确认是否启动了 (我们记下容器的标识符).
[源代码]sudo systemctl enable docker
sudo docker pull 协作/代码
sudo docker run -t -d -p 127.0.0.1:9980:9980 -e 'domain=datos.tundra-it.com’ –始终重启 –cap-add MKNOD 协作/代码
Sudo Docker PS -a[/源代码]
Copiamos los siguientes directorios y ficheros necesarios, posteriormente pararemos en contenedor recién descargado y lo borramos, Ya no será necesario más.
[源代码]sudo docker cp 87ffdce147c8:/opt/collaboraoffice5.1/ /opt/
sudo docker cp 87ffdce147c8:/usr/bin/loolforkit /usr/bin/
sudo docker cp 87ffdce147c8:/usr/bin/loolmap /usr/bin/
sudo docker cp 87ffdce147c8:/usr/bin/loolmount /usr/bin/
sudo docker cp 87ffdce147c8:/usr/bin/looltool /usr/bin/
sudo docker cp 87ffdce147c8:/usr/bin/loolwsd /usr/bin/
sudo docker cp 87ffdce147c8:/usr/bin/loolwsd-systemplate-setup /usr/bin/
sudo docker cp 87ffdce147c8:/etc/loolwsd/ /etc/
sudo docker cp 87ffdce147c8:/usr/share/loolwsd/ /usr/share/
sudo docker cp 87ffdce147c8:/usr/lib/libPocoCrypto.so.45 /usr/lib/
sudo docker cp 87ffdce147c8:/usr/lib/libPocoFoundation.so.45 /usr/lib/
sudo docker cp 87ffdce147c8:/usr/lib/libPocoJSON.so.45 /usr/lib/
sudo docker cp 87ffdce147c8:/usr/lib/libPocoNet.so.45 /usr/lib/
sudo docker cp 87ffdce147c8:/usr/lib/libPocoNetSSL.so.45 /usr/lib/
sudo docker cp 87ffdce147c8:/usr/lib/libPocoUtil.so.45 /usr/lib/
sudo docker cp 87ffdce147c8:/usr/lib/libPocoXML.so.45 /usr/lib/
Sudo Docker 停止 87FFDCE147C8
须藤码头工人 RM 87FFDCE147C8[/源代码]
下一个, 如果我们没有有效的证书,我们将不得不在我们的机器上安装它. 对我来说最舒服的事情, 我已经有 PFX 了, 所以我用 WinSCP 或类似工具复制它并提取证书和私钥, 我们把它们放在相应的目录下. 另外, 我们必须生成一个包含中间和/或根颁发实体的证书的文件,我们将以 base64 格式导出这些证书, & 我们会将证书的内容粘贴到此文件中.
[源代码]openSSL PKCS12 -in wildcard.tundra-it.com_2017.pfx -clcerts -nokeys -out wildcard.tundra-it.com_2017.cer
<前>openssl pkcs12 -in wildcard.tundra-it.com_2017.pfx -nocerts -nodes -out wildcard.tundra-it.com_2017.key
sudo cp wildcard.tundra-it.com_2017.cer /etc/loolwsd/
sudo cp wildcard.tundra-it.com_2017.key /etc/loolwsd/
sudo vim /etc/loolwsd/ca_tundra.cer[/源代码]
Editamos el fichero de configuración donde indicaremos el FQDN del sitio además del usuario y contraseña del administrador de Nextcloud.
[源代码]sudo vim /etc/loolwsd/loolwsd.xml
…
<host desc=“允许或拒绝的主机名的正则表达式模式。" 允许=“真”>datos.tundra-it.com</主机>
…
<host desc=“允许的主机名" 允许 =“false”>datos.tundra-it.com</主机>
…
<username desc=“管理控制台的用户名. 必须设置。>ncadmin的</用户名>
<password desc=“管理控制台的密码. 必须设置。>XXXXXXX</密码>
…
<cert_file_path desc=“证书文件的路径" relative=“false”>/etc/loolwsd/wildcard.tundra-it.com_2017.cer</cert_file_path>
<key_file_path desc=“密钥文件的路径" relative=“false”>/etc/loolwsd/wildcard.tundra-it.com_2017.key</key_file_path>
<ca_file_path desc=“ca 文件的路径" relative=“false”>/etc/loolwsd/ca_tundra.cer</ca_file_path>[/源代码]
我们还编辑 Apache 安全站点的文件,并输入证书的正确路径:
[源代码]sudo vim /etc/apache2/sites-available/nextcloud_ssl_domain_self_signed.conf
SSLCertificateFile /etc/loolwsd/wildcard.tundra-it.com_2017.cer
SSLCertificateKeyFile /etc/loolwsd/wildcard.tundra-it.com_2017.key[/源代码]
不错, 现在是时候安装 Collabora Online Connector 应用程序了, 以 Nextcloud 管理员身份登录后, 在 应用 中.
激活后, 因为 “管理” > “其他设置”, 我们将能够在 'Collabora Online Server' 中找到正确的 URL’ HTTPS 格式://FQDN:9980
不错, creamos el usuario 'lool’ Y realizamos correcciones de permisos, Arrancamos la plantilla de sistema y creamos el servicio.
[源代码]sudo user添加哈哈
sudo setcap cap_fowner,cap_mknod,cap_sys_chroot=ep /usr/bin/loolforkit
sudo setcap cap_sys_admin=ep /usr/bin/loolmount
sudo mkdir /var/cache/loolwsd/
sudo mkdir /opt/lool/
sudo mkdir /opt/lool/child-roots/
须藤长 lool:lool /var/cache/loolwsd/ -R
须藤长 lool:lool /opt/lool/child-roots/ -R
须藤 /usr/bin/loolwsd-systemplate-setup /opt/lool/systemplate /opt/collaboraoffice5.1/
须藤长 lool:lool /opt/lool/systemplate -R
sudo vim /etc/systemd/system/loolwsd.service[/源代码]
Creamos el servicio '/etc/systemd/system/loolwsd.service’ Con el siguiente contenido:
[源代码]
[单位]
Description=loolwsd 即服务
[服务]
用户=lool
execStart=/usr/bin/loolwsd –或:sys_template_path=/opt/lool/systemplate –或:lo_template_path=/opt/collaboraoffice5.1 –或:child_root_path=/opt/lool/子根 –或:file_server_root_path=/usr/share/loolwsd
ExecReload=/bin/kill -HUP $MAINPID
KillMode=进程
重启 = 失败时
[安装]
WantedBy=多用户目标
[/源代码]
我们启用该服务并重新启动所有服务以重新读取配置, 稍后使用 'sudo netstat -lnpt’ 我们将能够验证是否已解除端口 443TCP 和 9980TCP.
[源代码]
sudo systemctl enable /etc/systemd/system/loolwsd.service
sudo systemctl 守护进程-reload
sudo systemctl start loolwsd.service
sudo systemctl restart apache2[/源代码]
我们将修改 '/etc/hosts'’ 添加具有本地解析的外部 FQDN.
最后, 我们不会忘记删除 Docker, 因为它不是必需的,并且还会消耗资源 😉
[源代码]sudo apt-get remove docker.io[/源代码]
什么都没有, 除了尝试之外,别无他法! 我们将打开我们的 Nextcloud 和我们拥有的任何 Office 文件,我们可以在线编辑和处理它. 如果我们共享了它, 另外, 我们将同时看到哪个用户正在修改文档的哪个部分.