如何在 Ubuntu 22.04 上集成 Collabora Online 教程

news2025/1/10 22:13:24

简介

在本教程中,我们将详细讲解如何在 Ubuntu 22.04 操作系统上安装 Collabora Online。

Collabora Online 是一个基于 LibreOffice 技术的开源办公套件。它提供了许多功能,其中最有用的一个功能是 Collabora 提供了 Word 文档、电子表格、演示文稿等的实时编辑。

我们假设你已经有了一个使用 LAMPS 栈的 Nextcloud 工作实例,因为 Collabora 必须与它集成。如果你不知道如何安装,请查看我们关于在 Ubuntu 22.04 上安装 Nextcloud 的博客文章。

安装 Collabora Online 并将其与 Nextcloud 集成是一个简单的过程,可能需要 20 分钟。让我们开始吧!

安装和配置步骤

第一步:更新系统

在安装 Collabora Online 服务之前,我们将系统软件包更新到可用的最新版本。

sudo apt update -y && sudo apt upgrade -y

第二步:安装 Collabora Online

首先,我们将安装一些先决条件:

sudo apt install apt-transport-https ca-certificates

完成后,添加 Collabora 密钥和存储库,因为它在官方 Ubuntu 22.04 存储库中不存在。

cd /usr/share/keyrings

sudo wget https://collaboraoffice.com/downloads/gpg/collaboraonline-release-keyring.gpg

密钥已添加,现在使用以下命令创建以下文件:

touch /etc/apt/sources.list.d/collaboraonline.sources

用你喜欢的编辑器打开这个文件,粘贴以下代码行:

Types: deb
URIs: https://www.collaboraoffice.com/repos/CollaboraOnline/CODE-ubuntu2004
Suites: ./
Signed-By: /usr/share/keyrings/collaboraonline-release-keyring.gpg

保存文件,关闭它,更新系统并安装 Collabora Online 服务。

sudo apt update -y

sudo apt install coolwsd code-brand -y

安装后,启动并启用 Collabora coolwsd 服务。

sudo systemctl start coolwsd && sudo systemctl enable coolwsd

要检查服务的状态,请执行以下命令:

sudo systemctl status coolwsd

你应该得到以下输出:

root@host:~# systemctl status coolwsd
● coolwsd.service - Collabora Online WebSocket Daemon
     Loaded: loaded (/lib/systemd/system/coolwsd.service; enabled; vendor preset: enabled)
     Active: active (running) since Thu 2023-06-22 06:27:10 CDT; 399ms ago
   Main PID: 3995 (coolwsd)
      Tasks: 1 (limit: 4557)
     Memory: 1.1M
        CPU: 390ms
     CGroup: /system.slice/coolwsd.service
             └─3995 /usr/bin/coolwsd --version --o:sys_template_path=/opt/cool/systemplate --o:child_root_path=/opt/cool/child-roots --o:file_server_root_path=/usr/sha>

Jun 22 06:27:10 host.test.vps systemd[1]: Started Collabora Online WebSocket Daemon.

在将 Collabora 与 NextCloud 实例连接之前,我们需要执行以下命令:

sudo coolconfig set ssl.enable false

sudo coolconfig set ssl.termination true

上面的命令用于禁用 TLS,因为该服务无法找到证书文件。我们稍后将启用这两个设置。

接下来是允许使用 Nextcloud 域连接到你现有的 Nextcloud 实例,使用以下命令:

sudo coolconfig set storage.wopi.host YourNextCloudDomain

执行该命令后,你应该收到以下输出:

root@host:~# sudo coolconfig set storage.wopi.host YourNextCloudDomain
No property, "storage.wopi.host", found in config file.
Adding it as new with value: "YourNextCloudDomain"
Saving configuration to : /etc/coolwsd/coolwsd.xml ...
Saved

完成后,设置 Collabora Online 管理员密码:

sudo coolconfig set-admin-password

你应该输入管理员用户名和强密码。

root@host:~# sudo coolconfig set-admin-password
Enter admin username [admin]: admin
Enter admin password:
Confirm admin password:
Saving configuration to : /etc/coolwsd/coolwsd.xml ...
Saved

