NATVPS.id – ownCloud adalah platform open-source untuk berbagi dan menyimpan file secara mandiri di server pribadi atau organisasi. Dengan ownCloud, pengguna dapat mengelola dokumen, gambar, dan data lainnya melalui antarmuka web yang aman, serta sinkronisasi ke berbagai perangkat seperti desktop dan mobile. ownCloud menjadi alternatif populer terhadap layanan cloud komersial karena memberikan kontrol penuh atas data, fleksibilitas, dan privasi yang lebih terjamin. ownCloud juga dapat menjadi alternatif dari Nextcloud.
Artikel ini membahas mengenai langkah-langkah install ownCloud di NAT VPS menggunakan Docker, beserta konfigurasi NGINX untuk reverse-proxy. Artikel ini menggunakan Ubuntu 22.04 sebagai acuan, namun Anda dapat menggunakan distribusi lain seperti Debian dan CentOS. Pastikan OS yang digunakan mendukung Docker.
Mengingat kita menggunakan NAT, kita perlu menambahkan 2 konfigurasi port forwarding pada panel Virtualizor (atau panel VPS lain sesuai provider), yaitu port forwarding HTTP dan HTTPS sebagai domain ownCloud.
Sebagai contoh, pada artikel ini akan menggunakan domain awan.tutorial.mdinata.my.id untuk mengakses ownCloud. Anda bebas mengganti domain sesuai pilihan Anda. Catat port dan domain ini, karena kita akan menggunakannya lagi pada proses deploy.
Jangan lupa untuk menambahkan DNS record yang menuju ke IP publik NAT VPS Anda, seperti ini:
Kita akan menggunakan Docker dan Docker Compose untuk deploy Beszel.
Pertama, Install curl menggunakan perintah:
apt update && apt install curl -y
Kemudian, jalankan script instalasi otomatis dari Docker dengan memasukkan:
curl -fsSL get.docker.com | sh
Tunggu hingga proses instalasi selesai.
Buat direktori baru:
mkdir owncloud cd owncloud/
Lalu, buat file docker-compose.yml menggunakan nano:
apt install nano -y # jika belum nano docker-compose.yml
Kemudian, tempelkan konfigurasi berikut:
# https://natvps.id/owncloud-nat-vps
# Reference: https://doc.owncloud.com/server/next/admin_manual/installation/docker/#docker-compose
version: "3"
volumes:
files:
driver: local
mysql:
driver: local
redis:
driver: local
services:
owncloud:
image: owncloud/server:${OWNCLOUD_VERSION:-latest}
container_name: owncloud_server
restart: always
ports:
- ${HTTP_PORT}:8080
depends_on:
- mariadb
- redis
environment:
- OWNCLOUD_DOMAIN=${OWNCLOUD_DOMAIN}
- OWNCLOUD_TRUSTED_DOMAINS=${OWNCLOUD_TRUSTED_DOMAINS}
- OWNCLOUD_DB_TYPE=mysql
- OWNCLOUD_DB_NAME=owncloud
- OWNCLOUD_DB_USERNAME=owncloud
- OWNCLOUD_DB_PASSWORD=owncloud
- OWNCLOUD_DB_HOST=mariadb
- OWNCLOUD_ADMIN_USERNAME=${ADMIN_USERNAME}
- OWNCLOUD_ADMIN_PASSWORD=${ADMIN_PASSWORD}
- OWNCLOUD_MYSQL_UTF8MB4=true
- OWNCLOUD_REDIS_ENABLED=true
- OWNCLOUD_REDIS_HOST=redis
healthcheck:
test: ["CMD", "/usr/bin/healthcheck"]
interval: 30s
timeout: 10s
retries: 5
volumes:
- files:/mnt/data
mariadb:
image: mariadb:10.11 # minimum required ownCloud version is 10.9
container_name: owncloud_mariadb
restart: always
environment:
- MYSQL_ROOT_PASSWORD=owncloud
- MYSQL_USER=owncloud
- MYSQL_PASSWORD=owncloud
- MYSQL_DATABASE=owncloud
- MARIADB_AUTO_UPGRADE=1
command: ["--max-allowed-packet=128M", "--innodb-log-file-size=64M"]
healthcheck:
test: ["CMD", "mysqladmin", "ping", "-u", "root", "--password=owncloud"]
interval: 10s
timeout: 5s
retries: 5
volumes:
- mysql:/var/lib/mysql
redis:
image: redis:6
container_name: owncloud_redis
restart: always
command: ["--databases", "1"]
healthcheck:
test: ["CMD", "redis-cli", "ping"]
interval: 10s
timeout: 5s
retries: 5
volumes:
- redis:/data
Simpan file tersebut dengan Ctrl-X, y, kemudian Enter.
Selanjutnya, buat file .env yang berisi konfigurasi ownCloud:
nano .env
OWNCLOUD_VERSION="" # Kosongkan jika ingin menggunakan versi terbaru ownCloud OWNCLOUD_DOMAIN=awan.tutorial.mdinata.my.id OWNCLOUD_TRUSTED_DOMAINS=localhost, awan.tutorial.mdinata.my.id ADMIN_USERNAME=admin ADMIN_PASSWORD=admin HTTP_PORT=8080
Simpan file tersebut.
Terakhir, jalankan ownCloud:
docker compose up -d
Tunggu hingga proses deploy selesai.
Agar kita dapat mengakses URL melalui domain seperti monitor.tutorial.mdinata.my.id, kita dapat menggunakan reverse proxy seperti NGINX.
Pertama, install NGINX melalui perintah:
# Hapus Apache2 dan pendukungnya (biasanya terpasang secara bawaan di VPS OpenVZ) apt purge apache2* -y # Install NGINX apt install nginx -y
Buat konfigurasi host baru khusus untuk ownCloud:
nano /etc/nginx/sites-available/owncloud
Kemudian tempelkan konfigurasi berikut:
server {
listen 80;
server_name awan.tutorial.mdinata.my.id;
client_max_body_size 10M;
location / {
# check http://nginx.org/en/docs/http/ngx_http_upstream_module.html#keepalive
proxy_set_header Connection '';
proxy_http_version 1.1;
proxy_read_timeout 360s;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass http://127.0.0.1:8080;
}
} Sesuaikan awan.tutorial.mdinata.my.id dengan domain Anda.
Aktifkan konfigurasi tersebut dengan:
ln -sf /etc/nginx/sites-available/owncloud /etc/nginx/sites-enabled/owncloud # Restart NGINX systemctl restart nginx
Agar domain kita dapat diakses melalui HTTPS, kita perlu membuat sertifikat SSL. Kita dapat menggunakan sertifikat SSL gratis dari Let’s Encrypt melalui Certbot.
Install Certbot dan plugin NGINX nya menggunakan perintah:
apt install python3-certbot python3-certbot-nginx
Lalu, generate sertifikat melalui Certbot dengan perintah
certbot --nginx -d awan.tutorial.mdinata.my.id
Ganti awan.tutorial.mdinata.my.id dengan domain Anda.
Selamat! Domain Anda saat ini dapat diakses melalui koneksi aman HTTPS.
Login ownCloud melalui domain Anda, dengan username & password sesuai dengan konfigurasi sebelumnya.
Demikianlah artikel ini mengenai langkah-langkah install ownCloud di NAT VPS. Jika bingung atau ragu, jangan sungkan untuk bertanya di grup Telegram @IPv6Indonesia. Terima kasih!
NATVPS.id – Gopeed (Go Speed) adalah aplikasi pengunduh modern bersifat open-source yang yang mendukung berbagai…
NATVPS.id – IPTV (Internet Protocol Television) adalah teknologi yang menyiarkan konten televisi, video, dan siaran…
NATVPS.id – Jellyfin adalah server media open-source yang memungkinkan Anda mengatur, melakukan streaming, dan mengelola…
NATVPS.id – Gitea adalah sebuah layanan hosting Git (pengelola repositori kode) open-source yang dapat di…
NATVPS.id – LibreOffice adalah perangkat lunak perkantoran (office) yang gratis, modern, dan open-source. LibreOffice dapat…
NATVPS.id – Pi-hole adalah software DNS Server yang berfokus pada pemblokiran iklan dan situs trackers.…