將 Collabora Online 連接到 ownCloud Infinite Scale

使用 ownCloud Infinite Scale 的 Collaboration 服務作為 Web UI 和 Collabora Online 之間的 WOPI 橋接器。對於全新安裝,最安全的方法是使用 ownCloud 官方的模組化ocis_fullDocker Compose 範例,其中包含 Infinite Scale、Collaboration、Collabora 和 Traefik。設定 Infinite Scale、Collaboration 和 WOPI 的公共 URL,使用有效的 TLS 證書,並確保所有服務金鑰保持一致。請勿將其配置為像配置傳統的 ownCloud Server 那樣配置 Infinite Scale。

ownCloud 的最新文件證實了這一點:Infinite Scale 透過 WOPI 及其協作服務整合辦公室套件。cs3org/wopi在新版本中,該服務取代了舊的外部伺服器,因此,管理員在升級舊版本時必須遵循其已安裝版本的遷移說明。

1. 檢查版本和網路先決條件

在安裝任何內容之前,請務必確認 Infinite Scale 的特定版本。目前的 ownCloud 文件在 9.0 開發文件中列出了 Collaboration 服務,並指出當 Infinite Scale 以監督模式運行時,必須單獨啟動該服務。 ownCloud 全端範例也警告說,該設定依賴於包含 Collaboration 服務的版本,並且與 5.x 生產版本不相容。請使用與您已安裝版本相符的文件和 Compose 檔案;切勿在未檢查相容性的情況下將捲動範例複製到舊的生產系統中。

對於公共部署,請規劃單獨的主機名,例如cloud.example.com`<cloud_url>` office.example.com、`<collabora_url>` 和wopi.example.com`<collabora_url>`。瀏覽器必須能夠存取雲端和 Collabora 的 URL,而 Collabora 也必須能夠存取 Infinite Scale 公開的 WOPI 端點。 DNS、防火牆和 TLS 信任必須雙向生效。僅能從筆記型電腦存取主機,但無法從 Collabora 容器存取主機是不夠的。

ownCloud 的部署範例使用 Traefik 作為反向代理,並要求伺服器設定中存在有效的 SSL 憑證。其本機測試環境可使用自簽名證書,但公用部署不應預設為停用證書驗證。請在配置堆疊之前確定要使用的主機名稱和憑證。

2. 從 ownCloud 的配套 Compose 範例開始

  1. 開啟 ownCloud 官方的完整模組化 oCIS 與 WebOffice部署指南以及對應的ocis_full 範例目錄。對於生產環境,請檢出與您的 Infinite Scale 版本相符的發布版本或標籤,而不是依賴程式碼庫的捲動分支。
  2. 請查看範例.env文件。將 `<hostname>` OCIS_DOMAIN、 `<hostname> COLLABORA_DOMAIN` 和WOPISERVER_DOMAIN`<hostname>` 設定為解析到您伺服器的主機名稱。範例中啟用了 Collabora COLLABORA=:collabora.yml;如果您要使用 Collabora 作為辦公室編輯器,請保留此設定。
  3. 設定強密碼和私密管理員憑證,並遵循範例中的生產環境 TLS 指南。不要直接使用範例密碼。如果倉庫版本更改了環境變數名稱或文件佈局,請使用相同版本標籤中的文件,而不是混用不同版本的說明。
  4. 啟動 Compose 之前,請先檢查其配置。確認 Collabora、Collaboration、Infinite Scale 和代理服務共享預期的網路和配置。 ownCloud 指南警告說,如果 Collaboration 運行在單獨的容器中,則必須與其他服務共用相關的 Infinite Scale 配置和產生的金鑰。

此部署範例是一個整合式堆疊,並非適用於所有現有安裝的通用配置。如果您已使用 systemd、Kubernetes 或自訂反向代理程式來執行 Infinite Scale,請保留該部署模型,並依照該版本的文件設定協作服務和應用程式註冊表,而無需啟動第二個完整的堆疊。

3. 使用 WOPI 將協作連結到 Collabora

核心設定用於標識編輯器 URL 和外部可存取的 WOPI 來源。在目前的服務文件中,`<app_display_name>`COLLABORATION_APP_NAME是應用程式的顯示名稱,` COLLABORATION_APP_PRODUCT<product_name>` 識別產品,` COLLABORATION_APP_ADDR<collabora_source>` 指向 Collabora,` COLLABORATION_WOPI_SRC<URL>` 是 Collabora 用於透過 Infinite Scale 讀取和寫入檔案的 URL。一個概念性的配置如下所示:

COLLABORATION_APP_NAME=CollaboraOnline
COLLABORATION_APP_PRODUCT=Collabora
COLLABORATION_APP_ADDR=https://office.example.com
COLLABORATION_WOPI_SRC=https://wopi.example.com

請使用部署所需的實際公用 URL 和變數格式。如果服務在內部容器網路上通信,則內部位址可能適用於一種設置,而面向瀏覽器的 URL 則適用於另一種設定。請勿將僅用於容器的主機名稱替換為 Collabora 必須從外部解析的值。

協作服務也需要 Infinite Scale 執行時間值 `<value1>` OCIS_URL、 `<value2>` OCIS_JWT_SECRET、OCIS_REVA_GATEWAY`<value3>` 和MICRO_REGISTRY_ADDRESS`<value4>`。這些值必須與正在運行的實例相符;官方全端範例提供了其自身 Compose 網路的服務關係。請勿僅為一個服務建立新的金鑰,或停用 WOPI 金鑰驗證以繞過不匹配問題。請對受信任的公共憑證啟用憑證驗證;COLLABORATION_APP_INSECURE此方法僅作為自簽章 WOPI 應用程式憑證的選項,而非通用的生產環境解決方案。

