Ubuntu 24.04安装nextcloud Collabora Office
1. 安装CODE
首先更新升级Ubuntu系统:
sudo apt update sudo apt upgrade -y
导入 Collabora CODE 签名密钥:
cd /usr/share/keyrings && sudo wget https://collaboraoffice.com/downloads/gpg/collaboraonline-release-keyring.gpg
为 Collabora CODE 包存储库创建一个文件:
sudo nano /etc/apt/sources.list.d/collaboraonline.sources
输入存储库配置:
Types: deb URIs: https://www.collaboraoffice.com/repos/CollaboraOnline/CODE-deb Suites: ./ Signed-By: /usr/share/keyrings/collaboraonline-release-keyring.gpg
安装 CODE 包:
sudo apt update sudo apt install coolwsd code-brand -y
2. CODE的配置
在将 Collabora 与 NextCloud 实例连接之前,我们需要执行以下命令:
sudo coolconfig set ssl.enable false sudo coolconfig set ssl.termination true
上述命令用于禁用 TLS,因为服务无法找到证书文件。我们稍后将启用这两个设置。
接下来是允许连接到您现有的 Nextcloud 实例,使用以下命令使用 Nextcloud 域:
sudo coolconfig set storage.wopi.host 你NextCloud网址
执行该命令后,您应该收到以下输出:
root@host:~# sudo coolconfig set storage.wopi.host 你NextCloud网址 No property, "storage.wopi.host", found in config file. Adding it as new with value: "你NextCloud网址" 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 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.
3.Nginx 配置
安装Nginx:
sudo apt install nginx -y
为子域collabora网址创建一个新的 Nginx 配置文件:
sudo nano /etc/nginx/sites-available/你的collabora网址.conf
输入配置:
server { listen 80; server_name 你的collabora网址; }
启用 Nginx 服务器块配置:
sudo ln -s /etc/nginx/sites-available/你的collabora网址.conf /etc/nginx/sites-enabled
重新启动 nginx 服务:
sudo systemctl restart nginx
如果 UFW 防火墙处于活动状态,则打开端口 80 和 443:
sudo ufw allow 80 sudo ufw allow 443
为 Nginx 安装 Certbot:
sudo apt install certbot python3-certbot-nginx -y
为子域你的collabora网址请求 SSL :
sudo certbot --non-interactive \ -m admin@你的网址 \ --agree-tos \ --no-eff-email \ --nginx \ -d 你的collabora网址 \ --redirect
打开之前创建的 Nginx 服务器块配置文件:
sudo nano /etc/nginx/sites-available/你的collabora网址.conf
修改Collabora服务器的反向代理配置内容:
server { listen 443 ssl http2; listen [::]:443 ssl http2; server_name 你的collabora网址; server_tokens off; ssl_certificate /etc/letsencrypt/live/你的collabora网址/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/你的collabora网址/privkey.pem; include /etc/letsencrypt/options-ssl-nginx.conf; ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # static files location ^~ /browser { proxy_pass http://127.0.0.1:9980; proxy_set_header Host $http_host; } # WOPI discovery URL location ^~ /hosting/discovery { proxy_pass http://127.0.0.1:9980; proxy_set_header Host $http_host; } # Capabilities location ^~ /hosting/capabilities { proxy_pass http://127.0.0.1:9980; proxy_set_header Host $http_host; } # main websocket location ~ ^/cool/(.*)/ws$ { proxy_pass http://127.0.0.1:9980; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "Upgrade"; proxy_set_header Host $http_host; proxy_read_timeout 36000s; } # download, presentation and image upload location ~ ^/(c|l)ool { proxy_pass http://127.0.0.1:9980; proxy_set_header Host $http_host; } # Admin Console websocket location ^~ /cool/adminws { proxy_pass http://127.0.0.1:9980; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "Upgrade"; proxy_set_header Host $http_host; proxy_read_timeout 36000s; } access_log /var/log/nginx/你的collabora网址_access.log; error_log /var/log/nginx/你的collabora网址_error.log; } server { listen 80; listen [::]:80; server_name 你的collabora网址; server_tokens off; return 301 https://$server_name$request_uri; }
重新启动 nginx 服务:
sudo systemctl restart nginx
4. 与 Nextcloud 集成
以管理员身份登录 Nextcloud,单击个人资料 > +Apps 图标。单击Office & Text菜单,然后单击下载并启用Collabora Online – 内置 CODE 服务器和Nextcloud Office。
然后单击配置文件 > 管理设置 > Nextcloud Office。
选择使用您自己的服务器,在Collabora Online 服务器的 URL(和端口)中输入 CODE 子域,即你的collabora网址。
然后在WOPI 请求的允许列表中输入 Collabora Online 服务器的 IP 地址。
5. 测试
通过打开其中一个开放文档格式文件(例如 .odt、.ods 或 .odp)来测试 Collabora Online 与 Nextcloud 的集成。