/etc/coolwsd/coolwsd.xml 中进行任何更改后,重新启动 Collabora 服务

sudo systemctl restart coolwsd

第三步:配置 Apache 作为反向代理

最后,当 Collabora Online 安装完毕,并且服务一切正常时,我们可以配置反向代理。关于这一点的附加信息是,Collabora 服务正在端口 9980 上运行。要检查这一点,请执行以下命令:

root@host:~# netstat -tunlp | grep 9980

你应该得到以下输出:

root@host:~# netstat -tunlp | grep 9980
tcp6       0      0 :::9980                 :::*                    LISTEN      8310/coolwsd

创建 Apache 虚拟主机文件:

touch /etc/apache2/sites-available/collabora.conf

用你喜欢的编辑器打开它,并粘贴以下代码行:

 <VirtualHost *:80>
 ServerName collabora.yourdomain.com
 AllowEncodedSlashes NoDecode
 ProxyPreserveHost On

 # static html, js, images, etc. served from coolwsd
 # browser is the client part of Collabora Online
 ProxyPass           /browser <http://127.0.0.1:9980/browser> retry=0
 ProxyPassReverse    /browser <http://127.0.0.1:9980/browser>

 # WOPI discovery URL
 ProxyPass           /hosting/discovery <http://127.0.0.1:9980/hosting/discovery> retry=0
 ProxyPassReverse    /hosting/discovery <http://127.0.0.1:9980/hosting/discovery>

 # Capabilities
 ProxyPass           /hosting/capabilities <http://127.0.0.1:9980/hosting/capabilities> retry=0
 ProxyPassReverse    /hosting/capabilities <http://127.0.0.1:9980/hosting/capabilities>

 # Main websocket
 ProxyPassMatch      "/cool/(.*)/ws$"      ws://127.0.0.1:9980/cool/$1/ws nocanon

 # Admin Console websocket
 ProxyPass           /cool/adminws ws://127.0.0.1:9980/cool/adminws

 # Download as, Fullscreen presentation and Image upload operations
 ProxyPass           /cool <http://127.0.0.1:9980/cool>
 ProxyPassReverse    /cool <http://127.0.0.1:9980/cool>
 # Compatibility with integrations that use the /lool/convert-to endpoint
 ProxyPass           /lool <http://127.0.0.1:9980/cool>
 ProxyPassReverse    /lool <http://127.0.0.1:9980/cool>
</VirtualHost>

保存文件并关闭它。之后,启用网站和代理模块:

sudo a2ensite collabora.conf

sudo a2enmod proxy proxy_http proxy_wstunnel

检查 Apache 语法:

apachectl -t

你应该得到以下输出:

root@host:~# apachectl -t
Syntax OK

现在,你可以重新启动 Apache 服务。

sudo systemctl restart apache2

第四步:安装 Let’s Encrypt 证书

要安装 certbot,请执行以下命令:

sudo apt install certbot python3-certbot-apache -y

现在,要安装 SSL 证书,只需执行以下命令:

sudo certbot --apache

添加管理员电子邮件,同意条款和条件,并选择正确的域,或者你可以将输入留空,certbot 将在你服务器上的所有域上安装 Let’s Encrypt。

第五步:将 Collabora 与 NextCloud 集成

本教程的最后一步是将 Collabora 与现有的 NextCloud 实例集成。登录你的 NextCloud 实例并导航到设置部分

从左侧的“管理”菜单中,单击 NextCloud Office

然后选择“使用你自己的服务器”并输入你的 Collabora URL。从“高级”菜单中,选中“OpenXML 文件”的复选框。

现在,我们可以创建一个新的电子表格并开始使用它。

结尾

本文详细介绍了如何在 Ubuntu 22.04 上安装和配置 Collabora Online,并将其与 Nextcloud 集成。希望这个教程能帮助你成功搭建自己的在线办公环境。

我的博客:https://blog.ivwv.site

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2274571.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux的内核空间中的日志打印函数printk的详解;如果设置`printk` 函数的默认日志级别和是否输出到终端控制台

