Thêm Website Bằng Cấu Hình Tùy Chỉnh
ServBay cung cấp giải pháp linh hoạt để thêm website. Ngoài chế độ tiêu chuẩn với cấu hình tự động hóa bởi ServBay, bạn còn có thể sử dụng chế độ “Cấu hình tùy chỉnh”. Chế độ này cho phép lập trình viên trực tiếp tạo và quản lý file cấu hình máy chủ web (Nginx, Caddy, Apache) cho từng website, mang lại sự linh hoạt tối đa và kiểm soát hoàn toàn. Đặc biệt phù hợp với các trường hợp cần tinh chỉnh kỹ, cấu hình phi chuẩn hoặc dùng các tính năng nâng cao.
Ý Nghĩa Của Cấu Hình Tùy Chỉnh
Việc lựa chọn cấu hình tùy chỉnh đồng nghĩa với:
- Kiểm soát hoàn toàn: Bạn được phép chỉnh sửa trực tiếp đoạn cấu hình của máy chủ cho website (ví dụ: khối
server
của Nginx, khốiVirtualHost
của Apache hoặc định nghĩa site trong Caddy). - Tính năng nâng cao: Có thể thực hiện các chức năng khó hoặc không thể cấu hình trong chế độ tiêu chuẩn, ví dụ: rule rewrite phức tạp, đặt proxy cụ thể, tuỳ biến định dạng log, khai báo header bảo mật đặc biệt, v.v.
- Kịch bản đặc biệt: Phù hợp với nhu cầu mô phỏng môi trường production cụ thể, tích hợp module độc quyền hoặc debug chuyên sâu.
Tuy nhiên, bạn cũng cần tự chịu trách nhiệm về sự chính xác và an toàn của cấu hình, bao gồm quản lý chứng chỉ SSL.
Các Bước Thêm Website Với Cấu Hình Tùy Chỉnh
- Đi đến Websites: Nhấn vào
Websites
trên menu bên trái của ServBay. - Thêm website mới: Nhấn nút
+
(dấu cộng) phía trên danh sách website. - Nhập thông tin cơ bản:
- Name: Đặt tên dễ nhận biết cho website của bạn (ví dụ:
My Custom Project
). - Domain: Nhập tên miền bạn muốn dùng để truy cập cục bộ (ví dụ:
myproject.servbay.demo
).
- Name: Đặt tên dễ nhận biết cho website của bạn (ví dụ:
- Chọn máy chủ web: Từ menu thả xuống
Web Server
, chọn máy chủ web bạn muốn sử dụng (Nginx, Caddy hoặc Apache). Lưu ý cực kỳ quan trọng vì lựa chọn này quyết định loại template cấu hình và phần mềm máy chủ sẽ phục vụ website. - Bật cấu hình tùy chỉnh: Tick vào checkbox
Custom Configuration
. - Xem và chỉnh sửa template: Sau khi bật, vùng soạn thảo nội dung bên dưới sẽ tự động điền một template cấu hình cơ bản phù hợp với máy chủ bạn chọn. Đây là điểm khởi đầu; bạn có thể (và thường nên) chỉnh sửa thêm tùy nhu cầu.
Tìm Hiểu & Điều Chỉnh Template Cấu Hình
ServBay cung cấp template cấu hình tương ứng với máy chủ web mà bạn chọn (Nginx, Caddy, Apache). Bạn hãy sửa đổi dựa trên yêu cầu thực tế của dự án.
1. Cấu Hình Tùy Chỉnh Nginx
Nếu chọn Nginx, ServBay sẽ cung cấp sẵn một template khối server
cơ bản.
Cấu trúc template & các chỉ thị quan trọng:
# Cổng và giao thức lắng nghe
listen 443 ssl; # HTTPS
# Tên miền gắn với website
server_name myproject.servbay.demo;
# Thư mục gốc của website (đảm bảo thư mục này tồn tại)
root /Applications/ServBay/www/myproject.servbay.demo;
# File index mặc định
index index.php index.html index.htm;
# Cài đặt SSL/TLS và bộ mã hóa (ví dụ)
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;
# Đường dẫn chứng chỉ SSL (bắt buộc chỉ định nếu sử dụng HTTPS)
# 【Quan trọng】Đảm bảo file chứng chỉ đã tồn tại và đường dẫn đúng
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;
# Xử lý request PHP (ví dụ PHP 8.3, cần sửa theo cấu hình thật)
set $php_version '8.3';
include enable-php-fpm-pathinfo.conf;
# Các cấu hình khác, ví dụ location block, rule rewrite,...
location / {
try_files $uri $uri/ /index.php?$query_string;
}
# Đường dẫn log truy cập và log lỗi (tùy chọn)
# access_log /Applications/ServBay/logs/nginx/myproject.servbay.demo-access.log;
# error_log /Applications/ServBay/logs/nginx/myproject.servbay.demo-error.log;
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
Lưu ý khi chỉnh sửa:
- Đảm bảo chỉ thị
server_name
trùng với domain bạn đã khai báo. - Thiết lập đúng thư mục
root
trỏ về mã nguồn dự án. - Nếu cần HTTPS, bỏ chú thích hoặc bổ sung
listen 443 ssl;
và phải chỉ rõ đường dẫn filessl_certificate
&ssl_certificate_key
hợp lệ. - Thêm các block location, rule rewrite hoặc directive khác (nếu cần).
2. Cấu Hình Tùy Chỉnh Caddy
Nếu chọn Caddy, ServBay sẽ sinh ra template dạng Caddyfile để bạn tham khảo.
Cấu trúc template & chỉ thị quan trọng:
encode zstd gzip
import set-log myproject.servbay.demo # tên file log
import canonical-path
# Thư mục gốc của website (đảm bảo đã tồn tại)
root * /Applications/ServBay/www/myproject.servbay.demo
# Xử lý PHP
route {
import php-rewrite-default 8.3 # Phiên bản PHP 8.3
}
# Thiết lập TLS/SSL
# Vui lòng chỉ định đường dẫn chứng chỉ
# 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
# Cho phép file_server
file_server
# Các chỉ thị khác: reverse_proxy, rewrite, header etc.
# ...
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Lưu ý khi chỉnh sửa:
- Đảm bảo domain top-level (VD:
myproject.servbay.demo
) chính xác. root
cần trỏ đúng vào thư mục mã nguồn dự án.- SSL/TLS: Caddy mặc định sẽ tự động xin và quản lý HTTPS certificate. Tuy nhiên, với các domain như
.servbay.demo
cho phát triển cục bộ, thường không xin được, bạn nên dùng chỉ thịtls
chỉ rõ đường dẫn file chứng chỉ và private key có sẵn. Nhớ đảm bảo file tồn tại & đường dẫn đúng. - Bổ sung thêm chỉ thị Caddy khác nếu có nhu cầu.
3. Cấu Hình Tùy Chỉnh Apache
Nếu chọn Apache, ServBay sẽ tạo sẵn template khối <VirtualHost>
cho bạn chỉnh sửa.
Cấu trúc template & các chỉ thị chính:
ServerName myproject.servbay.demo
DocumentRoot "/Applications/ServBay/www/myproject.servbay.demo"
# Bật SSL Engine
SSLEngine on
# Đường dẫn chứng chỉ SSL
# 【Quan trọng】Phải chắc chắn file chứng chỉ và đường dẫn chính xác
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"
# Quyền thư mục
<Directory "/Applications/ServBay/www/myproject.servbay.demo">
DirectoryIndex index.php index.html index.htm
Options FollowSymLinks
AllowOverride All
Require all granted
</Directory>
# Cấu hình 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 lỗi và log truy cập (tùy chọn)
ErrorLog "/Applications/ServBay/logs/apache/myproject.servbay.demo-ssl-error_log"
CustomLog "/Applications/ServBay/logs/apache/myproject.servbay.demo-ssl-access_log" common
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
Lưu ý khi chỉnh sửa:
- Đảm bảo
ServerName
trùng với domain đã đặt. - Chỉ định đúng
DocumentRoot
về thư mục dự án. - Cấu hình block
<Directory>
chuẩn về quyền truy cập, các tùy chọn cho phép hoặc cấm. - Bổ sung chỉ thị Apache khác theo nhu cầu như
RewriteEngine
,ProxyPass
,...
Quản Lý Chứng Chỉ SSL 【Quan trọng】
Khi dùng cấu hình tùy chỉnh, ServBay không tự động tạo/chứng nhận SSL cho bạn (ví dụ: tạo CA ServBay hoặc xin Let's Encrypt qua ACME).
- Bạn phải tự chịu trách nhiệm lấy hoặc tạo chứng chỉ SSL, đồng thời đặt file tại vị trí máy chủ có thể truy xuất.
- Có thể dùng OpenSSL để tự tạo chứng chỉ self-signed, hoặc sử dụng CA ServBay (ServBay User CA/SercBay Public CA) để ký chứng chỉ cho phát triển cục bộ.
- Trong cấu hình Nginx, Caddy hoặc Apache, bắt buộc chỉ định đúng chỉ thị và đường dẫn tới file certificate & private key:
ssl_certificate
/ssl_certificate_key
(Nginx),tls
(Caddy),SSLCertificateFile
/SSLCertificateKeyFile
(Apache). - Nếu cấu hình có chỉ thị SSL nhưng file chứng chỉ không tồn tại hoặc đường dẫn sai, máy chủ web sẽ không khởi động/lỗi khi load cấu hình website đó, gây không truy cập được. Bạn có thể thấy thông báo lỗi trong giao diện ServBay hoặc file log của server.
Tham khảo tài liệu quản lý chứng chỉ SSL trong ServBay để biết cách tạo và quản lý SSL cho phát triển cục bộ.
Liên Kết Máy Chủ Web
DANGER
Một điểm mấu chốt: khi bạn chọn loại máy chủ web (VD: Nginx) và lưu cấu hình tùy chỉnh cho website, website này bị ràng buộc với Nginx.
- Nghĩa là chỉ khi nào gói phần mềm máy chủ web được kích hoạt trong ServBay là Nginx, website mới truy cập được.
- Nếu chuyển sang Apache hoặc Caddy ở
Dịch vụ
-Web Server mặc định
, website dùng cấu hình Nginx sẽ không hoạt động — do cấu hình này không áp dụng cho Apache/Caddy. - Ngược lại, nếu tạo website cấu hình tùy chỉnh cho Caddy hoặc Apache, thì chỉ truy cập được khi chạy đúng software đó.
Lưu & Áp Dụng
Sau khi kiểm tra và chỉnh sửa cấu hình, nhấn nút Save
góc phải bên dưới. ServBay sẽ lưu cấu hình của bạn, đồng thời cố gắng reload lại máy chủ web tương ứng để áp dụng thay đổi. Nếu cấu hình có lỗi cú pháp, thao tác lưu hoặc reload sẽ bị báo lỗi/thất bại. Xem các thông báo trong ServBay hoặc kiểm tra file log của server (/Applications/ServBay/logs/
kèm thư mục con tương ứng) để tìm nguyên nhân.
Tổng Kết
Việc thêm website với cấu hình tùy chỉnh mang lại cho người dùng ServBay sự linh hoạt vượt trội, cho phép kiểm soát chi tiết tất cả hành vi server cho từng website. Tuy nhiên, điều này đòi hỏi bạn phải có kiến thức cấu hình máy chủ web, đồng thời tự chịu trách nhiệm về độ chính xác, bảo mật và quản lý chứng chỉ SSL. Hiểu rõ cấu trúc template, các yêu cầu SSL & cơ chế ràng buộc với từng loại server là chìa khóa giúp bạn áp dụng thành công tính năng này.