Akses Persekitaran Pembangunan Tempatan ServBay melalui Rangkaian LAN
Bagi pasukan pembangunan kecil atau pembangun individu yang perlu menguji merentas peranti, keupayaan untuk mengakses persekitaran pembangunan tempatan ServBay melalui rangkaian LAN merupakan satu keperluan penting dan kerap berlaku. ServBay direka bentuk untuk membenarkan kebanyakan perkhidmatannya diakses melalui LAN, namun sesetengah perkhidmatan memerlukan konfigurasi tambahan untuk memastikan keselamatan dan kebolehcapaian.
Dokumen ini akan menerangkan secara terperinci cara mengkonfigurasi dan mengakses laman web serta perkhidmatan pangkalan data ServBay anda dalam rangkaian LAN.
Prasyarat
Sebelum mencuba untuk mengakses perkhidmatan ServBay melalui LAN, pastikan syarat berikut dipenuhi:
- Sambungan Rangkaian: Komputer yang menjalankan ServBay (“mesin hos”) dan komputer pengunjung (“klien”) mestilah berada dalam rangkaian LAN yang sama.
- Alamat IP Mesin Hos: Pastikan anda mengetahui alamat IP dalaman mesin hos dalam LAN. Maklumat ini boleh didapati di tetapan rangkaian mesin hos.
- Konfigurasi Firewall: Jika sistem operasi mesin hos mengaktifkan firewall, anda perlu membenarkan sambungan luar ke port utama yang digunakan oleh ServBay (contohnya, HTTP biasanya 80, HTTPS 443, MySQL 3306, PostgreSQL 5432, Redis 6379, dsb.). Buka port yang berkaitan dalam tetapan firewall bergantung pada perkhidmatan yang anda ingin tawarkan, dan konfigurasikan access control list (ACL) untuk mengehadkan julat IP yang dibenarkan akses jika perlu.
Laman Web (Website)
Laman web yang dikonfigurasi melalui ServBay biasanya mendengar permintaan pada semua antaramuka rangkaian mesin hos secara lalai (iaitu 0.0.0.0
atau *
), membenarkan komputer lain dalam LAN untuk mengaksesnya. ServBay biasanya menggunakan Caddy atau Nginx sebagai pelayan web, dan konfigurasi lalai mereka sedia mesra LAN.
Bagaimanapun, untuk membolehkan klien mengakses laman web ini melalui nama domain pada pelayar, klien perlu mengkonfigurasi resolusi DNS dengan betul. Jika laman web tempatan anda menggunakan sijil SSL yang dijana oleh ServBay (amat digalakkan), pelawat juga perlu memasang sijil root ServBay agar tiada amaran keselamatan ditunjukkan pada pelayar.
Contoh konfigurasi:
- IP LAN Mesin Hos:
10.0.0.3
- Domain ServBay:
servbay.demo
- Direktori Root Laman Web:
/Applications/ServBay/www/servbay.demo
Konfigurasi Resolusi Nama Domain (DNS)
Komputer klien mesti mengetahui bahawa domain servbay.demo
menunjuk ke IP 10.0.0.3
. Dua cara utama untuk melakukan ini:
Ubah fail Hosts pada klien: Ini kaedah paling mudah dan sesuai untuk senarai klien yang kecil.
- Cari fail Hosts pada komputer klien.
- macOS/Linux:
/etc/hosts
- Windows:
C:\Windows\System32\drivers\etc\hosts
- macOS/Linux:
- Buka fail Hosts dengan hak pentadbir dan tambah baris berikut di akhir:
10.0.0.3 servbay.demo
1 - Simpan fail tersebut. Kini, apabila
servbay.demo
dilayari, ia akan menunjuk ke10.0.0.3
.
- Cari fail Hosts pada komputer klien.
Konfigurasi pada pelayan DNS LAN: Jika rangkaian LAN anda mempunyai pelayan DNS sendiri (contohnya, fungsi DNS pada router atau DNS server khusus), anda boleh menambah rekod A untuk
servbay.demo
menunjuk ke IP mesin hos10.0.0.3
. Semua peranti LAN yang menggunakan DNS ini akan boleh mendapatkan domain tersebut.
Penyerahan & Pemasangan Sijil Root ServBay (SSL)
Oleh kerana ServBay menyediakan fungsi PKI yang hebat dan boleh menjana sijil root (User CA) sendiri untuk SSL, komputer klien yang mengakses laman HTTPS yang ditandatangani oleh CA ini perlu mempercayai sijil ServBay User CA untuk mengelakkan mesej amaran keselamatan pelayar.
Anda perlu eksport sijil root ServBay User CA, kemudian agihkan kepada pelawat dalam LAN dan pandu mereka untuk memasangnya pada sistem operasi atau pelayar masing-masing.
Untuk butiran lanjut mengenai pengeksportan dan pemasangan sijil, sila rujuk bahagian pengurusan sijil SSL dalam dokumentasi ServBay, terutamanya bahagian eksport sijil dan pemasangan dalam OS/pelayar.
Pangkalan Data
ServBay menyokong pelbagai jenis perkhidmatan pangkalan data, termasuk MySQL, MariaDB, PostgreSQL, MongoDB, serta pangkalan data dalam memori seperti Redis dan Memcached. Setiap jenis perkhidmatan menggunakan tetapan pendengaran rangkaian dan kawalan kebenaran yang berbeza.
MySQL / MariaDB
MySQL dan MariaDB dalam ServBay dikonfigurasi secara lalai untuk mendengar semua antaramuka rangkaian (0.0.0.0
), membolehkan sambungan dari LAN secara automatik.
Namun, MySQL/MariaDB mempunyai kawalan kebenaran pengguna yang ketat. Walaupun sambungan dibenarkan, pengguna hanya boleh mengakses jika mereka menggunakan nama pengguna dan katalaluan yang diberi kebenaran untuk IP mereka.
Secara lalai, pengguna root
biasanya hanya boleh disambungkan dari 127.0.0.1
atau localhost
. Untuk membenarkan akses daripada LAN, anda perlu cipta pengguna baru atau laraskan kebenaran pengguna sedia ada supaya boleh disambung dari alamat IP tertentu dalam LAN, atau semua alamat (%
).
Contoh: mencipta pengguna servbay-demo
yang boleh disambung dari mana-mana IP dalam LAN (%
), serta memberi hak akses ke atas satu pangkalan data:
sql
-- Andaian: telah log masuk sebagai root atau pengguna dengan hak mencukupi
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
Sila ganti 'your_strong_password'
dan your_database_name
mengikut keperluan sebenar.
Penting: Memberi akses kepada pengguna dari sebarang IP (%
) dengan hak meluas adalah berisiko. Dalam persekitaran pengeluaran atau LAN yang tidak dipercayai sepenuhnya, disarankan untuk mengehadkan akses kepada IP tertentu sahaja (cth. 'servbay-demo'@'10.0.0.5'
), atau melalui saluran yang lebih selamat seperti VPN.
ServBay menyediakan ciri penetapan semula katalaluan root MySQL/MariaDB. Untuk mengurus hak pengguna, gunakan ciri ini atau alat klien pangkalan data.
Redis
Secara lalai, Redis dalam ServBay hanya mendengar alamat loopback (127.0.0.1
), bermakna ia tidak menerima sambungan dari LAN. Ini demi keselamatan kerana Redis secara lalai tidak mengaktifkan perlindungan katalaluan.
Untuk benarkan akses LAN ke Redis, anda perlu ubah konfigurasi dalam fail redis.conf
.
Dua cara utama:
1. Melalui Antaramuka UI ServBay
- Buka ServBay, ke bahagian
Database
-Redis
- Pada bahagian konfigurasi, pilih
Require Password
dan masukkan katalaluan - Klik
Simpan
2. Ubah fail redis.conf
secara manual (tidak disyorkan)
- Cari lokasi fail
redis.conf
Redis dalam ServBay (biasanya/Applications/ServBay/etc/redis/redis.conf
). - Buka dengan editor teks.
- Cari baris
bind 127.0.0.1
. - Tukar jadi
bind 0.0.0.0
atau komenkan baris tersebut (# bind 127.0.0.1
) supaya Redis mendengar pada semua antaramuka. - 【SANGAT PENTING】 Cari baris
requirepass
(mungkin dikomenkan). Buka komen dan tetapkan katalaluan yang sangat kuat:JANGAN sekali-kali dedahkan Redis tanpa katalaluan di LAN atau rangkaian awam kerana risiko keselamatan tinggi!requirepass your_very_strong_redis_password
1 - Simpan fail
redis.conf
. - Mulakan semula servis Redis dalam aplikasi ServBay.
Kini, klien boleh menyambung ke Redis di mesin hos dengan menggunakan IP LAN dan katalaluan yang telah ditetapkan.
PostgreSQL
Secara lalai juga, PostgreSQL dalam ServBay hanya mendengar alamat loopback (127.0.0.1
) dan tidak menerima sambungan dari LAN.
Untuk mengaktifkan akses LAN ke PostgreSQL, dua fail utama perlu diubah: postgresql.conf
dan pg_hba.conf
.
Cari lokasi fail konfigurasi PostgreSQL dalam ServBay (biasanya
/Applications/ServBay/etc/postgresql/postgresql.conf
dan/Applications/ServBay/etc/postgresql/pg_hba.conf
).Ubah
postgresql.conf
:- Buka dengan editor teks.
- Cari baris
listen_addresses
(mungkin dikomenkan). - Buka komen dan tukar nilainya ke
'*'
supaya PostgreSQL mendengar di semua antaramuka:listen_addresses = '*'
1 - Simpan fail.
Ubah
pg_hba.conf
:- Buka dengan editor teks. Fail ini mengawal host, pengguna dan kaedah pengesahan yang dibenarkan.
- Tambah baris seperti berikut untuk membenarkan semua pengguna daripada julat IP LAN
10.0.0.0/24
guna pengesahan katalaluan:# TYPE DATABASE USER ADDRESS METHOD host all all 10.0.0.0/24 md5
1
2TYPE
:host
bermaksud akses melalui sambungan TCP/IP.DATABASE
:all
benarkan ke semua pangkalan data (boleh juga tetapkan nama khusus).USER
:all
benarkan mana-mana pengguna (boleh juga tetapkan nama pengguna spesifik).ADDRESS
:10.0.0.0/24
(contoh julat IP — boleh spesifik alamat tunggal, atau gunakan0.0.0.0/0
untuk semua IP IPv4 [tidak digalakkan kecuali dilindungi firewall]).METHOD
:md5
(pengesahan dengan katalaluan yang disulitkan, digalakkan untuk akses jauh).
- Simpan fail.
Mulakan semula servis PostgreSQL dalam aplikasi ServBay.
Kini, klien boleh menyambung ke PostgreSQL di mesin hos dengan IP LAN serta username dan katalaluan sah.
ServBay menyokong reset katalaluan pengguna PostgreSQL root
(postgres). Untuk pengurusan hak pengguna, boleh gunakan fungsi ini atau klien pangkalan data.
Memcached
Memcached ialah sistem cache objek memori berprestasi tinggi yang sangat ringkas — tiada perlindungan pengesahan terbina dalam.
Oleh itu, sangat tidak digalakkan untuk dedahkan perkhidmatan Memcached kepada LAN atau Internet kecuali anda mempunyai kawalan keselamatan rangkaian yang kukuh (seperti hanya membenarkan akses dari rangkaian dalaman yang dipercayai serta pengawalan firewall yang ketat).
Dalam ServBay, anda boleh tetapkan Memcached untuk mendengar IP LAN. Namun, pastikan anda sedar dan menerima risiko keselamatan ini. Konfigurasi lalai biasanya hanya pada alamat loopback, dan modifikasi adalah serupa seperti Redis, namun tanpa perlindungan katalaluan.
Langkah-Langkah Keselamatan
Membuka akses perkhidmatan pembangunan tempatan kepada LAN memang memudahkan kerjasama pasukan dan ujian rentas peranti, tetapi juga meningkatkan risiko keselamatan. Sila beri perhatian kepada perkara berikut:
- Firewall: Sentiasa gunakan firewall untuk menghadkan akses ke port yang dibuka pada mesin hos ServBay. Hanya benarkan sambungan daripada julat IP LAN yang dipercayai.
- Katalaluan Kuat: Tetapkan katalaluan yang kukuh untuk semua pangkalan data (MySQL/MariaDB/PostgreSQL) dan Redis. Tukar katalaluan secara berkala.
- Prinsip Hak Minimum: Berikan hak minimum secukupnya pada pengguna pangkalan data. Elakkan melakukan sambungan jauh sebagai
root
ataupostgres
untuk kegunaan harian. - Keselamatan Memcached: Ulang sekali lagi, Memcached tidak mempunyai mekanisme keselamatan terbina dalam. Jaga keselamatan dengan menggunakan SSH tunnel atau kaedah selamat lain jika perlu akses jauh.
- Kemaskini Sistem: Pastikan sistem operasi mesin hos ServBay, perisian ServBay dan semua pakej sentiasa dikemaskini untuk mendapatkan patch keselamatan.
Dengan mengikuti langkah-langkah dan saranan keselamatan ini, anda boleh berkongsi dan mengakses persekitaran pembangunan tempatan ServBay dengan lebih selamat dan cekap melalui rangkaian LAN.