引言 首先&#xff0c;要知道&#xff0c;内核空间是没有printf函数的&#xff0c;printf函数是是用户空间的标准 I/O 函数&#xff0c;而不是内核空间中的。 所以在运行于内核空间的程序中(比如驱动程序)&#xff0c;是不能使用printf函数的&#xff0c;但有时候我们又需要打…

Python编程实例-特征向量与特征值编程实现

特征向量与特征值编程实现 文章目录 特征向量与特征值编程实现1、什么是特征向量2、特征向量背后的直觉3、为什么特征向量很重要?4、如何计算特征向量?4、特征向量Python实现5、可视化特征向量6、总结线性代数是许多高级数学概念的基石,广泛应用于数据科学、机器学习、计算机…

202-01-06 Unity 使用 Tip1 —— UnityHub 模块卸载重装

文章目录 1 卸载模块2 更新配置文件3 重启 UnityHub 起因&#xff1a; ​ WebGL 平台打包程序报错&#xff0c;懒得修复了&#xff0c;因此粗暴地删了重装。但是 UnityHub 不支持卸载模块&#xff0c;因此手动配置。 1 卸载模块 ​ 以 Unity 6000.0.26f1c1 为例&#xff0c;其…

Git的简单介绍与如何安装Git

文章目录 前言一、初始git1.git是什么2.为什么要使用git(出现的问题)3.git是如何解决问题的 二、git的安装与卸载1.centos系统2.ubuntu系统3.windows 三、搭建git本地环境1.创建git本地仓库2.配置用户信息 总结 前言 本文简单引入git的相关内容。 一、初始git 1.git是什么 g…

Linux 进程入门:带你走进操作系统的核心地带(1)

&#x1f31f; 快来参与讨论&#x1f4ac;&#xff0c;点赞&#x1f44d;、收藏⭐、分享&#x1f4e4;&#xff0c;共创活力社区。&#x1f31f; &#x1f6a9;用通俗易懂且不失专业性的文字&#xff0c;讲解计算机领域那些看似枯燥的知识点&#x1f6a9; 在 Linux 操作系…

C#版OpenCv常用函数大全

OpenCvSharp 是 OpenCV 的NET封装&#xff0c;提供了丰富的图像处理和计算机视觉功能。以下是一些常用函数及其详细说明。 1. 图像读取与显示 Cv2.ImRead 功能&#xff1a;读取图像文件并返回一个 Mat 对象。用法&#xff1a;Mat image Cv2.ImRead("path/to/image.jpg&…

【初阶数据结构】线性表之单链表

文章目录 前言 一、单链表的概念与结构 1.概念 2.结点 3.性质 二、实现单链表 1.结构的定义 2.链表的打印和结点的申请 3.单链表的尾插和头插 4.单链表的尾删和头删 5.单链表的查找 6.指定位置之前插入数据和指定位置之后插入数据 7.删除pos结点和删除pos之后的结…

DB-Engines Ranking 2025年1月数据库排行

DB-Engines Ranking 2025年1月数据库排行 DB-Engines排名根据数据库管理系统的受欢迎程度进行排名。排名每月更新一次。 2025年1月&#xff0c;共有423个数据库进入排行。 排行榜 Oracle Oracle 连续三月稳居榜首&#xff0c;排名稳定。2025 年 1 月分数较上月增 5.03&#x…

Hadoop3.x 万字解析,从入门到剖析源码

&#x1f496; 欢迎来到我的博客&#xff01; 非常高兴能在这里与您相遇。在这里&#xff0c;您不仅能获得有趣的技术分享&#xff0c;还能感受到轻松愉快的氛围。无论您是编程新手&#xff0c;还是资深开发者&#xff0c;都能在这里找到属于您的知识宝藏&#xff0c;学习和成长…

鸿蒙的APP真机调试以及发布

目录&#xff1a; 1、创建好鸿蒙项目2、创建AGC项目3、实现自动签名3.1、手动方式创建签名文件和密码 4、运行项目5、无线真机调试 1、创建好鸿蒙项目 2、创建AGC项目 &#xff08;1&#xff09;在File->Project Structure->Project->Signing Configs中进行登录。(未…

