This image has an empty alt attribute; its file name is nextcloud-logo.jpeg
Hướng dẫn cài đặt Collabora Online và tích hợp với NextCloud

Mục lục :

  1. Cài đặt Collabora Online server
  2. Tích hợp Collabora Online với Nextcloud

1. Cài đặt Collabora server

Môi trường cài đặt Collabora server :

  • OS : Ubuntu 16.04
  • RAM : 2048
  • CPU : 2 core
  • Disk : 20GB
  • Public IP
  • Domain

Chú ý : Collabora server và Nextcloud server bắt buộc phải có Domain để có thể tích hợp với nhau. Để đăng ký một tên miền đơn giản nhất, hãy truy cập vào trang đăng ký tên miền của Nhân Hòa

Tại bài viết trên các domain tương ứng như sau :

  • Nextcloud server : nextcloud365.nextcloudvn.com
  • Collabora server : collaboracloud365.nextcloudvn.com

Bước 1 : Trên Colabora Server, thực hiện cài đặt Docker và down image Collabora :

apt-get install docker.io -y
docker pull collabora/code 

Bước 2 : Thực hiện chạy docker image cho Collabora và thực hiện khai báo máy chủ NextCloud được phép tích hợp với Collabora server.

Chú ý : Trong mục domain khai báo domain của NextCloud Server

docker run -t -d -p 127.0.0.1:9980:9980 -e 'domain=nextcloud365\\.nextcloudvn\\.com' --restart always --cap-add MKNOD collabora/code

Chú ý : Ví dụ ta cần tích hợp máy chủ có domain nextcloud366.nextcloudvn.com với Collabora server. Khi sử dụng Collabora với nhiều  domain nextcloud khác nhau. Cần chạy câu lệnh docker như sau : 

docker run -t -d -p 127.0.0.1:9980:9980 -e 'domain=nextcloud365\\.nextcloudvn\\.com\|nextcloud366\\.nextcloudvn\\.com\'  --restart always --cap-add MKNOD collabora/code

Bước 3 : Cài đặt Let’s Encrypt với domain là  collaboracloud365.nextcloudvn.com

apt install -y letsencrypt python-letsencrypt-apache
letsencrypt --apache --agree-tos --email manhdinh1994@gmail.com -d collaboracloud365.nextcloudvn.com 


Chú ý chọn Y để cài đặt và chọn 2 để redirect toàn bộ request từ http => https :

  • Cài đặt và enable các mode của apache
apt-get install -y apache2
a2enmod proxy
a2enmod proxy_wstunnel
a2enmod proxy_http
a2enmod ssl
  • Cấu hình tạo file httpd :
cat << EOF >> /etc/apache2/sites-available/collaboracloud365.nextcloudvn.com.conf
<VirtualHost *:80>
ServerName collaboracloud365.nextcloudvn.com 
RewriteEngine on
RewriteCond %{SERVER_NAME} =collaboracloud365.nextcloudvn.com 
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>
EOF
  • Cấu hình tạo file httpd với SSL
cat << EOF >> /etc/apache2/sites-enabled/collaboracloud365.nextcloudvn.com-le-ssl.conf
<IfModule mod_ssl.c>
<VirtualHost *:443>
ServerName collaboracloud365.nextcloudvn.com
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/collaboracloud365.nextcloudvn.com/fullchain.pem
SSLCertificateChainFile /etc/letsencrypt/live/collaboracloud365.nextcloudvn.com/chain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/collaboracloud365.nextcloudvn.com/privkey.pem
SSLProtocol             all -SSLv2 -SSLv3
SSLCipherSuite 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
SSLHonorCipherOrder     on  
 
 SSLCertificateFile /etc/letsencrypt/live/collaboracloud365.nextcloudvn.com/fullchain.pem  
 SSLCertificateKeyFile /etc/letsencrypt/live/collaboracloud365.nextcloudvn.com/privkey.pem  
 Include /etc/letsencrypt/options-ssl-apache.conf
 # Encoded slashes need to be allowed  
 AllowEncodedSlashes NoDecode  

 # Container uses a unique non-signed certificate
 SSLProxyEngine On 
 SSLProxyVerify None 
 SSLProxyCheckPeerCN Off 
 SSLProxyCheckPeerName Off 

 # keep the host 
 ProxyPreserveHost On 
 # static html, js, images, etc. served from loolwsd 
 # loleaflet is the client part of LibreOffice Online 
 ProxyPass /loleaflet https://127.0.0.1:9980/loleaflet retry=0 
 ProxyPassReverse /loleaflet https://127.0.0.1:9980/loleaflet 

 # 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 

 # Main websocket 
 ProxyPassMatch "/lool/(.*)/ws$" wss://127.0.0.1:9980/lool/$1/ws nocanon 

 # Admin Console websocket 
 ProxyPass /lool/adminws wss://127.0.0.1:9980/lool/adminws 

 # Download as, Fullscreen presentation and Image upload operations 
 ProxyPass /lool https://127.0.0.1:9980/lool 
 ProxyPassReverse /lool https://127.0.0.1:9980/lool
</VirtualHost>
</IfModule>
EOF
  • Enable domain và restart httpd
a2ensite collaboracloud365.nextcloudvn.com
systemctl restart apache2

2. Tích hợp Collabora Online trên NextCloud

Truy cập trang :  https://nextcloud365.nextcloudvn.com với user admin . Tại mục Setting => App

Tại mục Office and Text, tìm kiếm Collabora Online, ấn và Download và Enable, nhập password để thực hiện

Tại mục Setting => Collabora online. Điền thông tin của domain Collabora là https://collaboracloud365.nextcloudvn.com và ấn Apply

Tạo 1 file word, file sẽ tự kết nối tới Collabora server. Khi hiện lên giao diện chỉnh sửa của file nghĩa là việc kết nối tới Collabora Online đã thành công .

Tại bài tiếp theo, team #cloud365 sẽ hướng dẫn các bạn update NextCloud server bằng các cách khác nhau.

Xin cảm ơn đã quan tâm và theo dõi !