Mengelola layanan di OpenBSD dengan sistem rc: memahami /etc/rc.conf dan rc.conf.local, skrip daemon di /etc/rc.d, serta perintah rcctl untuk enable, disable, start, stop, reload, dan mengatur flags sebuah service.

Di episode 5 sebelumnya, kalian belajar mengelola user dan memberi hak istimewa dengan doas. Sekarang waktunya membuat sistem benar-benar bekerja: menjalankan dan mengelola service. Setiap daemon di OpenBSD — sshd, httpd, pf, smtpd — hidup di bawah satu sistem yang konsisten dan dapat diprediksi: sistem rc.
Tidak ada systemctl. Tidak ada service. Yang ada adalah rcctl — perintah kecil yang membungkus seluruh manajemen service dengan gaya khas OpenBSD: jelas, teks, dan mudah dipahami.
Sistem rc OpenBSD bekerja dalam lapisan:
/etc/rc: skrip utama yang dijalankan saat boot, memanggil semua daemon sesuai konfigurasi./etc/rc.conf: file utama berisi nilai default setiap service. Jangan diedit langsung — ia di-overwrite saat upgrade./etc/rc.conf.local: file kalian. Semua penyesuaian ditulis di sini dan menimpa default./etc/rc.d/: direktori berisi skrip daemon individual, satu per service.Prinsipnya sederhana: jangan sentuh file bawaan; tulis penyesuaian di rc.conf.local.
rcctl adalah satu-satunya alat yang kalian butuhkan. Perintah dasarnya:
rcctl enable httpd
rcctl start httpd
rcctl status httpd
rcctl restart httpd
rcctl stop httpd
rcctl disable httpdenable: menandai service agar otomatis berjalan saat boot.start/stop/restart: mengontrol service sekarang.status: menampilkan status dan PID.rcctl ls on
rcctl ls allrcctl ls on menampilkan semua service yang aktif saat boot — cara cepat mengetahui "apa yang berjalan di mesin ini".
Setiap service punya flags yang bisa diatur. Nilai default ada di /etc/rc.conf; penyesuaian ditulis ke /etc/rc.conf.local lewat rcctl set:
rcctl set sshd flags "-o PermitRootLogin=no"
rcctl set httpd flags "-n"Perintah pertama menyetel flags sshd langsung dari command line. Perintah kedua menambahkan -n (dry-run) untuk httpd. Kalian bisa melihat nilai yang berlaku dengan:
rcctl get sshd
rcctl get httpd flagsUntuk konfigurasi yang lebih kompleks, kalian juga bisa menulis langsung di /etc/rc.conf.local:
httpd_flags=""
smtpd_flags=""
sshd_flags="-o PermitRootLogin=no"File ini adalah milik kalian sepenuhnya dan menjadi satu-satunya sumber penyesuaian service.
Warning
Jangan mengedit /etc/rc.conf langsung. Saat upgrade base system, file itu bisa tertimpa. Semua penyesuaian harus berada di /etc/rc.conf.local atau diatur lewat rcctl set, yang menulis ke sana untuk kalian.
Skenario yang akan sering kalian lakukan — menjalankan web server:
rcctl enable httpd
rcctl set httpd flags "-n"
rcctl start httpdBegitu rcctl enable httpd dieksekusi, httpd akan aktif otomatis pada setiap reboot berikutnya. Untuk sshd yang sudah default aktif, operasi yang umum dilakukan adalah rcctl restart sshd setelah mengubah /etc/ssh/sshd_config, atau rcctl reload sshd untuk memuat ulang konfigurasi tanpa memutus koneksi.
Banyak daemon OpenBSD mendukung reload — memuat ulang konfigurasi tanpa restart penuh:
rcctl reload httpd
rcctl reload smtpd
rcctl reload relaydreload lebih disukai daripada restart di produksi karena tidak memutus koneksi yang sedang berjalan.
| Service | Fungsi |
|---|---|
sshd | SSH server |
httpd | Web server native |
pf | Packet filter / firewall |
smtpd | Mail server OpenSMTPD |
relayd | Relay / load balancer |
dhcpd | DHCP server |
unbound | DNS resolver/forwarder |
Semua bisa dikelola dengan pola rcctl enable/start/status yang sama. Konsistensi inilah yang membuat administrasi OpenBSD mudah dipelajari.
Sistem rc dirancang agar transparan: kalian selalu bisa membaca /etc/rc.conf.local untuk tahu apa yang berjalan dan bagaimana konfigurasinya. Tidak ada state tersembunyi di database besar seperti systemd. Audit cepat cukup dengan rcctl ls on dan grep -v '^#' /etc/rc.conf.local. Inilah wujud nyata prinsip keep it simple yang dijunjung OpenBSD.
Di episode 6 ini kalian menguasai manajemen service OpenBSD: memahami arsitektur /etc/rc.conf, /etc/rc.conf.local, dan /etc/rc.d/, serta mengendalikan service dengan rcctl — enable, disable, start, stop, restart, reload, dan mengatur flags.
Inti yang harus dibawa pulang:
/etc/rc.conf.local, bukan /etc/rc.conf.rcctl enable membuat service boot otomatis; rcctl start menjalankannya sekarang.rcctl set <svc> flags menetapkan flags tanpa edit file manual.rcctl reload lebih aman daripada restart di produksi.Di episode 7 selanjutnya, kita akan menyelami filesystem, mount, dan disk — mengenal FFS2, tmpfs, dan mfs, memakai mount/umount, mengelola partisi dengan disklabel dan newfs, menyusun /etc/fstab, hingga perawatan dengan fsck dan swap file.