Module trong Apache
Chức năng của Server Apache hầu hết được mở rộng nhờ các module. Các module nạp vào có 2 loại
static
có nghĩa là module đó được tích hợp vào trong mã chạy Apache (tích hợp khi build từ code), module này luôn có - không hủy được.shared
có nghĩa module đó nằm trên một file độc lập, bạn cấu hình đề khi Apache chạy nó tải vào, nếu chức năng của module đó bạn không cần nữa thì không tải.
Kiểm tra các module đang dùng
# httpd -M Loaded Modules: core_module (static) so_module (static) http_module (static) access_compat_module (shared) actions_module (shared) alias_module (shared) allowmethods_module (shared) auth_basic_module (shared) auth_digest_module (shared) authn_anon_module (shared) authn_core_module (shared) ...
Nạp module
Các moule được nạp vào bằng chỉ thị LoadModule
LoadModule tên_module file_module
Ví status_module
ở vị trí "modules/mod_status.so"
cấu hình Apache nạp vào bằng:
LoadModule status_module "modules/mod_status.so"
Như vậy khi bạn cài đặt mới các module, thường bạn sẽ được cung cấp các file module đó (.so) sau đó muốn sử dụng thì dùng LoadModule
để nạp vào, nếu không muốn nạp vào thì comment vào dòng LoadModule đó
Các module thông dụng
- core_module
- so_module
- http_module
alias_module
Cung cấp cơ chế ánh xạ từ url ngắn gọn đến vị trí thật trên đĩa với các chỉ thị:Alias
,AliasMatch
,Redirect
,RedirectMatch
Redirect 301 "/three" "http://example.com/other" #chuyển hướng 1 url (301) #chuyển các file .gif sang một domain mới RedirectMatch "(.*)\.gif$" "http://other.example.com$1.jpg"
cache_module
chức năng cache cơ sởcache_disk_module
lưu cache trên đĩadata_module
chuyển đổi URL datadeflate_module
nén file trước khi trả về cho user#Ví dụ, file .html, .xml, .js, .css nén trước khi trả về cho user AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript application/javascript
filter_module
chức năng filter, chuyển content của respose để filter (lục, nén, biến đổi ...) trước khi trả về cho user- access_compat_module
Xác thực truy cập cơ bản với các chỉ thị như
Order Deny,Allow
actions_module
Chạy CGI script với chỉ thịAction
,Script
hay dùng để định nghĩa Handlerallowmethods_module
Chỉ cho phép một số phương thức HTTP Request gửi đến (POST, GET, PUT, DELETE ...) bằng chỉ theijAllowMethods
#ví dụ cho phép GET, POST AllowMethods GET POST OPTIONS
auth_basic_module
Cung cấp cơ chế xác thực HTTP đơn giản (HTTP Basic Authentication)auth_digest_module
Triển khai phương pháp xác thựcHTTP Digest Authentication
authn_anon_module
Cho phép user nặc danh truy cập mục yêu cầu xác thựcauthn_core_module
Module cơ sở xây dựng các phương pháp xác thựcauthn_dbd_module
cho phép xác thực từ SQLauthn_dbm_module
cho phép xác thực từ file DBMauthn_file_module
xác thực từ file (text)authn_socache_module
quản lý cache xác thựcauthz_core_module
module xác thực cơ sởauthz_dbd_module
xác thựcauthz_dbm_module
xác thựcauthz_groupfile_module
xác thựcauthz_host_module
xác thực từ HOST và IPauthz_owner_module
xác thựcauthz_user_module
xác thựcautoindex_module
Module Apache:
mod_autoindex
, tự động sinh file chỉ mục indexes của thư mụcMột file chỉ mục có thể sinh ra từ 2 nguồn:
- Đọc nội dung một file trong thư mục đó (thường là index.html, index.php). Trường hợp này có được nếu dùng module
mod_dir
với chỉ thịDirectoryIndex
- Nội dung chỉ mục do Server Apache tự động sinh ra, đây chính là chức năng của
mod_autoindex
, cách sinh file xem thêm:autoindex
- Đọc nội dung một file trong thư mục đó (thường là index.html, index.php). Trường hợp này có được nếu dùng module
dbd_module
chức năng kết nối đến SQL từ Apachedumpio_module
dump lỗiecho_module
cung cấp chỉ thịProtocolEcho On|Off
để bật tắt chế độ echo của Server Apacheext_filter_module
chuyển body của response cho một chương trình trước khi trả về cho userheaders_module
cho phép tùy chỉnh thêm vào HTTP Headerinclude_module
cho phép Apache parsed nội dung HTMLlogio_module
cho phép lưu log số lượng phải nhận/gửi cho mỗi requestnegotiation_module
remoteip_module
reqtimeout_module
cho phép thiết lập timeout (thời giản hế hạn) cho mỗi requestsubstitute_module
cho phép tìm và thay thế body của responsesuexec_module
cho phép thiết lập user chạy CGIuserdir_module
version_module
cấu hình theo từng Apache versionvhost_alias_module
dav_module
chức năng WebDAVdav_fs_module
WebDAVdav_lock_module
WebDAVlua_module
cho phép chạy LUA Script- dir_module
- env_module
- expires_module
- info_module
- log_config_module
- mime_magic_module
- mime_module
- rewrite_module
- setenvif_module
- status_module
- slotmem_plain_module
- slotmem_shm_module
- socache_dbm_module
- socache_memcache_module
- socache_shmcb_module
- unique_id_module
- unixd_module
- mpm_event_module
- proxy_module
- systemd_module
- lbmethod_bybusyness_module
- lbmethod_byrequests_module
- lbmethod_bytraffic_module
- lbmethod_heartbeat_module
- proxy_ajp_module
- proxy_balancer_module
- proxy_connect_module
- proxy_express_module
- proxy_fcgi_module
- proxy_fdpass_module
- proxy_ftp_module
- proxy_http_module
- proxy_scgi_module
- proxy_wstunnel_module
- cgi_module