Alat Baris Perintah servbayctl
servbayctl
adalah alat baris perintah yang kuat dari ServBay, dirancang untuk memberikan kemampuan kepada pengembang dalam mengelola layanan latar belakang ServBay langsung melalui terminal. Dengan servbayctl
, kamu dapat dengan mudah melakukan operasi seperti memulai, menghentikan, me-reload, memulai ulang, membunuh proses, memeriksa status, serta menghentikan semua layanan. Fitur ini sangat berguna bagi otomatisasi skrip, switching cepat status layanan, atau bagi mereka yang lebih menyukai antarmuka baris perintah (CLI).
Dokumen ini akan mengulas secara rinci cara menggunakan servbayctl
, daftar perintah yang didukung, parameter, dan layanan yang dapat dikelola.
Gambaran Umum
ServBay tidak hanya menawarkan antarmuka grafis yang intuitif (GUI) untuk mengelola lingkungan pengembangan web lokal, tetapi juga menyediakan tool antarmuka baris perintah (CLI) bernama servbayctl
. Alat ini terletak di folder script
dalam direktori tempat ServBay diinstal, dan memungkinkan kamu mengontrol berbagai paket perangkat lunak yang diinstal ServBay sebagai layanan latar belakang, hanya dengan perintah sederhana di terminal.
Keuntungan menggunakan servbayctl
antara lain:
- Otomatisasi: Mudah diintegrasikan ke dalam skrip workflow pengembangan kamu.
- Efisiensi: Memulai atau menghentikan layanan tertentu dengan cepat tanpa perlu membuka GUI.
- Fleksibel: Cocok digunakan melalui koneksi SSH jarak jauh atau pada lingkungan headless.
- Kontrol Presisi: Dapat menentukan layanan atau versi tertentu untuk dikontrol.
Persyaratan Awal
Sebelum menggunakan servbayctl
, pastikan bahwa:
Kamu sudah berhasil menginstal ServBay.
Kamu memiliki akses ke terminal.
(Opsional & Direkomendasikan) Untuk kemudahan penggunaan, tambahkan direktori
/Applications/ServBay/script
ke variabel PATH lingkungan sistem. Dengan begitu, kamu dapat menjalankan perintahservbayctl
dari direktori mana pun tanpa harus mengetikkan path lengkap.- Untuk pengguna Bash atau Zsh, edit file
~/.bash_profile
,~/.bashrc
,~/.zshrc
, atau~/.profile
dan tambahkan baris berikut:bashexport PATH="/Applications/ServBay/script:$PATH"
1 - Setelah disimpan, jalankan
source ~/.bash_profile
(atau file yang diedit) agar perubahan berlaku, atau restart terminal kamu.
- Untuk pengguna Bash atau Zsh, edit file
Sintaks Penggunaan
Sintaks dasar perintah servbayctl
adalah sebagai berikut:
bash
servbayctl <command> <service> [parameters]
1
<command>
: Operasi yang ingin kamu lakukan (mis:start
,stop
,restart
).<service>
: Nama layanan yang ingin kamu kelola (mis:php
,mysql
,caddy
).[parameters]
: Parameter opsional untuk versi layanan atau cakupan (mis:7.4
atau-all
).
Sesuai dengan dokumentasi servbayctl
, perintah utama dan struktur dasar penggunaannya adalah sebagai berikut:
Usage: /Applications/ServBay/script/servbayctl {start|stop|reload|restart|kill|status|stop-all} {php|mariadb|mysql|postgresql|redis|memcached|caddy|nginx|apache|dnsmasq|mongodb|rabbitmq|cloudflared|frpc|mailpit|web|ollama} [-all|version]
1
Catatan: Perintah stop-all
tidak menerima nama layanan atau parameter. Ia akan menghentikan semua layanan yang dikelola oleh ServBay.
Penjelasan Lengkap Perintah yang Didukung
Di bawah ini merupakan penjelasan detail untuk setiap perintah yang didukung servbayctl
beserta contohnya:
start
- Memulai Layanan
Memulai layanan yang ditentukan. Kamu bisa menentukan versi spesifik atau menggunakan parameter -all
untuk memulai semua versi yang terpasang dari layanan tersebut.
bash
servbayctl start <service> [-all|version]
1
- Contoh: Memulai layanan PHP 8.1bash
servbayctl start php 8.1
1 - Contoh: Memulai seluruh versi PHP yang terinstalbash
servbayctl start php -all
1 - Contoh: Memulai layanan MySQL dengan konfigurasi defaultbash
servbayctl start mysql
1
stop
- Menghentikan Layanan
Menghentikan layanan yang ditentukan. Kamu dapat menentukan versi tertentu atau menggunakan -all
untuk menghentikan semua versi terpasang.
bash
servbayctl stop <service> [-all|version]
1
- Contoh: Menghentikan layanan PHP 7.4bash
servbayctl stop php 7.4
1 - Contoh: Menghentikan seluruh versi MariaDB yang terinstalbash
servbayctl stop mariadb -all
1 - Contoh: Menghentikan layanan Redisbash
servbayctl stop redis
1
reload
- Memuat Ulang Konfigurasi Layanan
Melakukan reload konfigurasi layanan yang dipilih. Biasanya digunakan setelah kamu mengubah file konfigurasi layanan, agar perubahan langsung berlaku tanpa perlu restart layanan total. Tidak semua layanan mendukung hot reload.
bash
servbayctl reload <service> [-all|version]
1
- Contoh: Reload konfigurasi server web Caddybash
servbayctl reload caddy
1 - Contoh: Reload semua versi PHP yang terinstal (jika didukung)bash
servbayctl reload php -all
1
restart
- Memulai Ulang Layanan
Me-restart layanan yang dipilih, sama dengan menghentikan kemudian memulai ulang layanan.
bash
servbayctl restart <service> [-all|version]
1
- Contoh: Restart layanan database PostgreSQLbash
servbayctl restart pgsql
1 - Contoh: Restart seluruh versi Redis yang terinstal (jika ada beberapa versi)bash
servbayctl restart redis -all
1
kill
- Memaksa Hentikan Proses Layanan
Memaksa menghentikan proses layanan yang dipilih. Ini adalah metode penghentian paksa yang sebaiknya digunakan hati-hati, karena berpotensi menyebabkan kehilangan atau kerusakan data (terutama untuk layanan database). Biasanya digunakan jika layanan tidak bisa dihentikan secara normal.
bash
servbayctl kill <service> [-all|version]
1
- Contoh: Memaksa bunuh proses layanan PHP 7.4bash
servbayctl kill php 7.4
1 - Contoh: Memaksa bunuh seluruh proses layanan Memcachedbash
servbayctl kill memcached -all
1
status
- Melihat Status Layanan
Melihat status terkini dari layanan yang dipilih (apakah sedang berjalan atau tidak).
bash
servbayctl status <service> [-all|version]
1
- Contoh: Cek status layanan Caddybash
servbayctl status caddy
1 - Contoh: Cek status seluruh versi MySQL yang terinstalbash
servbayctl status mysql -all
1
stop-all
- Menghentikan Semua Layanan ServBay
Menghentikan semua layanan latar belakang yang saat ini dikelola dan sedang berjalan oleh ServBay. Ini adalah perintah global, tidak memakai nama layanan atau parameter versi.
bash
servbayctl stop-all
1
- Contoh: Hentikan seluruh layanan latar belakang ServBaybash
servbayctl stop-all
1
Daftar Layanan yang Didukung
Berdasarkan informasi penggunaan servbayctl
, alat ini bisa langsung mengontrol jenis layanan latar belakang berikut:
php
: Mengelola proses PHP-FPM dari berbagai versi.mariadb
: Mengelola layanan database MariaDB.mysql
: Mengelola layanan database MySQL.postgresql
: Mengelola layanan database PostgreSQL.redis
: Mengelola layanan cache/database Redis.memcached
: Mengelola layanan cache Memcached.caddy
: Mengelola layanan web server Caddy.nginx
: Mengelola layanan web server Nginx.apache
: Mengelola layanan web server Apache HTTP.dnsmasq
: Mengelola layanan DNS internal ServBay.mongodb
: Mengelola layanan database MongoDB.rabbitmq
: Mengelola layanan antrian pesan RabbitMQ.cloudflared
: Mengelola layanan Cloudflare Tunnel (jika telah dipasang/dikonfigurasi).frpc
: Mengelola layanan klien Fatedier/frp (jika telah dipasang/dikonfigurasi).mailpit
: Mengelola layanan alat tangkap email Mailpit.web
: Mengelola layanan Web (misal: web server aktif atau antarmuka web terkait ServBay, sesuai kebutuhan penggunaan).ollama
: Mengelola layanan model bahasa besar lokal Ollama.
Catatan bahwa servbayctl
kini dapat langsung mengelola beberapa layanan inti latar belakang, termasuk Nginx dan Apache. Meski ServBay mendukung instalasi banyak paket perangkat lunak lain (misalnya Java, Python, Go, .NET, Ruby, Rust, dll), software tersebut biasanya tidak berjalan sebagai layanan latar belakang yang dikontrol langsung oleh servbayctl
. Melainkan, aplikasi-aplikasi itu diakses atau digunakan secara langsung dari terminal atau melalui cara manajemen masing-masing. Fokus utama servbayctl
adalah untuk layanan utama yang berjalan sebagai proses daemon inti sebagaimana pada daftar di atas.
Contoh Kasus Penggunaan
Berikut adalah contoh skenario penggunaan servbayctl
yang umum:
Menukar Versi PHP dengan Cepat untuk Pengujian:
bashservbayctl stop php -all servbayctl start php 8.2
1
2Me-restart Layanan Database Setelah Perubahan Konfigurasi:
bash# Misal kamu mengubah my.cnf atau my.ini servbayctl restart mysql
1
2Memastikan Semua Layanan Sudah Dimatikan, Misal Sebelum Shutdown atau Update ServBay:
bashservbayctl stop-all
1Mengecek Apakah Web Server Berjalan:
bashservbayctl status caddy
1Otomatisasi Memulai Lingkungan Pengembangan melalui Skrip:
bash#!/bin/bash echo "Menghentikan semua layanan ServBay..." servbayctl stop-all echo "Memulai layanan yang dibutuhkan..." servbayctl start php 8.1 servbayctl start mysql servbayctl start caddy servbayctl start redis echo "Seluruh layanan ServBay telah berjalan."
1
2
3
4
5
6
7
8
9
10
11
12
Hal-Hal Penting dan Praktik Terbaik
- Tambahkan ke PATH: Sangat disarankan menambahkan direktori tempat
servbayctl
berada ke PATH sistem agar lebih hemat waktu dalam pengetikan perintah. - Gunakan
kill
dengan Bijak: Perintahkill
memaksa mematikan proses, yang bisa menyebabkan kehilangan data atau status layanan tidak stabil. Jika memungkinkan, lebih baik gunakanstop
ataurestart
. stop-all
adalah Aksi Global: Perintahstop-all
akan mematikan seluruh layanan latar belakang yang dikelola ServBay. Pastikan kamu memang ingin melakukan ini.- Parameter Versi: Jika memakai parameter
version
, pastikan versi tersebut sudah terinstal dan didukung oleh ServBay. Kamu bisa memeriksanya melalui GUI ServBay. - Penanganan Error: Jika perintah
servbayctl
gagal, biasanya akan muncul pesan kesalahan di terminal. Gunakan pesan error ini untuk troubleshooting, atau periksa file log terkait di folderlogs
dalam direktori instalasi ServBay untuk informasi lebih detail. - Kombinasi GUI & CLI:
servbayctl
adalah alat pelengkap GUI. Untuk perubahan konfigurasi yang kompleks atau melihat gambaran umum, GUI seringkali tetap lebih nyaman.
Pertanyaan yang Sering Diajukan (FAQ)
T: Ketika saya menjalankan perintah servbayctl
muncul pesan command not found
, harus bagaimana?
J: Biasanya ini karena direktori /Applications/ServBay/script
belum ditambahkan ke PATH lingkungan sistem. Ikuti petunjuk pada bagian “Persyaratan Awal” dokumen ini untuk menambahkannya ke PATH.
T: Saya berhasil menjalankan servbayctl start <service>
, tetapi layanan tidak berjalan. Bagaimana cara mengecek masalahnya?
J:
- Jalankan
servbayctl status <service>
untuk memeriksa status layanan. - Periksa folder
logs
di direktori instalasi ServBay dan cari file log error untuk layanan tersebut, biasanya akan ditemukan penyebab gagalnya menjalankan layanan. - Coba jalankan layanan yang sama via GUI ServBay, kadang-kadang notifikasi error di GUI lebih informatif.
- Pastikan file konfigurasi layanan tidak bermasalah.
T: Apakah parameter -all
berlaku untuk semua layanan?
J: Parameter -all
terutama berlaku untuk layanan yang mendukung instalasi beberapa versi sekaligus, seperti PHP. Untuk sebagian besar database (MySQL, PostgreSQL, dll) serta web server (Caddy), biasanya hanya ada satu instansi aktif. Penggunaan -all
di sini umumnya sama saja dengan hanya menyebut nama layanan, tetapi untuk kejelasan, gunakan nama layanannya langsung. Untuk layanan seperti Redis atau Memcached yang mungkin berjalan multi-instan melalui port berbeda, -all
akan mengontrol semua instance (perilaku detail tergantung pada implementasi ServBay).
Kesimpulan
servbayctl
adalah antarmuka baris perintah yang kuat dari ServBay bagi para pengembang, memberikan fleksibilitas dan efisiensi dalam mengelola layanan lingkungan pengembangan lokal. Dengan menguasai berbagai perintah seperti start
, stop
, reload
, restart
, kill
, status
, stop-all
beserta parameter seperti version
dan -all
, kamu dapat dengan mudah mengelola layanan utama seperti PHP, MySQL, MariaDB, PostgreSQL, MongoDB, Redis, Memcached, Caddy, dan banyak lagi langsung dari terminal. Hal ini memudahkan otomatisasi workflow dan mengoptimalkan pengalaman pengembanganmu.