Cara Install Collabora Online dengan Nginx di Ubuntu 24.04
Collabora Online adalah aplikasi online office suite yang berbasis LibreOffice. Collabora Online merupakan salah satu aplikasi yang dapat diintegrasikan dengan Nextcloud, menyediakan solusi lengkap untuk pengeditan dokumen, spreadsheet, dan presentasi secara real-time. Dengan Collabora Online, tim dapat bekerja sama secara simultan pada dokumen yang sama, meningkatkan produktivitas dan efisiensi kolaborasi.
Pada tutorial kali ini, kita akan mempelajari bagaimana cara install Collabora Online untuk dintegrasikan ke Nextcloud sebagai aplikasi office online.
Tutorial Environment
Pada tutorial ini menggunakan:
- VPS: Vultr 1 CPU 1 GB RAM
- OS: Ubuntu 24.04
- Web server: Nginx
- Subdomain: collabora.aminlabs.my.id
- SSL: Let’s Encrypt
- Collabora: Collabora Online Development Edition (CODE) v24.04.4.2 fbf97e9 via package
Catatan:
- System requirements Collabora Online baca di github.com/CollaboraOnline/richdocumentscode
- Tutorial instalasi Nextcloud baca di Cara Install Nextcloud dengan Nginx di Ubuntu 24.04
- Daftar di sini untuk mendapatkan $100 free credit dari Vultr
Install Collabora Online
Tahapan install Collabora terdiri dari install package, konfigurasi Collabora, konfigurasi Nginx, dan integrasi ke Nextcloud.
1. Install CODE
Update dan upgrade system Ubuntu terlebih dahulu:
1 2 | sudo apt update sudo apt upgrade -y |
Import Collabora CODE signing key:
1 2 | cd /usr/share/keyrings sudo wget https://collaboraoffice.com/downloads/gpg/collaboraonline-release-keyring.gpg |
Membuat file Collabora CODE package repository:
1 | sudo nano /etc/apt/sources.list.d/collaboraonline.sources |
Masukkan konfigurasi repository:
1 2 3 4 | Types: deb URIs: https://www.collaboraoffice.com/repos/CollaboraOnline/CODE-deb Suites: ./ Signed-By: /usr/share/keyrings/collaboraonline-release-keyring.gpg |
Install CODE packages:
1 2 | sudo apt update sudo apt install coolwsd code-brand -y |
2. Konfigurasi CODE
Melakukan konfigurasi yang dibutuhkan yang akan mengubah file /etc/coolwsd/coolwsd.xml
:
1 2 3 4 5 6 | sudo coolconfig set ssl.enable false sudo coolconfig set ssl.termination true sudo coolconfig set net.proto IPv4 sudo coolconfig set net.listen 127.0.0.1 sudo coolconfig set storage.wopi.host nextcloud.aminlabs.my.id sudo coolconfig set-admin-password |
Restart service coolwsd
:
1 | sudo systemctl restart coolwsd |
3. Konfigurasi Nginx
Install Nginx:
1 | sudo apt install nginx -y |
Membuat file konfigurasi untuk subdomain collabora.aminlabs.my.id
:
1 | sudo nano /etc/nginx/sites-available/collabora.aminlabs.my.id.conf |
Masukkan konfigurasinya:
1 2 3 4 | server { listen 80; server_name collabora.aminlabs.my.id; } |
Mengaktifkan konfigurasi Nginx server block:
1 | sudo ln -s /etc/nginx/sites-available/collabora.aminlabs.my.id.conf /etc/nginx/sites-enabled |
Restart service nginx:
1 | sudo systemctl restart nginx |
Membuka port 80 dan 443 jika firewall UFW aktif:
1 2 | sudo ufw allow 80 sudo ufw allow 443 |
Install Certbot untuk Nginx:
1 | sudo apt install certbot python3-certbot-nginx -y |
Request SSL untuk subdomain collabora.aminlabs.my.id
:
1 2 3 4 5 6 7 | sudo certbot --non-interactive \ -m admin@aminlabs.my.id \ --agree-tos \ --no-eff-email \ --nginx \ -d collabora.aminlabs.my.id \ --redirect |
Membuka file konfigurasi Nginx server block yang telah dibuat sebelumnya:
1 | sudo nano /etc/nginx/sites-available/collabora.aminlabs.my.id.conf |
Mengubah isi konfigurasi untuk reverse proxy ke Collabora server:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 | server { listen 443 ssl http2; listen [::]:443 ssl http2; server_name collabora.aminlabs.my.id; server_tokens off; ssl_certificate /etc/letsencrypt/live/collabora.aminlabs.my.id/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/collabora.aminlabs.my.id/privkey.pem; include /etc/letsencrypt/options-ssl-nginx.conf; ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # static files location ^~ /browser { proxy_pass http://127.0.0.1:9980; proxy_set_header Host $http_host; } # WOPI discovery URL location ^~ /hosting/discovery { proxy_pass http://127.0.0.1:9980; proxy_set_header Host $http_host; } # Capabilities location ^~ /hosting/capabilities { proxy_pass http://127.0.0.1:9980; proxy_set_header Host $http_host; } # main websocket location ~ ^/cool/(.*)/ws$ { proxy_pass http://127.0.0.1:9980; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "Upgrade"; proxy_set_header Host $http_host; proxy_read_timeout 36000s; } # download, presentation and image upload location ~ ^/(c|l)ool { proxy_pass http://127.0.0.1:9980; proxy_set_header Host $http_host; } # Admin Console websocket location ^~ /cool/adminws { proxy_pass http://127.0.0.1:9980; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "Upgrade"; proxy_set_header Host $http_host; proxy_read_timeout 36000s; } access_log /var/log/nginx/collabora.aminlabs.my.id_access.log; error_log /var/log/nginx/collabora.aminlabs.my.id_error.log; } server { listen 80; listen [::]:80; server_name collabora.aminlabs.my.id; server_tokens off; return 301 https://$server_name$request_uri; } |
Restart service nginx:
1 | sudo systemctl restart nginx |
4. Integrasi di Nextcloud
Login ke Nextcloud sebagai admin, klik icon profile > +Apps
. Klik menu Office & Text
, lalu klik Download and enable
pada Collabora Online - Built-in CODE Server
dan Nextcloud Office
.
Lalu klik profile > Administration settings > Nextcloud Office
.
Pilih Use your own server
, masukkan subdomain CODE di URL (and Port) of Collabora Online-server
yaitu collabora.aminlabs.my.id
.
Lalu masukkan IP Collabora Online server di Allow list for WOPI requests
.
5. Pengujian
Pengujian integrasi Collabora Online dengan Nextcloud dengan membuka salah satu file Open Document Format seperti .odt, .ods, atau .odp.
Selamat mencoba 🙂