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.io
Sau khi cài đặt xong docker sẽ tự động start, kiểm tra lại với câu lệnh
systemctl status docker
Download 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/code
Sau đó 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.conf
Copy 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_http
Enable site o.vhost.vn trên Apache
sudo a2ensite collabora.conf
Restart lại Apache để load cấu hình mới
sudo systemctl restart apache2
Cài đặt SSL cho Reverse Proxy
Cài đặt certbot plugin cho Apache
sudo apt install python3-certbot-apache
Request SSL cho domain o.vhost.vn
sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email youremail@domain.com -d o.vhost.vn
Tí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 ạ