Trong bài này vHost sẽ hướng dẫn vài đặt và tích hợp Collabora online với Nextcloud trên hệ điều hành Ubuntu 20.04
Nội Dung
Collabora online là gì?
Collabora online là hệ thống self-hosted (tự cài đặt trên máy chủ của mình) office cho phép soạn thảo, chỉnh sửa văn bản dựa trên nền tảng LibreOffice.
Tính năng của Collabora Online
- Cho phép chỉnh sửa và soạn thảo văn bản, excel, tạo slide trình chiếu hoặc vẽ sơ đồ
- Hỗ trợ chế độ soạn thảo WYSIWYG (What You See Is What You Get)
- Hỗ trợ định dạng file DOC, DOCX, PPT, PPTX, XLS, XLSX, ODF
- Hỗ trợ import và xem bản vẽ từ Visio, Publisher và 100+ công cụ khác
- Làm việc team work (mọi người có thể cùng làm việc chung trong 1 file docs, sheet, slide …)
Yêu cầu trước khi có thể làm bài lab này
- Hệ điều hành: Ubuntu 20.04
- Bạn đã cài đặt hệ thống LAMP stack trên Ubuntu 20.04
- Bạn đã cài đặt hệ thống Nextcloud trên Ubuntu 20.04
Hướng dẫn tích hợp Collabora Online với Nextcloud
Cài đặt Docker
Cập nhật packet lên version mới nhất và cài đặt docker
sudo apt update
sudo apt install docker.ioSau khi cài đặt xong docker sẽ tự động start, kiểm tra lại với câu lệnh
systemctl status dockerDownload docker image và start docker image
Download image Collabora Online Development Edition từ Docker hub
sudo docker pull collabora/code
Sau khi download xong thì start docker image với câu lệnh sau:
Vui lòng thay thế phần domain s.vhost.vn thành domain hệ thống Nextcloud của bạn, nếu không hệ thống Nextcloud của bạn sẽ không thể kết nối tới Collabora Online
docker run -t -d -p 127.0.0.1:9980:9980 -e 'domain=s\\.vhost\\.vn' --restart always --cap-add MKNOD collabora/codeSau đó kiểm tra lại với lệnh
docker ps
Cài đặt reverse proxy
Trong bài này giả sử bạn đã cài LAMP stack trên Ubuntu 20.04, nếu bạn chưa cài LAMP stack, bạn có thể tham khảo bài https://vhost.vn/cai-dat-lamp-stack-tren-ubuntu-20-04/.
Mình sẽ tạo VirtualHost sau cho Collabora Online:
sudo nano /etc/apache2/sites-available/collabora.confCopy nội dung sau vào và thay domain o.vhost.vn thành domain Collabora của bạn
<VirtualHost *:80>
  ServerName o.vhost.vn
  Options -Indexes
  ErrorLog "/var/log/apache2/collabora_error"
  # Encoded slashes need to be allowed
  AllowEncodedSlashes NoDecode
  AllowEncodedSlashes NoDecode
  SSLProxyEngine On
  ProxyPreserveHost On
  # cert is issued for collaboraonline.example.com and we proxy to localhost
  SSLProxyVerify None
  SSLProxyCheckPeerCN Off
  SSLProxyCheckPeerName Off
  # static html, js, images, etc. served from coolwsd
  # browser is the client part of Collabora Online
  ProxyPass           /browser https://127.0.0.1:9980/browser retry=0
  ProxyPassReverse    /browser https://127.0.0.1:9980/browser
  # WOPI discovery URL
  ProxyPass           /hosting/discovery https://127.0.0.1:9980/hosting/discovery retry=0
  ProxyPassReverse    /hosting/discovery https://127.0.0.1:9980/hosting/discovery
  # Capabilities
  ProxyPass           /hosting/capabilities https://127.0.0.1:9980/hosting/capabilities retry=0
  ProxyPassReverse    /hosting/capabilities https://127.0.0.1:9980/hosting/capabilities
  # Main websocket
  ProxyPassMatch      "/cool/(.*)/ws$"      wss://127.0.0.1:9980/cool/$1/ws nocanon
  # Admin Console websocket
  ProxyPass           /cool/adminws wss://127.0.0.1:9980/cool/adminws
  # Download as, Fullscreen presentation and Image upload operations
  ProxyPass           /cool https://127.0.0.1:9980/cool
  ProxyPassReverse    /cool https://127.0.0.1:9980/cool
  # Compatibility with integrations that use the /lool/convert-to endpoint
  ProxyPass           /lool https://127.0.0.1:9980/cool
  ProxyPassReverse    /lool https://127.0.0.1:9980/cool
</VirtualHost>Để reverse proxy có thể hoạt động ta cần enable module cho Apache
sudo a2enmod proxy proxy_wstunnel proxy_httpEnable site o.vhost.vn trên Apache
sudo a2ensite collabora.confRestart lại Apache để load cấu hình mới
sudo systemctl restart apache2Cài đặt SSL cho Reverse Proxy
Cài đặt certbot plugin cho Apache
sudo apt install python3-certbot-apacheRequest SSL cho domain o.vhost.vn
sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email youremail@domain.com -d o.vhost.vnTích hợp Collabora Online với Nextcloud
Truy cập admin hệ thống Nextcloud -> Apps search ứng dụng Nextcloud Office và nhấn Download and enable

Sau đó truy cập Admin hệ thống Nextcloud -> Settings -> Nextcloud Office -> chọn Use your own server và cung cấp đường dẫn tới hệ thống Collabora Online như hình và save

Tại phần Advanced Settings chọn Use Office Open XML (OOXML) instead of OpenDocument Format (ODF) by default for new files để các file mới tạo ra sẽ tương thích với bộ công cụ office của Microsoft.

Sau khi tạo xong thì bạn truy cập hệ thống quản lý file của Nextcloud đã thấy có 4 công cụ cho phép tạo file: Document, Spreadsheet, Presentation và Graphic như hình sau

Thử tạo 1 file Word xem sao nhé
Như vậy qua các bước này vHost đã hướng dẫn bạn cài đặt và tích hợp Collabora Online cho Nextcloud hoàn tất. Nếu bạn gặp khó khăn, hãy comment tại đây nhé.







chi mình hỏi số lượng người dùng Collabora online bị giới hạn không
Chào anh,
Cảm ơn anh đã đặt câu hỏi cho vHost.
Sẽ không giới hạn về số lượng người dùng Collabora online anh nhé. Chỉ giới hạn về tài nguyên của Server thôi ạ.
vHost thông tin đến anh.
Cho mình hỏi chút là sau khi cài collabora thì có phải đưa ra pubic không Ad, vì mình đã public nextcloud ra ngoài rồi, mong muốn là collabora chỉ chạy ở local thôi, cám ơn Ad
sao không start được collabora web lên Add ơi
Cảm ơn bài hướng dẫn chi tiết, cho mình hỏi chút với: đến đoạn tích hợp Collabora vào Nextcloud, mình bị lỗi là Could not establish connection to the Collabora Online server. và bị một dấu chấm than màu vàng có nội dung là: You have not configured the allow-list for WOPI requests. Without this setting users may download restricted files via WOPI requests to the Nextcloud server. mình không thể thêm được collabora vào nextcloud được. Cách fix như nào vậy ạ