Mengakses Lingkungan Pengembangan Lokal ServBay di Jaringan Lokal (LAN)
Bagi tim pengembang kecil atau pengembang individu yang perlu melakukan pengujian lintas perangkat, kemampuan mengakses lingkungan pengembangan lokal ServBay pada perangkat lain di jaringan lokal (LAN) adalah kebutuhan umum dan penting. ServBay secara desain sudah mendukung akses layanan inti melalui LAN, namun beberapa layanan mungkin membutuhkan konfigurasi tambahan demi keamanan dan ketersediaan.
Artikel ini akan membahas secara detail cara mengonfigurasi dan mengakses layanan situs web serta database di ServBay melalui LAN.
Prasyarat
Sebelum mencoba mengakses layanan ServBay melalui LAN, pastikan Anda telah memenuhi hal-hal berikut:
- Koneksi Jaringan: Komputer yang menyediakan layanan ServBay (selanjutnya disebut "host") dan komputer pengunjung (selanjutnya disebut "klien") harus berada dalam jaringan lokal yang sama.
- Alamat IP Host: Pastikan Anda mengetahui alamat IP internal host di jaringan lokal. Anda dapat menemukannya di pengaturan jaringan komputer host.
- Konfigurasi Firewall: Jika sistem operasi host menggunakan firewall, Anda perlu mengizinkan koneksi eksternal untuk mengakses port utama yang digunakan ServBay (misalnya HTTP biasanya di 80, HTTPS di 443, MySQL di 3306, PostgreSQL di 5432, Redis di 6379, dan lain-lain). Silakan buka port yang sesuai di pengaturan firewall dan, jika perlu, konfigurasikan Access Control List (ACL) untuk membatasi rentang IP yang diizinkan mengakses.
Situs Web (Website)
Situs web lokal yang dikonfigurasikan melalui ServBay umumnya secara default akan mendengarkan pada semua antarmuka jaringan host (0.0.0.0
atau *
), sehingga perangkat lain di LAN dapat langsung mengaksesnya. ServBay menggunakan Caddy atau Nginx sebagai web server, dan biasanya sudah diatur demikian secara default.
Namun, agar pengunjung dapat mengakses situs ini melalui domain di browser klien, sistem mereka perlu dikonfigurasi agar dapat melakukan resolusi DNS ke domain tersebut. Selain itu, jika situs lokal Anda menggunakan sertifikat SSL yang dihasilkan ServBay (sangat disarankan), pengunjung juga perlu menginstal root certificate ServBay agar browser tidak menampilkan peringatan.
Berikut ini contoh konfigurasi:
- IP LAN Host:
10.0.0.3
- Domain Website ServBay:
servbay.demo
- Direktori Root Website:
/Applications/ServBay/www/servbay.demo
Mengonfigurasi Resolusi Nama Domain (DNS)
Komputer klien perlu mengetahui bahwa domain servbay.demo
mengarah ke IP host 10.0.0.3
. Ada dua cara umum untuk melakukan ini:
Mengedit File Hosts di Klien: Cara paling sederhana dan langsung, cocok untuk jumlah klien yang sedikit.
- Temukan file Hosts di komputer klien.
- macOS/Linux:
/etc/hosts
- Windows:
C:\Windows\System32\drivers\etc\hosts
- macOS/Linux:
- Buka file Hosts dengan hak administrator, lalu tambahkan baris berikut di akhir:
10.0.0.3 servbay.demo
1 - Simpan file tersebut. Sekarang, setiap kali klien mengakses
servbay.demo
, sistem akan merujuk ke10.0.0.3
.
- Temukan file Hosts di komputer klien.
Mengatur di Server DNS LAN: Jika LAN Anda memiliki DNS server sendiri (misalnya fitur DNS di router, atau server DNS khusus), Anda bisa menambahkan A record untuk
servbay.demo
yang menunjuk ke IP host10.0.0.3
. Dengan ini, semua perangkat yang menggunakan DNS server tersebut dapat mengakses domain ini.
Menyebarkan dan Menginstal Root Certificate ServBay (SSL)
Karena ServBay menyediakan fitur PKI canggih termasuk pembuatan root certificate sendiri (ServBay User CA) untuk menandatangani sertifikat SSL situs lokal, komputer klien harus mempercayai ServBay User CA agar tidak terjadi peringatan keamanan saat mengakses situs HTTPS yang menggunakan sertifikat ini.
Anda perlu mengekspor ServBay User CA dan membagikannya ke semua klien yang akan mengakses, serta memberi panduan cara instalasi dan mempercayai root certificate ini di sistem operasi atau browser masing-masing.
Untuk langkah detail ekspor dan instalasi sertifikat, silakan cek bagian manajemen sertifikat SSL pada dokumentasi ServBay, terutama bagian ekspor sertifikat dan instalasi di OS/browser.
Database
ServBay mendukung berbagai layanan basis data, termasuk MySQL, MariaDB, PostgreSQL, dan MongoDB, serta database in-memory seperti Redis dan Memcached. Setiap basis data memiliki pengaturan jaringan dan manajemen hak akses yang berbeda.
MySQL / MariaDB
Secara default, layanan MySQL dan MariaDB di ServBay mendengarkan di semua antarmuka jaringan (0.0.0.0
), sehingga langsung memungkinkan akses dari LAN.
Namun, MySQL/MariaDB memiliki mekanisme hak akses yang ketat. Meski koneksi jaringan diperbolehkan, pengunjung tetap memerlukan username dan password yang diotorisasi untuk terhubung dari alamat IP mereka.
Pengguna root
secara default biasanya hanya boleh terhubung dari 127.0.0.1
atau localhost
. Untuk akses LAN, Anda harus membuat user baru atau mengubah hak akses user sehingga bisa koneksi dari IP tertentu atau semua alamat (%
).
Contoh: Membuat user servbay-demo
yang dapat terhubung dari IP mana saja di LAN (%
), dengan izin penuh ke database tertentu:
sql
-- Asumsikan Anda sudah login sebagai root atau user dengan hak cukup
CREATE USER 'servbay-demo'@'%' IDENTIFIED BY 'your_strong_password';
GRANT ALL PRIVILEGES ON `your_database_name`.* TO 'servbay-demo'@'%';
FLUSH PRIVILEGES;
1
2
3
4
2
3
4
Pastikan untuk mengganti 'your_strong_password'
dan your_database_name
sesuai kebutuhan.
Catatan Penting: Mengizinkan user koneksi dari IP mana saja (%
) dengan hak akses luas sangat berisiko. Pada lingkungan produksi atau LAN yang tidak sepenuhnya terpercaya, sangat disarankan membatasi user hanya dapat koneksi dari IP tertentu (misal 'servbay-demo'@'10.0.0.5'
), atau menggunakan VPN untuk perlindungan ekstra.
ServBay mendukung reset password root
MySQL dan MariaDB. Jika perlu mengelola hak akses user, Anda bisa menggunakan fitur ini atau memakai tools klien.
Redis
Konfigurasi default Redis di ServBay biasanya hanya mendengarkan pada alamat lokal (127.0.0.1
), artinya tidak mengizinkan koneksi dari LAN. Ini untuk alasan keamanan, karena secara default Redis tidak mengaktifkan password.
Untuk membolehkan akses LAN ke Redis, Anda perlu mengubah file konfigurasi redis.conf
.
Ada dua cara:
1. Melalui Antarmuka UI ServBay
- Buka ServBay, di menu navigasi kiri pilih
Database
>Redis
- Pada panel konfigurasi di kanan, aktifkan opsi
Require Password
dan masukkan password di kolom yang tersedia - Klik
Simpan
2. Dengan Mengedit Manual File redis.conf
(tidak direkomendasikan)
- Temukan path file konfigurasi Redis pada aplikasi ServBay (biasanya di folder instalasi, misal
/Applications/ServBay/etc/redis/redis.conf
). - Buka
redis.conf
dengan editor teks. - Cari baris
bind 127.0.0.1
. - Ubah menjadi
bind 0.0.0.0
, atau hapus/komentari baris tersebut (# bind 127.0.0.1
), agar Redis mendengarkan semua antarmuka jaringan. - 【Sangat Penting】 Cari baris
requirepass
(mungkin dikomentari). Un-comment dan tetapkan password yang aman:Jangan pernah membiarkan Redis tanpa password jika dibuka ke LAN atau jaringan publik! Ini beresiko sangat tinggi.requirepass your_very_strong_redis_password
1 - Simpan file
redis.conf
. - Restart layanan Redis dari aplikasi ServBay agar perubahan berlaku.
Kini, klien bisa mengakses Redis menggunakan IP host di LAN dan password yang telah Anda tetapkan.
PostgreSQL
Secara default, PostgreSQL di ServBay juga hanya mendengarkan pada alamat lokal (127.0.0.1
), sehingga tak bisa diakses dari LAN.
Agar bisa diakses LAN, Anda perlu mengubah dua file utama: postgresql.conf
dan pg_hba.conf
.
Temukan lokasi file konfigurasi PostgreSQL di aplikasi ServBay (biasanya di
/Applications/ServBay/etc/postgresql/postgresql.conf
dan/Applications/ServBay/etc/postgresql/pg_hba.conf
).Edit
postgresql.conf
:- Buka
postgresql.conf
dengan editor teks. - Cari baris
listen_addresses
(mungkin dikomentari). - Un-comment dan ubah nilainya menjadi
'*'
agar PostgreSQL mendengarkan semua antarmuka jaringan:listen_addresses = '*'
1 - Simpan file
postgresql.conf
.
- Buka
Edit
pg_hba.conf
:- Buka
pg_hba.conf
. File ini menentukan host, user, dan database mana yang bisa terhubung serta metode autentikasinya. - Tambahkan baris untuk mengizinkan koneksi LAN. Contoh, mengizinkan semua user dari subnet
10.0.0.0/24
dengan autentikasi password-enkripsi (md5):# TYPE DATABASE USER ADDRESS METHOD host all all 10.0.0.0/24 md5
1
2TYPE
:host
berarti koneksi TCP/IP.DATABASE
:all
berarti semua database, bisa diganti nama database spesifik.USER
:all
berarti semua user, bisa diganti nama user spesifik.ADDRESS
:10.0.0.0/24
contoh subnet, bisa juga satu IP atau rentang lain. Hindari0.0.0.0/0
kecuali Anda yakin firewall Anda kuat.METHOD
:md5
mengharuskan password dienkripsi. Jangan gunakantrust
(tanpa password) ataupassword
(password plain) untuk remote!
- Simpan file
pg_hba.conf
.
- Buka
Restart layanan PostgreSQL di aplikasi ServBay agar konfigurasi baru berlaku.
Sekarang klien dapat terhubung ke layanan PostgreSQL di host menggunakan IP LAN, username dan password yang valid.
ServBay juga mendukung reset password root
(postgres). Untuk manajemen user lain, bisa pakai fitur ini atau aplikasi klien database.
Memcached
Memcached adalah sistem cache objek memori terdistribusi berperforma tinggi, namun sifatnya sangat sederhana dan tidak menyediakan mekanisme autentikasi maupun otorisasi.
Oleh karena itu, sangat tidak disarankan untuk membiarkan Memcached terbuka ke LAN atau jaringan publik, kecuali ada pengamanan jaringan lain (seperti membatasi akses hanya dari subnet internal tertentu, dan kontrol firewall ketat).
Di ServBay, Anda bisa mengatur Memcached agar mendengarkan di IP LAN — tetapi pahami risiko keamanan ini! Default-nya mendengarkan hanya di alamat lokal. Cara ubah alamat mirip dengan Redis, yaitu dengan mengedit file konfigurasi Memcached. Namun perhatikan, tidak tersedia proteksi password.
Perhatian Keamanan
Membuka layanan lingkungan pengembangan lokal ke LAN memang mempermudah kolaborasi tim dan pengujian lintas perangkat, tapi juga membuka risiko keamanan. Perhatikan hal berikut:
- Firewall: Selalu batasi akses ke port host ServBay dengan firewall. Hanya izinkan koneksi dari IP LAN yang Anda percaya.
- Password Kuat: Pakai password yang kuat dan rutin diganti untuk database (MySQL/MariaDB/PostgreSQL) serta Redis.
- Prinsip Hak Minimum: Berikan hak minimum yang diperlukan untuk user database. Hindari penggunaan user
root
ataupostgres
untuk koneksi remote sehari-hari. - Keamanan Memcached: Lagi, hindari membuka Memcached ke LAN tanpa mekanisme keamanan tambahan. Pertimbangkan akses melalui SSH tunnel atau solusi lain yang aman.
- Pembaruan Sistem: Jaga sistem operasi host ServBay dan semua paket ServBay tetap up to date untuk mendapatkan patch keamanan terbaru.
Dengan mengikuti langkah serta saran keamanan di atas, Anda dapat membagikan dan mengakses lingkungan pengembangan lokal ServBay di jaringan lokal secara lebih aman dan efisien.