實現(xiàn)Linux安裝Collabora Online讓NextCloud支持Office在線編輯

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

實現(xiàn)Linux安裝Collabora Online讓NextCloud支持Office在線編輯的圖1實現(xiàn)Linux安裝Collabora Online讓NextCloud支持Office在線編輯的圖2

部署Collabora Online服務(wù)

Collabora Online提供多種平臺和多種安裝方式,這篇文章使用Linux Docker方式來一鍵部署。

CentOS安裝Docker

#安裝docker
yum -y install docker
#運行docker
service docker start
#設(shè)置docker開機啟動
systemctl enable docker

實現(xiàn)Linux安裝Collabora Online讓NextCloud支持Office在線編輯的圖3

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

實現(xiàn)Linux安裝Collabora Online讓NextCloud支持Office在線編輯的圖4

注意上面的<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

實現(xiàn)Linux安裝Collabora Online讓NextCloud支持Office在線編輯的圖5

  • username:后面是用戶名

  • password:后面是密碼

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

實現(xiàn)Linux安裝Collabora Online讓NextCloud支持Office在線編輯的圖6實現(xiàn)Linux安裝Collabora Online讓NextCloud支持Office在線編輯的圖7

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;
}

實現(xiàn)Linux安裝Collabora Online讓NextCloud支持Office在線編輯的圖8

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

實現(xiàn)Linux安裝Collabora Online讓NextCloud支持Office在線編輯的圖9實現(xiàn)Linux安裝Collabora Online讓NextCloud支持Office在線編輯的圖10

NextCloud設(shè)置

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

實現(xiàn)Linux安裝Collabora Online讓NextCloud支持Office在線編輯的圖11實現(xiàn)Linux安裝Collabora Online讓NextCloud支持Office在線編輯的圖12

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

實現(xiàn)Linux安裝Collabora Online讓NextCloud支持Office在線編輯的圖13實現(xiàn)Linux安裝Collabora Online讓NextCloud支持Office在線編輯的圖14

總結(jié)

Collabora Online不僅可以為NextCloud為提供在線文檔編輯,也可以讓Seafile 支持Office預(yù)覽。值得一提的是Collabora Online比較耗費內(nèi)存,尤其是多人同時編輯文檔的情況下,因此部署Collabora Online建議4G內(nèi)存以上。

登錄后免費查看全文
立即登錄
App下載
技術(shù)鄰APP
工程師必備
  • 項目客服
  • 培訓(xùn)客服
  • 平臺客服

TOP

3
1
1