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 Onet
Tại bài viết trên các domain tương ứng như sau :
- Nextcloud server : nextOnet.nextcloudvn.com
- Collabora server : collaboraOnet.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=nextOnet\.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=nextOnet\.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à collaboraOnet.nextcloudvn.com
apt install -y letsencrypt python-letsencrypt-apache letsencrypt --apache --agree-tos --email [email protected] -d collaboraOnet.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/collaboraOnet.nextcloudvn.com.conf <VirtualHost *:80> ServerName collaboraOnet.nextcloudvn.com RewriteEngine on RewriteCond %{SERVER_NAME} =collaboraOnet.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/collaboraOnet.nextcloudvn.com-le-ssl.conf <IfModule mod_ssl.c> <VirtualHost *:443> ServerName collaboraOnet.nextcloudvn.com SSLEngine on SSLCertificateFile /etc/letsencrypt/live/collaboraOnet.nextcloudvn.com/fullchain.pem SSLCertificateChainFile /etc/letsencrypt/live/collaboraOnet.nextcloudvn.com/chain.pem SSLCertificateKeyFile /etc/letsencrypt/live/collaboraOnet.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/collaboraOnet.nextcloudvn.com/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/collaboraOnet.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 collaboraOnet.nextcloudvn.com systemctl restart apache2
2. Tích hợp Collabora Online trên NextCloud
Truy cập trang : https://nextOnet.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://collaboraOnet.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 #Onet 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 !