Cấu hình Máy Chủ Web Apache
ServBay cho phép bạn dễ dàng quản lý và cấu hình gói phần mềm máy chủ web Apache tích hợp sẵn. Thông qua giao diện người dùng đồ họa của ServBay, bạn có thể dễ dàng điều chỉnh các thiết lập cốt lõi của Apache để đáp ứng nhu cầu của các dự án phát triển khác nhau.
Truy cập vào cấu hình Apache
- Mở ứng dụng ServBay.
- Trong thanh điều hướng bên trái, nhấp vào
Máy chủ web
. - Chọn tab
Apache
.
Bạn sẽ thấy giao diện cấu hình Apache như hình minh họa bên dưới:
Giải thích các mục cấu hình chính
Sau đây là giải thích chi tiết từng tham số trong giao diện cấu hình Apache:
Thiết lập cơ bản
- HTTP Port: Cổng mà Apache lắng nghe các kết nối HTTP, mặc định là
80
. - HTTPS Port: Cổng mà Apache lắng nghe các kết nối HTTPS, mặc định là
443
. - Server Name: Tên và cổng dùng để nhận diện máy chủ. Thường mặc định là
127.0.0.1
dùng cho truy cập nội bộ. - Server Root: Thư mục gốc nơi cài đặt gói Apache. Lưu ý: Đây không phải là thư mục lưu trữ website của bạn (thư mục gốc website được thiết lập riêng khi thêm website), mà là đường dẫn tới file chương trình của Apache. Thường mặc định là
/Applications/ServBay/package/apache/current
.
Tối ưu hóa hiệu suất (Performance Tuning)
- Timeout: Số giây tối đa máy chủ chờ trước khi hủy thao tác I/O. Mặc định là
300
giây. - Max KeepAlive Requests: Số lượng yêu cầu tối đa được phép trên một kết nối giữ sống.
1000
cho phép tái sử dụng kết nối nhiều lần,0
là không giới hạn. - KeepAlive Timeout: Số giây tối đa máy chủ chờ yêu cầu tiếp theo trước khi đóng kết nối giữ sống. Mặc định là
60
giây. - Keep Alive: Bật hoặc tắt kết nối HTTP giữ sống (KeepAlive). Khuyến nghị nên đặt là
On
để tăng hiệu suất. - MPM StartServers: Số tiến trình con được tạo khi khởi động máy chủ.
- MPM MaxSpareThreads: Số thread dự phòng tối đa. Giúp đáp ứng các yêu cầu tăng đột biến.
- MPM MaxConnectionsPerChild (trước đây là MaxRequestsPerChild): Số lượng kết nối tối đa mỗi tiến trình con được phép xử lý trong vòng đời của nó.
0
là không giới hạn. Hữu ích để tránh rò rỉ bộ nhớ kéo dài. - MPM MaxRequestWorkers (trước đây là MaxClients): Tổng số yêu cầu đồng thời tối đa (tính trên tất cả tiến trình con). Đây là cài đặt quan trọng về hiệu suất của Apache.
- MPM ThreadsPerChild: Số thread cố định được tạo cho mỗi tiến trình con (áp dụng với MPM
worker
hoặcevent
).
Tính năng & Đặc trưng (Features & Characteristics)
- Access File Name: Lệnh chỉ định tên file cấu hình phân tán, thường là
.htaccess
. Cho phép hoặc cấm dùng.htaccess
để ghi đè cấu hình chính của máy chủ. - Use Canonical Name: Điều khiển cách Apache tạo URL tham chiếu tới chính nó. Đặt
Off
thường linh hoạt hơn. - Server Signature: Thêm dòng thông tin về phiên bản máy chủ và tên host ảo ở cuối các trang do máy chủ sinh ra (như trang lỗi). Vì lý do bảo mật, khuyến nghị để
Off
ở môi trường sản xuất. - Hostname Lookups: Có truy vấn ngược DNS địa chỉ IP của client để lấy tên host hay không. Chế độ
Off
sẽ giúp tăng hiệu suất do tránh truy vấn DNS chậm. - Server Tokens: Quy định mức độ thông tin trong header phản hồi
Server:
.Minor
(vd. Apache/2.4) an toàn hơnFull
(vd. Apache/2.4.58 (Unix) PHP/8.3.1).Prod
chỉ hiển thịApache
.
Quản trị & Nhật ký (Admin & Logging)
- Server Admin: Địa chỉ email admin xuất hiện trong thông báo lỗi gửi về client.
- Log Level: Quy định mức chi tiết ghi vào file nhật ký lỗi (
error_log
).warn
là cấp độ thường dùng, ghi lại cảnh báo và lỗi nghiêm trọng hơn. Các cấp khác gồm:debug
,info
,notice
,error
,crit
,alert
,emerg
.
Module (Modules)
Khu vực này liệt kê các module Apache có thể kích hoạt. Bạn có thể đánh dấu để bật module cần thiết, hoặc bỏ dấu để tắt. Một số module phổ biến bao gồm:
mod_rewrite
: Dùng để viết lại URL.mod_ssl
: Hỗ trợ SSL/TLS (HTTPS).mod_deflate
: Nén nội dung truyền tải.mod_expires
: Kiểm soát header cache.mod_proxy
và các module liên quan: Cung cấp chức năng reverse proxy.mod_auth_basic
,mod_auth_digest
: Xác thực cơ bản hoặc digest.
Sau khi bật/tắt module, cần lưu cấu hình và có thể phải khởi động lại Apache để áp dụng thay đổi.
Directory Index (Chỉ mục Thư mục)
- Directory Index: Khi URL yêu cầu trỏ tới một thư mục, Apache sẽ lần lượt tìm các tập tin trong danh sách này và trả về tập tin đầu tiên tồn tại. Thường mặc định là
index.html index.htm index.php
.
Thiết lập SSL/TLS
Các thiết lập này dành cho chức năng HTTPS của Apache.
- SSLCipherSuite / TLSCipherSuite: Xác định các bộ mã hóa mà máy chủ cho phép sử dụng. Sử dụng mã hóa mạnh và hiện đại là rất quan trọng cho bảo mật. ServBay cung cấp giá trị mặc định đề xuất.
- SSLProxyCipherSuite: Định nghĩa bộ mã hóa khi Apache làm reverse proxy.
- SSLHonorCipherOrder:
On
thì máy chủ sẽ ưu tiên chọn bộ mã hóa ưa thích của mình thay vì của client. Khuyến nghị nên bậtOn
. - SSLStrictSNIVHostCheck:
On
thì sẽ từ chối kết nối nếu hostname yêu cầu qua SNI không khớp với vhost cấu hình. Tăng cường bảo mật. - ProtocolHonorOrder: Tương tự như
SSLHonorCipherOrder
nhưng áp dụng cho việc thương lượng phiên bản giao thức. - SSLProtocol: Định nghĩa phiên bản SSL/TLS được phép sử dụng. Ví dụ
all -SSLv2 -SSLv3
cho phép các giao thức hiện đại, loại bỏ các phiên bản bất an. - SSLProxyProtocol: Định nghĩa phiên bản giao thức được phép dùng khi Apache làm reverse proxy.
- Protocols: Cấu hình thứ tự ưu tiên các giao thức hỗ trợ, ví dụ bật HTTP/2.
h2 h2c http/1.1
nghĩa là ưu tiên HTTP/2 (mã hóah2
hoặc không mã hóah2c
), sau đó đến HTTP/1.1.
Lưu và Đặt lại
- Reset: Nhấp vào nút này để khôi phục toàn bộ cấu hình Apache về mặc định của ServBay.
- Save: Nhấn vào nút này để lưu tất cả thay đổi cấu hình Apache. Sau khi lưu, ServBay thường sẽ tự động áp dụng các thay đổi. Nếu Apache đang chạy, có thể hệ thống sẽ cần khởi động lại ngắn để cập nhật cấu hình.
Lưu ý quan trọng
- Việc chỉnh sửa ở đây là cấu hình toàn cục của Apache. Cấu hình dành riêng cho từng website (virtual host) như
DocumentRoot
, cácRewriteRule
cụ thể, thông thường được thiết lập khi thêm hoặc chỉnh sửa mụcWebsite
. - Nếu bạn thấy thông báo "Service Apache is not enabled" ở đầu giao diện cấu hình, nghĩa là dịch vụ Apache hiện chưa chạy. Bạn vẫn có thể chỉnh sửa và lưu cấu hình, nhưng thay đổi chỉ có hiệu lực khi bạn khởi động Apache sau đó. Bạn có thể khởi động Apache từ bảng điều khiển chính của ServBay hoặc từ menu
Packages
.
Tóm tắt
ServBay mang đến giao diện trực quan để quản lý cài đặt cốt lõi của máy chủ web Apache. Hiểu rõ các tùy chọn này sẽ giúp bạn điều chỉnh hành vi, hiệu suất và bảo mật của Apache phù hợp với nhu cầu phát triển, tận dụng tốt nhất ServBay như một môi trường phát triển cục bộ.