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
staticcó 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.sharedcó 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_moduleCung 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,RedirectMatchRedirect 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_modulechức năng cache cơ sởcache_disk_modulelưu cache trên đĩadata_modulechuyển đổi URL datadeflate_modulené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_modulechứ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_moduleChạy CGI script với chỉ thịAction,Scripthay dùng để định nghĩa Handlerallowmethods_moduleChỉ 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_moduleCung cấp cơ chế xác thực HTTP đơn giản (HTTP Basic Authentication)auth_digest_moduleTriển khai phương pháp xác thựcHTTP Digest Authenticationauthn_anon_moduleCho phép user nặc danh truy cập mục yêu cầu xác thựcauthn_core_moduleModule cơ sở xây dựng các phương pháp xác thựcauthn_dbd_modulecho phép xác thực từ SQLauthn_dbm_modulecho phép xác thực từ file DBMauthn_file_modulexác thực từ file (text)authn_socache_modulequản lý cache xác thựcauthz_core_modulemodule xác thực cơ sởauthz_dbd_modulexác thựcauthz_dbm_modulexác thựcauthz_groupfile_modulexác thựcauthz_host_modulexác thực từ HOST và IPauthz_owner_modulexác thựcauthz_user_modulexác thựcautoindex_moduleModule 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_dirvớ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_modulechức năng kết nối đến SQL từ Apachedumpio_moduledump lỗiecho_modulecung cấp chỉ thịProtocolEcho On|Offđể bật tắt chế độ echo của Server Apacheext_filter_modulechuyển body của response cho một chương trình trước khi trả về cho userheaders_modulecho phép tùy chỉnh thêm vào HTTP Headerinclude_modulecho phép Apache parsed nội dung HTMLlogio_modulecho phép lưu log số lượng phải nhận/gửi cho mỗi requestnegotiation_moduleremoteip_modulereqtimeout_modulecho phép thiết lập timeout (thời giản hế hạn) cho mỗi requestsubstitute_modulecho phép tìm và thay thế body của responsesuexec_modulecho phép thiết lập user chạy CGIuserdir_moduleversion_modulecấu hình theo từng Apache versionvhost_alias_moduledav_modulechức năng WebDAVdav_fs_moduleWebDAVdav_lock_moduleWebDAVlua_modulecho 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