應用程式註冊表控制著每個 MIME 類型對應的 Office 應用程式以及預設開啟的應用程式。如果 Collabora 正在運行,但文件沒有顯示「開啟方式」選項,請檢查註冊表的 MIME 類型配置及其default_app值。此處使用的名稱必須與配置的 Office 應用程式名稱相符。 ownCloud 將此組態記錄為 YAML 設定;環境變數不會取代 MIME 類型對應。

4. 啟動、測試和診斷集成

使用官方的 Compose 範例,驗證渲染後的配置,然後從部署目錄啟動堆疊:

docker compose config
docker compose up -d

如果您未使用 Compose 範例,請先啟動網關、應用程式提供者和 Collabora 服務。在監督模式下,ownCloud 文件會明確指出需要明確啟動 Collabora 服務ocis collaboration server;它不會自動啟動。請確保在啟動 Collabora 服務之前,已在服務流程中配置所需的環境變數。

  1. 請在瀏覽器中開啟https://office.example.com/hosting/discovery。可存取的端點應傳回 Collabora 的發現 XML,而不是 DNS、TLS 或代理錯誤。
  2. 登入 Infinite Scale,開啟一個受支援的文檔,如果使用者介面提供了多個辦公室應用,請選擇 Collabora。測試現有文件,如果應用程式註冊表中已啟用,也測試建立新文件。
  3. 進行少量修改,等待儲存指示器穩定後,關閉編輯器,然後重新開啟檔案以確認變更已儲存。
  4. 如果編輯器無法打開,請檢查相同時間戳記的 Infinite Scale Collaboration 和 App Provider 日誌、Collabora 日誌以及反向代理程式日誌。 「未經授權的 WOPI 主機」指向 Collabora 的 WOPI 信任配置;回呼失敗或 TLS 錯誤指向 URL 可達性或憑證信任問題;缺少應用程式選項指向應用程式註冊表。

成功整合意味著瀏覽器載入編輯器,WOPI 連線到達 Infinite Scale,重新開啟後編輯內容仍然保留。具體的容器名稱、URL 設定和設定檔位置取決於 Infinite Scale 的版本和部署方式。有關這些詳細信息,請參閱與版本匹配的 ownCloud 文檔,尤其是在從舊版外部 WOPI 伺服器遷移時。

參考資料:ownCloud Collaboration 服務配置、ownCloud App Registry 設定、Infinite Scale 發行說明與遷移說明。

留下評論

將 Collabora Online 連接到 ownCloud Infinite Scale

將 Collabora Online 連接到 ownCloud Infinite Scale

在 Collabora Online 和 ownCloud Infinite Scale 之間建立 WOPI 連接,配置正確的服務 URL,並驗證文件編輯是否儲存。

透過 WOPI 在 Collabora CODE 中匯出區塊文件

透過 WOPI 在 Collabora CODE 中匯出區塊文件

透過設定 WOPI DisableExport 權限來阻止 Collabora Online CODE 中的文件匯出,然後驗證主機和編輯器是否強制執行該權限。

將 Collabora 部署在 Nginx 後面而不破壞 WebSocket

將 Collabora 部署在 Nginx 後面而不破壞 WebSocket

設定 Nginx TLS 終止、Collabora 路由和 WebSocket 標頭,然後在開啟真實文件之前測試公共端點。

停止程式碼編輯會話在 10 分鐘時結束

停止程式碼編輯會話在 10 分鐘時結束

追蹤 10 分鐘 CODE 斷開連線的原因,找到其代理程式、負載平衡器或 WebSocket 路徑,然後修正逾時問題並驗證會話是否保持連線。

使用 Helm 在 Kubernetes 上部署 Collabora CODE

使用 Helm 在 Kubernetes 上部署 Collabora CODE

安裝官方 Collabora Helm chart,配置 WOPI 存取和入口親和性,並驗證部署是否正確,避免常見的設定錯誤。

將空白的 Collabora 文件追蹤到故障層

將空白的 Collabora 文件追蹤到故障層

使用瀏覽器請求、WOPI 日誌和有針對性的代理檢查來找出 Collabora 開啟空白文件的原因,並選擇符合證據的修復方案。

在 Collabora Online CODE 中啟用多語言拼字檢查

在 Collabora Online CODE 中啟用多語言拼字檢查

正確配置 CODE Docker 字典並標記文件段落,以便英語、法語和其他受支援的語言獲得正確的拼字檢查。

設定 Collabora 的活動文件視圖空閒計時器

設定 Collabora 的活動文件視圖空閒計時器

在 coolwsd 中調整每個視圖的非活動閾值,並將其與後台標籤頁變暗、文件卸載、自動儲存和登入過期區分開來。

停用 Collabora 程式碼更新檢查和不必要的連接

停用 Collabora 程式碼更新檢查和不必要的連接

停止計劃的 CODE 更新檢查,審查可選的遠端服務,並在不中斷文件編輯的情況下使用出站網路控制。

使用正確的 WOPI URL 將 Seafile 和 Collabora 連接起來

使用正確的 WOPI URL 將 Seafile 和 Collabora 連接起來

透過為您的部署配置 Collabora 的發現 URL、HTTPS 和 WOPI 存取權限,在 Seafile 中啟用安全性文件編輯。