Menambah Laman Web dengan Konfigurasi Tersuai
ServBay menyediakan cara fleksibel untuk menambah laman web. Selain kaedah standard yang dikonfigurasi secara automatik oleh ServBay, ia juga menyokong mod "Konfigurasi Tersuai". Mod ini membenarkan pembangun terus menulis dan mengurus fail konfigurasi pelayan web tertentu (Nginx, Caddy, Apache) untuk setiap laman web, memberikan fleksibiliti dan kawalan sepenuhnya—sangat berguna untuk keperluan penalaan halus, tetapan bukan standard, atau ciri lanjutan.
Kepentingan Konfigurasi Tersuai
Memilih konfigurasi tersuai bermakna:
- Kawalan penuh: Anda boleh terus mengedit segmen konfigurasi pelayan untuk laman web tersebut (contohnya blok
server
Nginx, blokVirtualHost
Apache, atau definisi laman Caddy). - Ciri lanjutan: Boleh melaksanakan fungsi yang sukar dikonfigurasi dalam mod standard, seperti peraturan penulisan semula yang kompleks, pengaturan proksi tertentu, format log tersuai, atau header keselamatan khas.
- Senario istimewa: Sesuai untuk mensimulasikan konfigurasi persekitaran produksi tertentu, mengintegrasi mod julat khas, atau keperluan penyahpepijatan mendalam.
Namun, anda juga bertanggungjawab sepenuhnya terhadap ketepatan dan keselamatan konfigurasi, termasuk pengurusan sijil SSL.
Langkah Menambah Laman Web Dengan Konfigurasi Tersuai
- Navigasi ke laman web: Klik
Websites
dalam menu kiri ServBay. - Tambah laman web baharu: Klik butang
+
(tambah) di atas senarai laman web. - Isi maklumat asas:
- Nama: Berikan nama yang mudah dikenali untuk laman web anda (contoh:
Projek Tersuai Saya
). - Domain: Masukkan nama domain yang ingin digunakan untuk akses tempatan (contoh:
myproject.servbay.demo
).
- Nama: Berikan nama yang mudah dikenali untuk laman web anda (contoh:
- Pilih pelayan web: Pilih pelayan web yang ingin anda gunakan (Nginx, Caddy, atau Apache) dari menu lungsur
Web Server
. Pilihan ini sangat penting, kerana ia menentukan jenis templat konfigurasi yang tersedia dan perisian pelayan yang akan digunakan untuk laman itu. - Aktifkan konfigurasi tersuai: Tanda pada kotak
Custom Configuration
. - Semak & edit templat: Selepas menandakan, kawasan teks di bawah akan automatik dipenuhkan dengan templat konfigurasi asas berdasarkan pelayan web pilihan anda. Ini adalah titik permulaan; anda boleh (dan biasanya perlu) mengubahnya mengikut keperluan projek anda.
Memahami dan Mengubah Templat Konfigurasi
ServBay menawarkan templat konfigurasi berbeza mengikut pelayan web yang dipilih (Nginx, Caddy, Apache). Anda perlu mengubah suai templat ini berdasarkan keperluan projek sebenar.
1. Konfigurasi Tersuai Nginx
Jika anda memilih Nginx, ServBay menyediakan templat blok server
asas.
Struktur Templat & Arahan Penting:
nginx
# Dengar pada port dan protokol
listen 443 ssl; # HTTPS
# Domain yang diikat
server_name myproject.servbay.demo;
# Direktori root laman web (pastikan direktori ini wujud)
root /Applications/ServBay/www/myproject.servbay.demo;
# Fail indeks lalai
index index.php index.html index.htm;
# Protokol & cipher SSL/TLS (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;
# Laluan sijil SSL (jika HTTPS diaktifkan, mesti nyatakan secara manual)
# 【Penting】Pastikan fail sijil wujud dan laluan tepat
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;
# Mengurus permintaan PHP (contoh PHP 8.3, ubah mengikut keperluan)
set $php_version '8.3';
include enable-php-fpm-pathinfo.conf;
# Konfigurasi lain, seperti blok location, peraturan penulisan semula dsb.
location / {
try_files $uri $uri/ /index.php?$query_string;
}
# Laluan log akses dan ralat (pilihan)
# 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
Titik Penting Pengubahsuaian:
- Pastikan
server_name
sama dengan nama domain yang anda tetapkan. - Tetapkan direktori
root
dengan tepat mengikut fail projek anda. - Untuk HTTPS, nyahulas atau tambah
listen 443 ssl;
dan pastikan laluanssl_certificate
sertassl_certificate_key
adalah betul. - Tambah blok location lain, peraturan penulisan semula, konfigurasi proksi, dsb. mengikut keperluan.
2. Konfigurasi Tersuai Caddy
Untuk Caddy, ServBay menyediakan templat definisi laman dalam format Caddyfile.
Struktur Templat & Arahan Penting:
nginx
encode zstd gzip
import set-log myproject.servbay.demo # Nama fail log
import canonical-path
# Direktori root laman web (pastikan direktori ini wujud)
root * /Applications/ServBay/www/myproject.servbay.demo
# Mengurus permintaan PHP
route {
import php-rewrite-default 8.3 # Versi PHP 8.3
}
# Tetapan TLS/SSL
# Sila nyatakan laluan sijil
# 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 pelayan fail
file_server
# Arahan lain seperti reverse_proxy, rewrite, header dsb.
# ...
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
Titik Penting Pengubahsuaian:
- Pastikan domain utama
myproject.servbay.demo
adalah betul. - Tetapkan arahan
root
kepada direktori projek anda. - SSL/TLS: Secara lalai, Caddy cuba mendapatkan dan mengurus sijil HTTPS secara automatik untuk domain. Untuk domain pembangunan tempatan seperti
.servbay.demo
, ini biasanya tidak berfungsi. Jika anda perlukan HTTPS, sangat disarankan menggunakan arahantls
untuk nyatakan laluan sijil dan kunci peribadi anda secara manual. Pastikan fail wujud dan laluan tepat. - Tambah arahan Caddy lain yang diperlukan.
3. Konfigurasi Tersuai Apache
Jika memilih Apache, ServBay menyediakan templat blok <VirtualHost>
.
Struktur Templat & Arahan Penting:
apache
ServerName myproject.servbay.demo
DocumentRoot "/Applications/ServBay/www/myproject.servbay.demo"
# Aktifkan enjin SSL
SSLEngine on
# Laluan sijil SSL
# 【Penting】Pastikan fail sijil wujud dan laluan tepat
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"
# Kebenaran 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 ralat dan akses (pilihan)
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
Titik Penting Pengubahsuaian:
- Pastikan
ServerName
sama dengan domain yang ditetapkan. - Tetapkan
DocumentRoot
dengan tepat ke direktori projek anda. - Konfigurasi hak akses dan seting dalam blok
<Directory>
dengan betul. - Tambah arahan Apache lain seperti
RewriteEngine
,ProxyPass
dsb. mengikut keperluan.
Pengurusan Sijil SSL 【Penting】
Apabila menggunakan konfigurasi tersuai, ServBay TIDAK akan menjana sijil SSL secara automatik untuk anda (cth mencipta sijil CA ServBay atau memohon sijil Let's Encrypt melalui ACME).
- Anda perlu mendapatkan atau menjana sendiri sijil SSL dan letakkan ia di lokasi yang boleh diakses oleh pelayan.
- Anda boleh guna OpenSSL untuk menjana sijil self-signed, atau gunakan CA yang disediakan oleh ServBay (ServBay User CA atau ServBay Public CA) untuk menandatangani sijil pembangunan tempatan.
- Dalam konfigurasi tersuai Nginx, Caddy, atau Apache, anda MESTI nyatakan laluan yang betul pada arahan
ssl_certificate
/ssl_certificate_key
(Nginx),tls
(Caddy), atauSSLCertificateFile
/SSLCertificateKeyFile
(Apache), supaya menunjuk ke sijil dan kunci peribadi anda. - Jika konfigurasi anda menyatakan parameter SSL dan fail sijil tiada atau laluan salah, pelayan web tidak akan berjaya dimulakan atau memuat konfigurasi laman tersebut, menyebabkan laman gagal diakses, dan ralat akan dipaparkan di antaramuka ServBay atau log pelayan.
Sila rujuk dokumentasi ServBay tentang Pengurusan Sijil SSL untuk maklumat lanjut tentang cara menjana dan mengurus sijil pembangunan tempatan.
Pengikatan Pelayan Web
DANGER
Poin utama—apabila anda pilih pelayan web tertentu (cth Nginx) dan simpan laman web dengan konfigurasi tersuai, konfigurasi laman web itu akan terikat kepada Nginx.
- Ini bermakna laman web hanya boleh dilawati apabila pakej perisian pelayan web Nginx diaktifkan pada masa itu di ServBay.
- Jika anda tukar ke Apache atau Caddy di bahagian
Services
-Default Web Server
ServBay, laman web dengan konfigurasi tersuai berasaskan Nginx tidak akan dapat diakses kerana konfigurasi Nginx tidak akan dimuatkan. - Begitu juga sebaliknya, laman web yang dibuat dengan konfigurasi tersuai Caddy atau Apache hanya boleh dicapai apabila perisian pelayan yang sepadan aktif.
Simpan & Aktifkan
Selepas selesai mengubah konfigurasi, klik butang Save
di kanan bawah. ServBay akan menyimpan konfigurasi tersuai anda dan cuba memuat semula pelayan web supaya perubahan berkuat kuasa. Jika terdapat ralat sintaks, penyimpanan atau pemuatan semula mungkin gagal. Sila semak notifikasi ServBay atau log ralat pelayan (biasanya di subdirektori bawah /Applications/ServBay/logs/
) untuk diagnosis lanjut.
Rumusan
Menambah laman web dengan konfigurasi tersuai dalam ServBay memberikan fleksibiliti tiada tandingan kepada pengguna, membolehkan pembangun mengawal sepenuhnya perlakuan pelayan untuk setiap laman web. Namun, ini memerlukan pengetahuan tentang konfigurasi pelayan web dan tanggungjawab ke atas ketepatan serta keselamatan konfigurasi dan pengurusan sijil SSL. Kefahaman struktur templat, keperluan SSL, dan mekanisme pengikatan pelayan adalah kunci kejayaan penggunaan ciri ini.