Menambahkan Situs dengan Konfigurasi Kustom
ServBay menyediakan metode fleksibel untuk menambahkan situs web. Selain metode standar di mana konfigurasi dikelola otomatis oleh ServBay, tersedia juga mode "Konfigurasi Kustom". Mode ini memungkinkan pengembang untuk langsung menulis dan mengatur file konfigurasi server web tertentu untuk setiap situs (Nginx, Caddy, Apache), memberikan fleksibilitas dan kontrol maksimum—sangat ideal untuk penyesuaian detail, pengaturan non-standar, atau kebutuhan fitur tingkat lanjut.
Makna Konfigurasi Kustom
Memilih konfigurasi kustom berarti:
- Kontrol Penuh: Anda dapat langsung mengedit bagian konfigurasi server yang terkait dengan situs ini (seperti blok
server
pada Nginx, blokVirtualHost
pada Apache, atau definisi situs di Caddy). - Fitur Tingkat Lanjut: Memungkinkan Anda mengimplementasikan pengaturan yang sulit dilakukan pada mode standar, misalnya aturan rewrite kompleks, pengaturan proxy unik, format log yang disesuaikan, header keamanan khusus, dsb.
- Skenario Khusus: Cocok bagi Anda yang perlu meniru pengaturan lingkungan produksi tertentu, integrasi modul khusus, atau debugging mendalam.
Namun, Anda juga bertanggung jawab penuh atas kebenaran dan keamanan konfigurasi, termasuk pengelolaan sertifikat SSL.
Langkah Menambahkan Situs dengan Konfigurasi Kustom
- Navigasi ke Situs: Pada menu sebelah kiri ServBay, klik
Websites
. - Tambah Situs Baru: Klik tombol
+
(plus) di atas daftar situs. - Isi Informasi Dasar:
- Name: Berikan nama yang mudah dikenali (contoh:
My Custom Project
). - Domain: Masukkan nama domain lokal yang ingin digunakan (contoh:
myproject.servbay.demo
).
- Name: Berikan nama yang mudah dikenali (contoh:
- Pilih Server Web: Di menu dropdown
Web Server
, pilih server web yang ingin digunakan (Nginx, Caddy, atau Apache). Pilihan ini sangat krusial, karena menentukan tipe template konfigurasi berikutnya dan software server apa yang akan melayani situs Anda. - Aktifkan Konfigurasi Kustom: Centang kotak
Custom Configuration
. - Lihat & Edit Template: Setelah dipilih, area teks di bawahnya akan otomatis terisi template konfigurasi dasar sesuai server web yang Anda pilih. Ini adalah titik awal—silakan modifikasi sesuai kebutuhan proyek Anda.
Memahami & Memodifikasi Template Konfigurasi
ServBay menyediakan template konfigurasi berbeda untuk masing-masing server web (Nginx, Caddy, Apache) berdasarkan pilihan Anda. Modifikasilah template tersebut sesuai kebutuhan proyek Anda.
1. Konfigurasi Kustom Nginx
Jika Anda memilih Nginx, ServBay akan menampilkan template blok server
dasar.
Struktur Template & Instruksi Kunci:
nginx
# Port & protokol yang didengarkan
listen 443 ssl; # HTTPS
# Nama domain yang dibind
server_name myproject.servbay.demo;
# Root direktori situs (pastikan direktori ini ada)
root /Applications/ServBay/www/myproject.servbay.demo;
# File indeks default
index index.php index.html index.htm;
# Protokol SSL/TLS & cipher (contoh)
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers 'TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM_SHA384';
ssl_prefer_server_ciphers on;
ssl_session_timeout 1d;
ssl_session_cache shared:ServBay:10m;
ssl_session_tickets off;
# Path sertifikat SSL (wajib diisi jika HTTPS diaktifkan)
# 【PENTING】Pastikan file sertifikat ada dan path-nya benar
ssl_certificate /Applications/ServBay/ssl/private/tls-certs/myproject.servbay.demo/myproject.servbay.demo.crt;
ssl_certificate_key /Applications/ServBay/ssl/private/tls-certs/myproject.servbay.demo/myproject.servbay.demo.key;
# Menangani request PHP (contoh PHP 8.3, sesuaikan jika perlu)
set $php_version '8.3';
include enable-php-fpm-pathinfo.conf;
# Pengaturan lain, seperti blok location, rule rewrite, dll
location / {
try_files $uri $uri/ /index.php?$query_string;
}
# Path log akses & error (opsional)
# access_log /Applications/ServBay/logs/nginx/myproject.servbay.demo-access.log;
# error_log /Applications/ServBay/logs/nginx/myproject.servbay.demo-error.log;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
Poin Penting Modifikasi:
- Pastikan
server_name
sama dengan domain yang Anda daftarkan. - Atur
root
ke folder proyek Anda. - Jika ingin mengaktifkan HTTPS, pastikan unremark/aktifkan
listen 443 ssl;
dan WAJIB masukkan pathssl_certificate
&ssl_certificate_key
dengan benar. - Tambahkan blok location, aturan rewrite, atau setting proxy sesuai kebutuhan Anda.
2. Konfigurasi Kustom Caddy
Jika Anda memilih Caddy, ServBay akan menampilkan template Caddyfile.
Struktur Template & Instruksi Kunci:
nginx
encode zstd gzip
import set-log myproject.servbay.demo # nama file log
import canonical-path
# Root direktori situs (pastikan direktori ini ada)
root * /Applications/ServBay/www/myproject.servbay.demo
# Menangani request PHP
route {
import php-rewrite-default 8.3 # Versi PHP 8.3
}
# Pengaturan TLS/SSL
# Silakan isi path sertifikat Anda
# tls /Applications/ServBay/ssl/private/tls-certs/myproject.servbay.demo/myproject.servbay.demo.crt /Applications/ServBay/ssl/private/tls-certs/myproject.servbay.demo/myproject.servbay.demo.key
# Aktifkan file_server
file_server
# Instruksi lain, seperti reverse_proxy, rewrite, header, dll
# ...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Poin Penting Modifikasi:
- Pastikan domain utama
myproject.servbay.demo
sudah benar. - Atur instruksi
root
ke folder proyek Anda. - SSL/TLS: Secara default Caddy akan coba memperoleh dan mengelola sertifikat HTTPS otomatis. Namun, untuk domain lokal
.servbay.demo
, biasanya ini tidak berlaku. Jika membutuhkan HTTPS, sangat disarankan menulis instruksitls
beserta path sertifikat & kunci privat yang sudah Anda siapkan. PASTIKAN file tersedia dan path benar. - Tambahkan instruksi Caddy lain bila perlu.
3. Konfigurasi Kustom Apache
Jika Anda memilih Apache, ServBay akan menampilkan template blok <VirtualHost>
.
Struktur Template & Instruksi Kunci:
apache
ServerName myproject.servbay.demo
DocumentRoot "/Applications/ServBay/www/myproject.servbay.demo"
# Aktifkan SSL Engine
SSLEngine on
# Path sertifikat SSL
# 【PENTING】Pastikan file sertifikat ada dan path-nya benar
SSLCertificateFile "/Applications/ServBay/ssl/private/tls-certs/myproject.servbay.demo/myproject.servbay.demo.crt"
SSLCertificateKeyFile "/Applications/ServBay/ssl/private/tls-certs/myproject.servbay.demo/myproject.servbay.demo.key"
# Hak akses direktori
<Directory "/Applications/ServBay/www/myproject.servbay.demo">
DirectoryIndex index.php index.html index.htm
Options FollowSymLinks
AllowOverride All
Require all granted
</Directory>
# Konfigurasi PHP-FPM (PHP 8.3)
Define PHP_VERSION 8.3
<FilesMatch \.php$>
SetHandler "proxy:unix:/Applications/ServBay/tmp/php-cgi-${PHP_VERSION}.sock|fcgi://localhost"
</FilesMatch>
# Log error & akses (opsional)
ErrorLog "/Applications/ServBay/logs/apache/myproject.servbay.demo-ssl-error_log"
CustomLog "/Applications/ServBay/logs/apache/myproject.servbay.demo-ssl-access_log" common
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
Poin Penting Modifikasi:
- Pastikan
ServerName
sama dengan domain Anda. - Atur
DocumentRoot
mengarah ke folder proyek Anda. - Tentukan pengaturan akses dan opsi pada blok
<Directory>
. - Tambahkan instruksi Apache lain, seperti
RewriteEngine
,ProxyPass
sesuai kebutuhan Anda.
Manajemen Sertifikat SSL 【PENTING】
Jika Anda menggunakan konfigurasi kustom, ServBay tidak akan otomatis membuatkan sertifikat SSL (baik membuat CA ServBay sendiri, maupun mengajukan Let's Encrypt via ACME).
- Andalah yang harus mengurus pembuatan/penyiapan sertifikat SSL serta meletakkannya di lokasi yang dapat diakses server.
- Anda bisa menggunakan OpenSSL untuk membuat sertifikat self-signed, atau menggunakan CA bawaan ServBay (ServBay User CA atau Public CA) untuk menandatangani sertifikat pengembangan lokal.
- Pada konfigurasi kustom Nginx, Caddy, atau Apache, Anda WAJIB menuliskan/memasukkan path file sertifikat & private key ke direktif
ssl_certificate
/ssl_certificate_key
(Nginx),tls
(Caddy), atauSSLCertificateFile
/SSLCertificateKeyFile
(Apache). - Jika file sertifikat yang disebutkan dalam konfigurasi tidak tersedia atau path-nya salah, maka server web tidak dapat dijalankan/muat konfigurasi situs tersebut—situs tidak dapat diakses, dan kemungkinan muncul error di interface ServBay maupun log server.
Silakan baca dokumentasi ServBay tentang Manajemen Sertifikat SSL untuk mempelajari cara membuat dan mengelola sertifikat pengembangan lokal.
Binding Server Web
DANGER
Poin krusial: begitu Anda memilih server web tertentu (misal Nginx) untuk sebuah situs dan menyimpannya dengan konfigurasi kustom, maka konfigurasi situs itu hanya berlaku untuk Nginx.
- Artinya, situs tersebut hanya bisa diakses jika paket software server web yang aktif di ServBay adalah Nginx.
- Jika Anda mengganti ke Apache atau Caddy di menu
Service
-Default Web Server
ServBay, maka situs berbasis konfigurasi kustom Nginx ini tidak dapat diakses karena konfigurasi Nginx untuk situs itu tidak dimuat. - Begitu juga sebaliknya, situs dengan konfigurasi kustom untuk Caddy maupun Apache hanya akan aktif saat software server terkait dijalankan.
Menyimpan & Mengaktifkan
Setelah selesai mengedit konfigurasi, klik tombol Save
di pojok kanan bawah. ServBay akan menyimpan konfigurasi Anda, lalu mencoba memuat ulang server web bersangkutan agar perubahan diterapkan. Jika ada kesalahan sintaks pada konfigurasi, proses simpan atau reload bisa gagal. Silakan cek notifikasi dari ServBay atau lihat log error server terkait (biasanya di subfolder /Applications/ServBay/logs/
) untuk troubleshooting.
Kesimpulan
Menambahkan situs dengan konfigurasi kustom memberi pengguna ServBay fleksibilitas tak tertandingi, memungkinkan pengembang mengatur perilaku tiap situs sesuai kebutuhan. Namun, ini menuntut pengetahuan pengaturan server web dan tanggung jawab penuh atas ketepatan konfigurasi, keamanan, serta manajemen sertifikat SSL. Memahami struktur template, syarat SSL, dan cara binding server adalah kunci keberhasilan memanfaatkan fitur ini.