Apache dibangun, berdasarkan pada prinsip modularitas, dengan cara ini, memungkinkan administrator server web untuk menambahkan modul yang berbeda ketika akan memperluas fungsi utamanya dan meningkatkan kinerja apache juga.
Beberapa modul Apache umum meliputi:
- mod_ssl yang menawarkan HTTPS untuk Apache .
- mod_rewrite yang memungkinkan untuk mencocokkan pola url dengan ekspresi reguler, dan melakukan pengalihan transparan menggunakan trik .htaccess , atau menerapkan respons kode status HTTP.
- mod_security yang menawarkan Anda untuk melindungi Apache terhadap serangan Brute Force atau DDoS .
- mod_status yang memungkinkan Anda memantau muatan server web Apache dan statika halaman .
Di Linux, perintah apachectl atau apache2ctl digunakan untuk mengontrol antarmuka server HTTP Apache, itu adalah front-end ke Apache.
Anda dapat menampilkan informasi penggunaan untuk apache2ctl seperti di bawah ini:
$ apache2ctl help Atau $ apachectl help
Usage: /usr/sbin/httpd [-D name] [-d directory] [-f file] [-C "directive"] [-c "directive"] [-k start|restart|graceful|graceful-stop|stop] [-v] [-V] [-h] [-l] [-L] [-t] [-S] Options: -D name : define a name for use in directives -d directory : specify an alternate initial ServerRoot -f file : specify an alternate ServerConfigFile -C "directive" : process directive before reading config files -c "directive" : process directive after reading config files -e level : show startup errors of level (see LogLevel) -E file : log startup errors to file -v : show version number -V : show compile settings -h : list available command line options (this page) -l : list compiled in modules -L : list available configuration directives -t -D DUMP_VHOSTS : show parsed settings (currently only vhost settings) -S : a synonym for -t -D DUMP_VHOSTS -t -D DUMP_MODULES : show all loaded modules -M : a synonym for -t -D DUMP_MODULES -t : run syntax check for config files
apache2ctl dapat berfungsi dalam dua mode yang memungkinkan, mode init Sys V dan mode pass-through . Dalam mode init SysV , apache2ctl mengambil perintah sederhana detailnya ada dibawah ini :
$ apachectl command Atau $ apache2ctl command
Misalnya, untuk memulai Apache dan memeriksa statusnya, jalankan dua perintah ini dengan hak super user root dengan menggunakan perintah sudo , jika Anda adalah pengguna normal:
$ sudo apache2ctl start $ sudo apache2ctl status
buycloud@BuyCloud ~ $ sudo apache2ctl start AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message httpd (pid 1456) already running buycloud@BuyCloud ~ $ sudo apache2ctl status Apache Server Status for localhost (via 127.0.0.1) Server Version: Apache/2.4.18 (Ubuntu) Server MPM: prefork Server Built: 2016-07-14T12:32:26 ------------------------------------------------------------------------------- Current Time: Tuesday, 15-Nov-2016 11:47:28 IST Restart Time: Tuesday, 15-Nov-2016 10:21:46 IST Parent Server Config. Generation: 2 Parent Server MPM Generation: 1 Server uptime: 1 hour 25 minutes 41 seconds Server load: 0.97 0.94 0.77 Total accesses: 2 - Total Traffic: 3 kB CPU Usage: u0 s0 cu0 cs0 .000389 requests/sec - 0 B/second - 1536 B/request 1 requests currently being processed, 4 idle workers __W__........................................................... ................................................................ ...................... Scoreboard Key: "_" Waiting for Connection, "S" Starting up, "R" Reading Request, "W" Sending Reply, "K" Keepalive (read), "D" DNS Lookup, "C" Closing connection, "L" Logging, "G" Gracefully finishing, "I" Idle cleanup of worker, "." Open slot with no current process
Dan ketika beroperasi dalam mode pass-through , apache2ctl dapat mengambil semua argumen Apache dalam sintaks berikut:
$ apachectl [apache-argument] $ apache2ctl [apache-argument]
Semua argumen Apache dapat didaftar sebagai berikut:
$ apache2 help [On Debian based systems] $ httpd help [On RHEL based systems]
Memeriksa Modul Apache yang Diaktifkan
Oleh karena itu, untuk memeriksa modul mana yang diaktifkan di server web Apache Anda, jalankan perintah yang berlaku di bawah untuk distribusi Anda, di mana -t -D DUMP_MODULES argumen Apache untuk menampilkan semua modul yang diaktifkan / dimuat:
--------------- Pada sistem berbasis Debian --------------- $ apache2ctl -t -D DUMP_MODULES ATAU $ apache2ctl -M --------------- Pada sistem berbasis RHEL --------------- $ apachectl -t -D DUMP_MODULES ATAU $ httpd -M $ apache2ctl -M [ Root @ buycloud httpd] # apachectl -M Loaded Modul: core_module (statis) mpm_prefork_module (statis) http_module (statis) so_module (statis) auth_basic_module (shared) auth_digest_module (shared) authn_file_module (shared) authn_alias_module (shared) authn_anon_module (shared) authn_dbm_module (shared) authn_default_module (shared) authz_host_module (shared) authz_user_module (dibagikan) authz_owner_module (shared) authz_groupfile_module (shared) authz_dbm_module (shared) authz_dodemode (shared) authnz_ldap_module (shared) include_module (shared) ....