Sebelum menyentuh bconsole dan bacula-dir, kalian perlu menguasai dasar Linux admin (daemon, user, file permission), memahami konsep backup full/incremental dan jaringan TCP, serta menyiapkan server dengan Bacula 15.0.4 dan client File Daemon. Di episode ini seluruh environment divisualisasikan dan diverifikasi.

Selamat datang di series Belajar Bacula! Series ini akan membawa kalian menguasai Bacula — suite backup enterprise open source yang mengelola backup server dan workstation lintas platform dengan arsitektur terdistribusi: Director, Storage Daemon, File Daemon, dan Catalog. Total ada 23 episode yang tersusun dalam enam fase, dari fondasi konsep sampai production readiness skala besar.
Sebelum menulis konfigurasi bacula-dir.conf, ada skill dasar dan perangkat yang wajib kalian siapkan. Mengapa prasyarat ini penting? Karena Bacula terdiri dari banyak daemon yang berkomunikasi lewat jaringan, mengatur file permission, dan berhubungan langsung dengan database. Tanpa memahami lapisan-lapisan ini, kalian akan kesulitan saat backup gagal, autentikasi daemon ditolak, atau catalog terkunci.
Episode 0 ini adalah peta jalan kalian: kita memastikan skill dasar terpenuhi, memetakan arsitektur server yang akan dibangun, dan memverifikasi environment untuk pertama kali.
Bacula berjalan sebagai daemon (bacula-dir, bacula-sd, bacula-fd) yang biasanya dijalankan oleh user khusus (misal bacula) atau root. Kalian wajib paham konsep init system (systemd), user/group, serta permission file. Contoh nyata: file konfigurasi berisi password daemon, sehingga permission-nya harus dijaga ketat. Periksa dasar ini dulu:
id bacula
systemctl status bacula-dir
ls -l /etc/bacula/Biasanya /etc/bacula/*.conf milik root:bacula dengan mode 0640, dan beberapa file sensitif memakai 0600. Kita bahas hardening detail di episode 14.
Ketiga daemon Bacula saling terhubung lewat jaringan. Director mendengar di port 9101, Storage Daemon di 9102, dan File Daemon di 9103. Kalian harus paham konsep port, firewall, dan sedikit pemecahan masalah ss/netstat — karena di production, Director dan Storage Daemon biasanya di server terpisah dari client File Daemon.
Pahami perbedaan full backup (menyalin semua data), incremental backup (perubahan sejak backup terakhir), dan differential backup (perubahan sejak full backup terakhir). Bacula menyimpan file-file ini ke Volume (media: file di disk atau tape) dan mencatat metadata setiap file ke Catalog (database). Konsep retention dan rotation akan menentukan berapa banyak media yang kalian butuhkan — kita bedah di episode 6 dan 7.
Untuk series ini kita memakai Bacula 15.0.4 (rilis 23 Mei 2026) pada distribusi Linux (Debian/Ubuntu/RHEL). Satu server minimum memuat tiga komponen: Director (kontrol), Storage Daemon (media), dan Catalog (database metadata). Rekomendasi spesifikasi dasar:
uname -r
nproc
free -h
df -h /var/lib/baculaRuang disk di /var/lib/bacula (atau lokasi storage yang kalian pilih) adalah bagian paling penting — karena semua volume backup akan tinggal di sana.
Bacula Community mendukung PostgreSQL, MySQL, dan SQLite. Untuk production, pilih PostgreSQL atau MySQL; SQLite cukup untuk laboratorium kecil. Jika kalian belum pernah mengelola database, series learn-sql-postgresql akan sangat membantu.
Di episode awal, satu client sudah cukup: server itu sendiri bisa menjadi client (backup direktori lokal). Untuk latihan lintas platform, siapkan satu node lagi (Linux, Windows, atau macOS) sebagai client File Daemon. Client bersifat opsional di awal — tapi tanpa client kedua, kalian belum merasakan kekuatan arsitektur terdistribusi Bacula.
Mulailah dengan disk storage (direktori di filesystem) karena paling sederhana. Tape library dan autoloader akan kita bahas di episode 11 dan 19 — jangan buru-buru membeli hardware sebelum memahami konsep pool dan volume.
Sebelum lanjut ke episode 1, pastikan paket dasar tersedia:
which curl wget postgres mysql sqlite3
sudo apt list --installed 2>/dev/null | grep -i baculaJika belum ada paket Bacula, tidak masalah — instalasi lengkap akan kita lakukan di episode 3. Yang penting sekarang: kalian paham di mana setiap komponen akan diletakkan dan mengapa arsitekturnya terpisah.
Note
Bacula memiliki dua edisi: Community (open source AGPL, inti backup lengkap) dan Enterprise (komersial dengan plugin aplikasi/VM, dedup, dan enkripsi). Series ini memakai Community sebagai dasar, dengan pembahasan Enterprise di episode 18.
Rangkuman yang sudah kalian siapkan di episode 0:
Jika ada yang belum terpenuhi, lengkapi dulu sebelum melanjutkan. Perjalanan 22 episode ke depan akan jauh lebih lancar dengan pijakan yang kuat ini.
Inti yang harus dibawa pulang:
Di episode 1 selanjutnya kita akan membahas sejarah, latar belakang, dan mengapa membutuhkan Bacula — dari kelahirannya tahun 2000 sebagai fork dari proyek V6, lisensi AGPL untuk Community dan lisensi komersial untuk Enterprise, hingga alasan mengapa arsitektur terdistribusi dan dukungan tape membuatnya bertahan lebih dari dua dekade. Pastikan environment kalian sudah siap, karena perjalanan Belajar Bacula baru saja dimulai!