Berikut spesifikasi beserta nama domain yang akan saya gunakan :
Spesifikasi VPS: 1 CPU, 1 GB RAM, 20 GB HDD
OS : ubuntu server 20.04 lts
Domain: cloud.cpcorps.my.id (melalui Cloudflare)
Hasil Akhir: https://cloud.cpcorps.my.id
Ada banyak cara untuk bisa membuat cloud drive di vps,namun di sini saya akan menggunakan filebrowser ,karena sangat ringan dan mudah di gunakan dan sangat ramah sumber daya sehingga cocok di gunakan pada vps kecil.
Berikut Panduan Lengkap Instalasi FileBrowser di VPS Ubuntu 20.04 lts
Langkah 1 — Login SSH ke VPS
ssh root@203.194.115.25
#Ganti 203.194.115.25 dengan ip server atau vps kamu.
Verifikasi:
whoami
Langkah 2 — Update Sistem
apt update && apt upgrade -y
Langkah 3 — Buat/Tambah Swap File (1 GB)
VPS hanya punya 1 GB RAM, jadi swap tambahan sangat diperlukan.
# Matikan dan hapus swap lama jika sudah ada
swapoff /swapfile
rm /swapfile
# Buat swap baru 1 GB
fallocate -l 1G /swapfile
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile
# Pastikan swap sudah aktif
free -h
#Pastikan di output ada: Swap: 1.0Gi
Pastikan swap otomatis aktif saat restart (cek /etc/fstab):
grep swap /etc/fstab
Jika belum ada baris /swapfile swap swap defaults 0 0, tambahkan:
echo '/swapfile swap swap defaults 0 0' >> /etc/fstab
Langkah 4 — Install FileBrowser
curl -fsSL https://raw.githubusercontent.com/filebrowser/get/master/get.sh | bash
Verifikasi instalasi:
filebrowser version
# Output: 2.63.3 (atau versi terbaru)
Langkah 5 — Buat Folder Data & Konfigurasi FileBrowser
Buat folder-folder untuk menyimpan file:
mkdir -p /srv/cloud-data/Dokumen
mkdir -p /srv/cloud-data/Foto
mkdir -p /srv/cloud-data/Video
mkdir -p /srv/cloud-data/Music
Buat folder konfigurasi dan file settings.json secara manual:
mkdir -p /root/.config/filebrowser
Buat file konfigurasi:
cat > /root/.config/filebrowser/settings.json << 'EOF'
{
"port": 8080,
"baseURL": "",
"address": "0.0.0.0",
"log": "stdout",
"database": "/srv/cloud-data/filebrowser.db",
"root": "/srv/cloud-data"
}
EOF
Inisialisasi database (wajib setelah buat config):
filebrowser config init --config /root/.config/filebrowser/settings.json
Langkah 6 — Buat User Admin
Ganti CecepCloud1234 dengan password yang kamu inginkan:
filebrowser users add admin "Cecepcloud13#" --perm.admin --config /root/.config/filebrowser/settings.json
#PENTING: Jangan lupa flag --config di setiap perintah filebrowser!
Langkah 7 — Buat Systemd Service (Auto-start saat Boot)
Buat file service:
cat > /etc/systemd/system/filebrowser.service << 'EOF'
[Unit]
Description=FileBrowser Service
After=network.target
[Service]
ExecStart=/usr/local/bin/filebrowser -c /root/.config/filebrowser/settings.json
Restart=on-failure
RestartSec=5
[Install]
WantedBy=multi-user.target
EOF
Aktifkan dan jalankan:
systemctl daemon-reload
systemctl enable filebrowser
systemctl enable filebrowser
systemctl start filebrowser
Verifikasi:
systemctl status filebrowser
#Pastikan output menunjukkan Active: active (running).
Langkah 8 — Install & Konfigurasi Firewall (UFW)
apt install ufw -y
Izinkan port yang diperlukan:
ufw allow 22/tcp
#SH (jangan pernah blokir)
ufw allow 80/tcp
#HTTP
ufw allow 443/tcp
#HTTPS
Aktifkan firewall:
ufw --force enable
Verifikasi:
ufw status
#Catatan: Port 8080 (FileBrowser langsung) akan terblokir. Itu normal karena kita akan mengaksesnya melalui Nginx di port 80.
Langkah 9 — Install & Konfigurasi Nginx Reverse Proxy
Install Nginx:
apt install nginx -y
Buat konfigurasi reverse proxy:
cat > /etc/nginx/sites-available/filebrowser << 'EOF'
server {
listen 80;
server_name cloud.cpcorps.my.id 203.194.115.25;
client_max_body_size 500M;
location / {
proxy_pass http://127.0.0.1:8080;
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;
}
}
EOF
#Pastikan output: syntax is ok dan test is successful.
Restart Nginx:
systemctl enable nginx
systemctl restart nginx
Verifikasi proxy bekerja:
curl -I http://127.0.0.1
Jika output menunjukkan HTTP/1.1 404 Not Found dari FileBrowser (bukan dari Nginx), berarti proxy sudah bekerja.
Sekarang buka browser: http://203.194.115.25 — seharusnya redirect ke halaman login FileBrowser.
Langkah 10 — Setup HTTPS via Cloudflare (Flexible SSL)
Di Cloudflare:
1.Buat DNS Record:
Type: A
Name: cloud
Content: 203.194.115.25
Proxy status: Proxied (awan orange)
TTL: Auto
2.Set SSL/TLS Mode:
Masuk ke SSL/TLS → Overview
Pilih Flexible
Di VPS:
Konfigurasi Nginx sudah menggunakan server_name cloud.cpcorps.my.id, jadi tidak perlu diubah lagi. Cukup restart:
systemctl restart nginx
Buka browser: https://cloud.cpcorps.my.id — seharusnya sudah bisa diakses dengan HTTPS!
Ringkasan Perintah Penting (Cheatsheet)
| KEGUNAAN | PERINTAH |
|---|---|
| Cek status FileBrowser | systemctl status filebrowser |
| Restart FileBrowser | systemctl restart filebrowser |
| Stop FileBrowser | systemctl stop filebrowser |
| Cek status Nginx | systemctl status nginx |
| Restart Nginx | systemctl restart nginx |
| Test konfigurasi Nginx | nginx -t |
| Cek firewall | ufw status |
| Cek RAM Dan Swap | free -h |
| Cek disk usage | df -h |
| Lihat log FileBrowser | journalctl -u filebrowser -f |
| Lihat log Nginx | journalctl -u nginx -f |
| Edit konfigurasi FileBrowser | nano /root/.config/filebrowser/settings.json |
| Edit konfigurasi Nginx | nano /etc/nginx/sites-available/filebrowser |
Lokasi File-File Penting
| FILE | LOKASI |
|---|---|
| Konfigurasi FileBrowser | /root/.config/filebrowser/settings.json |
| Database FileBrowser | /srv/cloud-data/filebrowser.db |
| Folder Data | /srv/cloud-data/ |
| Service FileBrowser | /etc/systemd/system/filebrowser.service |
| Konfigurasi Nginx | /etc/nginx/sites-available/filebrowser |
| Swap File | /swapfile |
