mirror of
https://github.com/LCTT/TranslateProject.git
synced 2025-01-07 22:11:09 +08:00
178 lines
6.8 KiB
Markdown
178 lines
6.8 KiB
Markdown
|
How to Check Which Apache Modules are Enabled/Loaded in Linux
|
|||
|
============================================================
|
|||
|
|
|||
|
In this guide, we will briefly talk about the Apache web server front-end and how to list or check which Apache modules have been enabled on your server.
|
|||
|
|
|||
|
Apache is built, based on the principle of modularity, this way, it enables web server administrators to add different modules to extend its primary functionalities and [enhance apache performance][5] as well.
|
|||
|
|
|||
|
Some of the common Apache modules include:
|
|||
|
|
|||
|
1. mod_ssl – which offers [HTTPS for Apache][1].
|
|||
|
2. mod_rewrite – which allows for matching url patterns with regular expressions, and perform a transparent redirect using [.htaccess tricks][2], or apply a HTTP status code response.
|
|||
|
3. mod_security – which offers you to [protect Apache against Brute Force or DDoS attacks][3].
|
|||
|
4. mod_status – that allows you to [monitor Apache web server load and page statics][4].
|
|||
|
|
|||
|
In Linux, the apachectl or apache2ctl command is used to control Apache HTTP server interface, it is a front-end to Apache.
|
|||
|
|
|||
|
You can display the usage information for apache2ctl as below:
|
|||
|
|
|||
|
```
|
|||
|
$ apache2ctl help
|
|||
|
OR
|
|||
|
$ apachectl help
|
|||
|
```
|
|||
|
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 can function in two possible modes, a Sys V init mode and pass-through mode. In the SysV init mode, apache2ctl takes simple, one-word commands in the form below:
|
|||
|
|
|||
|
```
|
|||
|
$ apachectl command
|
|||
|
OR
|
|||
|
$ apache2ctl command
|
|||
|
```
|
|||
|
|
|||
|
For instance, to start Apache and check its status, run these two commands with root user privileges by employing the [sudo command][6], in case you are a normal user:
|
|||
|
|
|||
|
```
|
|||
|
$ sudo apache2ctl start
|
|||
|
$ sudo apache2ctl status
|
|||
|
```
|
|||
|
Check Apache Status
|
|||
|
```
|
|||
|
tecmint@TecMint ~ $ 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
|
|||
|
tecmint@TecMint ~ $ 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
|
|||
|
```
|
|||
|
|
|||
|
And when operating in pass-through mode, apache2ctl can take all the Apache arguments in the following syntax:
|
|||
|
|
|||
|
```
|
|||
|
$ apachectl [apache-argument]
|
|||
|
$ apache2ctl [apache-argument]
|
|||
|
```
|
|||
|
|
|||
|
All the Apache-arguments can be listed as follows:
|
|||
|
|
|||
|
```
|
|||
|
$ apache2 help [On Debian based systems]
|
|||
|
$ httpd help [On RHEL based systems]
|
|||
|
```
|
|||
|
|
|||
|
#### Check Enabled Apache Modules
|
|||
|
|
|||
|
Therefore, in order to check which modules are enabled on your Apache web server, run the applicable command below for your distribution, where `-t -D DUMP_MODULES` is a Apache-argument to show all enabled/loaded modules:
|
|||
|
|
|||
|
```
|
|||
|
--------------- On Debian based systems ---------------
|
|||
|
$ apache2ctl -t -D DUMP_MODULES
|
|||
|
OR
|
|||
|
$ apache2ctl -M
|
|||
|
```
|
|||
|
|
|||
|
```
|
|||
|
--------------- On RHEL based systems ---------------
|
|||
|
$ apachectl -t -D DUMP_MODULES
|
|||
|
OR
|
|||
|
$ httpd -M
|
|||
|
$ apache2ctl -M
|
|||
|
```
|
|||
|
List Apache Enabled Loaded Modules
|
|||
|
```
|
|||
|
[root@tecmint httpd]# apachectl -M
|
|||
|
Loaded Modules:
|
|||
|
core_module (static)
|
|||
|
mpm_prefork_module (static)
|
|||
|
http_module (static)
|
|||
|
so_module (static)
|
|||
|
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 (shared)
|
|||
|
authz_owner_module (shared)
|
|||
|
authz_groupfile_module (shared)
|
|||
|
authz_dbm_module (shared)
|
|||
|
authz_default_module (shared)
|
|||
|
ldap_module (shared)
|
|||
|
authnz_ldap_module (shared)
|
|||
|
include_module (shared)
|
|||
|
....
|
|||
|
```
|
|||
|
|
|||
|
That’s all! in this simple tutorial, we explained how to use the Apache front-end tools to list enabled/loaded apache modules. Keep in mind that you can get in touch using the feedback form below to send us your questions or comments concerning this guide.
|
|||
|
|
|||
|
--------------------------------------------------------------------------------
|
|||
|
|
|||
|
via: http://www.tecmint.com/check-apache-modules-enabled
|
|||
|
|
|||
|
作者:[Aaron Kili][a]
|
|||
|
译者:[译者ID](https://github.com/译者ID)
|
|||
|
校对:[校对者ID](https://github.com/校对者ID)
|
|||
|
|
|||
|
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
|||
|
|
|||
|
[a]:http://www.tecmint.com/author/aaronkili/
|
|||
|
[1]:http://www.tecmint.com/install-lets-encrypt-ssl-certificate-to-secure-apache-on-rhel-centos/
|
|||
|
[2]:http://www.tecmint.com/apache-htaccess-tricks/
|
|||
|
[3]:http://www.tecmint.com/protect-apache-using-mod_security-and-mod_evasive-on-rhel-centos-fedora/
|
|||
|
[4]:http://www.tecmint.com/monitor-apache-web-server-load-and-page-statistics/
|
|||
|
[5]:http://www.tecmint.com/apache-performance-tuning/
|
|||
|
[6]:http://www.tecmint.com/su-vs-sudo-and-how-to-configure-sudo-in-linux/
|