Mục lục :
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 !
Leave a Reply