Swin Transformer模型详解(附pytorch实现)

写在前面 Swin Transformer&#xff08;Shifted Window Transformer&#xff09;是一种新颖的视觉Transformer模型&#xff0c;在2021年由微软亚洲研究院提出。这一模型提出了一种基于局部窗口的自注意力机制&#xff0c;显著改善了Vision Transformer&#xff08;ViT&#xf…

穷举vs暴搜vs深搜vs回溯vs剪枝系列一>字母大小写全排列

题目&#xff1a; 解析&#xff1a; 代码&#xff1a; private List<String> ret;private StringBuffer path;public List<String> letterCasePermutation(String s) {ret new ArrayList<>();path new StringBuffer();dfs(s,0);return ret;}private voi…

LabVIEW软件侵权分析与应对

问&#xff1a;如果涉及到LabVIEW软件的仿制或模仿&#xff0c;特别是在功能、界面等方面&#xff0c;如何判断是否构成侵权&#xff1f;该如何应对&#xff1f; 答&#xff1a;LabVIEW软件的侵权问题&#xff0c;尤其是在涉及到仿制或模仿其功能、界面、设计等方面&#xff0…

玩转 JMeter:Random Order Controller让测试“乱”出花样

嘿&#xff0c;各位性能测试的小伙伴们&#xff01;今天咱要来唠唠 JMeter 里超级有趣又超实用的 Random Order Controller&#xff08;随机顺序控制器&#xff09;&#xff0c;它就像是性能测试这场大戏里的“魔术棒”&#xff0c;轻轻一挥&#xff0c;就能让测试场景变得千变…

探秘MetaGPT:革新软件开发的多智能体框架(22/30)

一、MetaGPT 引发的 AI 变革浪潮 近年来&#xff0c;人工智能大模型领域取得了令人瞩目的进展&#xff0c;GPT-3、GPT-4、PaLM 等模型展现出了惊人的自然语言处理能力&#xff0c;仿佛为 AI 世界打开了一扇通往无限可能的大门。它们能够生成流畅的文本、回答复杂的问题、进行创…

01、Redis初认识

一、简介 Redis&#xff0c;Remote Dictionary Server &#xff0c;远程字典服务。它是由一个意大利人使用C语言开发的&#xff0c;支持网络、可基于内存也可以持久化的日志型、NoSQL内存数据库&#xff0c;其提供了多种语言的API。 为什么把Reids称为字典服务&#xff1f; …

【2025 Rust学习 --- 10 运算符重载】

重载操作符 算术运算符与按位运算符 Rust 中&#xff0c;表达式 a b 实际上是 a.add(b) 的简写形式&#xff0c;也就是对标准库 中 std::ops::Add 特型的 add 方法的调用。Rust 的标准数值类型都实现了 std::ops::Add。 trait Add<Rhs Self> {type Output;fn add(se…

node-sass@4.14.1报错的最终解决方案分享

输入npm i全安装文件所需的依赖的时候&#xff0c;博主是使用sass去书写的&#xff0c;使用的是node-sass4.14.1和sass-loader7.3.1的版本的&#xff0c;安装的时候老是出现错误&#xff0c; node-sass4.14.1版本不再被支持的原因 node-sass 是一个基于 LibSass 的 Node.js 绑…

LabVIEW大数据有什么应用场景?

LabVIEW在处理大数据时主要依赖于其强大的数据采集、信号处理、控制、以及实时系统的功能。以下是一些典型的应用场景&#xff1a; ​ 1. 工业自动化与制造 数据采集与监控&#xff1a;在生产线上&#xff0c;LabVIEW可以用来收集大量的传感器数据&#xff08;如温度、压力、湿…

深入理解Mybatis原理》MyBatis的sqlSessi

sqlSessionFactory 与 SqlSession 正如其名&#xff0c;Sqlsession对应着一次数据库会话。由于数据库会话不是永久的&#xff0c;因此Sqlsession的生命周期也不应该是永久的&#xff0c;相反&#xff0c;在你每次访问数据库时都需要创建它&#xff08;当然并不是说在Sqlsession…