實現(xiàn)Linux安裝Collabora Online讓NextCloud支持Office在線編輯
NextCloud可通過插件實現(xiàn)在線編輯Office文檔,不過前提是需要依賴于Collabora Online服務(wù),記錄一下操作過程。


部署Collabora Online服務(wù)
Collabora Online提供多種平臺和多種安裝方式,這篇文章使用Linux Docker方式來一鍵部署。
CentOS安裝Docker
#安裝docker yum -y install docker #運行docker service docker start #設(shè)置docker開機啟動 systemctl enable docker

Docker部署Collabora Online
#部署Collabora Online docker pull collabora/code #運行Collabora Online docker run -t -d -p 127.0.0.1:9980:9980 -e "domain=<your-dot-escaped-domain>" \ -e "username=admin" -e "password=S3cRet" --restart always --cap-add MKNOD collabora/code

注意上面的<your-dot-escaped-domain>指的是WOPI主機,也就是您NextCloud所使用的域名,多個域名可以用|進行分隔,您需要在命令行中使用雙反斜杠,因為shell會轉(zhuǎn)義第一個,而domain參數(shù)會使用正則表達式。
比如您NextCloud域名是https://meiqia.com/,那么輸入的命令應(yīng)該是如下:
docker run -t -d -p 127.0.0.1:9980:9980 -e "domain=cloud\\.ttt\\.sh" \ -e "username=admin" -e "password=S3cRet" --restart always --cap-add MKNOD collabora/code

username:后面是用戶名
password:后面是密碼
賬號、密碼請根據(jù)自己需要進行調(diào)整,如果不報錯應(yīng)該是安裝成功了,輸入命令netstat -apn|grep '9980'看到如下截圖說明Collabora Online已經(jīng)正常運行。


Nginx反向代理Collabora Online
上一個步驟Collabora Online雖然已經(jīng)安裝成功,但是只能內(nèi)網(wǎng)訪問,假如您需要公網(wǎng)方式來提供服務(wù),可以使用Nginx反向代理。以下是xiaoz的Nginx反向代理配置,供參考:
server
{
listen 443 ssl http2;
#listen [::]:443 ssl http2;
# certs sent to the client in SERVER HELLO are concatenated in ssl_certificate
ssl_certificate /data/ssl/ttt.sh.crt;
ssl_certificate_key /data/ssl/ttt.sh.key;
ssl_session_timeout 1d;
ssl_session_cache shared:SSL:50m;
ssl_session_tickets off;
# intermediate configuration. tweak to your needs.
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers 'ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS';
ssl_prefer_server_ciphers on;
# OCSP Stapling ---
# fetch OCSP records from URL in ssl_certificate and cache them
ssl_stapling on;
ssl_stapling_verify on;
server_name office.ttt.sh;
# static files
location ^~ /loleaflet {
proxy_pass https://localhost:9980;
proxy_set_header Host $http_host;
}
# WOPI discovery URL
location ^~ /hosting/discovery {
proxy_pass https://localhost:9980;
proxy_set_header Host $http_host;
}
# main websocket
location ~ ^/lool/(.*)/ws$ {
proxy_pass https://localhost: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 ~ ^/lool {
proxy_pass https://localhost:9980;
proxy_set_header Host $http_host;
}
# Admin Console websocket
location ^~ /lool/adminws {
proxy_pass https://localhost:9980;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header Host $http_host;
proxy_read_timeout 36000s;
}
}
server
{
listen 80;
server_name office.ttt.sh;
rewrite ^(.*) https://office.ttt.sh$1 permanent;
}

然后訪問https://meiqia.com/可以進入Collabora Online控制臺,至此Collabora Online服務(wù)已經(jīng)部署完畢。


NextCloud設(shè)置
在NextCloud后臺 - 應(yīng)用 - 找到Collabora Online插件并啟用。然后在設(shè)置 - 在線協(xié)助,填寫Collabora Online的域名,如下截圖。


最后打開NextCloud中的Office文檔可以在線編輯了,如下截圖。


總結(jié)
Collabora Online不僅可以為NextCloud為提供在線文檔編輯,也可以讓Seafile 支持Office預(yù)覽。值得一提的是Collabora Online比較耗費內(nèi)存,尤其是多人同時編輯文檔的情況下,因此部署Collabora Online建議4G內(nèi)存以上。
工程師必備
- 項目客服
- 培訓(xùn)客服
- 平臺客服
TOP




















