Find out Apache Version

by on December 20, 2008 · 16 comments· last updated at December 20, 2008

Q. I have a rented dedicated LAMP server and I need to know what version of Apache I am running. How do I find out my Apache server version? How do I find out what modules loaded?

A. httpd is the Apache HyperText Transfer Protocol (HTTP) server program. In order to find out apache version login to server using ssh. Once logged in type the following command to print the version of httpd, and then exit:
# httpd -v
Sample output:

Server version: Apache/2.2.3
Server built:   Oct 28 2008 07:22:45

Output a list of modules compiled into the server:

# httpd -l
This will not list dynamically loaded modules included using the LoadModule directive. To dump a list of loaded Static and Shared Modules:
# httpd -M
Sample output:

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)
 log_config_module (shared)
 logio_module (shared)
 env_module (shared)
 ext_filter_module (shared)
 mime_magic_module (shared)
 expires_module (shared)
 deflate_module (shared)
 headers_module (shared)
 usertrack_module (shared)
 setenvif_module (shared)
 mime_module (shared)
 dav_module (shared)
 status_module (shared)
 autoindex_module (shared)
 info_module (shared)
 dav_fs_module (shared)
 vhost_alias_module (shared)
 negotiation_module (shared)
 dir_module (shared)
 actions_module (shared)
 speling_module (shared)
 userdir_module (shared)
 alias_module (shared)
 rewrite_module (shared)
 proxy_module (shared)
 proxy_balancer_module (shared)
 proxy_ftp_module (shared)
 proxy_http_module (shared)
 proxy_connect_module (shared)
 cache_module (shared)
 suexec_module (shared)
 disk_cache_module (shared)
 file_cache_module (shared)
 mem_cache_module (shared)
 cgi_module (shared)
 version_module (shared)
 chroot_module (shared)
 perl_module (shared)
 php5_module (shared)
 proxy_ajp_module (shared)
 python_module (shared)
Syntax OK

Print the version and build parameters of httpd, and then exit

Type the command:
# httpd -V
Sample output:

Server version: Apache/2.2.3
Server built:   Oct 28 2008 07:22:45
Server's Module Magic Number: 20051115:3
Server loaded:  APR 1.2.7, APR-Util 1.2.7
Compiled using: APR 1.2.7, APR-Util 1.2.7
Architecture:   64-bit
Server MPM:     Prefork
  threaded:     no
    forked:     yes (variable process count)
Server compiled with....
 -D APACHE_MPM_DIR="server/mpm/prefork"
 -D APR_HAS_SENDFILE
 -D APR_HAS_MMAP
 -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
 -D APR_USE_SYSVSEM_SERIALIZE
 -D APR_USE_PTHREAD_SERIALIZE
 -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
 -D APR_HAS_OTHER_CHILD
 -D AP_HAVE_RELIABLE_PIPED_LOGS
 -D DYNAMIC_MODULE_LIMIT=128
 -D HTTPD_ROOT="/etc/httpd"
 -D SUEXEC_BIN="/usr/sbin/suexec"
 -D DEFAULT_PIDLOG="logs/httpd.pid"
 -D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
 -D DEFAULT_LOCKFILE="logs/accept.lock"
 -D DEFAULT_ERRORLOG="logs/error_log"
 -D AP_TYPES_CONFIG_FILE="conf/mime.types"
 -D SERVER_CONFIG_FILE="conf/httpd.conf"

To view other configuration settings open httpd.conf file (usually located in /etc/httpd directory). Red hat, CentOS and Fedora stores httpd at the following location:
# vi /etc/httpd/conf/httpd.conf
Debian and Ubuntu stores httpd.conf in apache2.conf file at the following location:
# vi /etc/apache2/apache2.conf
FreeBSD stores apache2.2 configuration at the following location:
# vi /usr/local/etc/apache22/httpd.conf
If you made any changes to httpd.conf, check httpd syntax for error using the -t option:
# httpd -t
If there are no errors, simply restart Apache web server.



You should follow me on twitter here or grab rss feed to keep track of new changes.

Featured Articles:

{ 16 comments… read them below or add one }

1 mhernandez December 20, 2008 at 10:44 am

Very complete post. I’ll keep it as a quick reference just in case i have to admin any of these systems.

Reply

2 n03x3c December 20, 2008 at 3:27 pm

Good post. This is good to keep in quick ref. book…

Reply

3 Protocol December 20, 2008 at 6:41 pm

You can also get some basic info if you telnet the server on port 80 and then type
get / http/1.0

It doesn’t tell you everything but you can get the basics.
//G

Reply

4 Protocol December 20, 2008 at 6:44 pm

Sorry, its

head / http/1.0

//G

Reply

5 Jeff Schroeder December 22, 2008 at 2:15 pm

@The above post: If you don’t want an error message, do it like this:

$ telnet http://www.somesite.com 80
HEAD / HTTP/1.1
Host: http://www.somesite.com


Jeff Schroeder
http://www.digitalprognosis.com

Reply

6 Vivek Gite December 22, 2008 at 3:49 pm

This is much easier for fingerprint remote web server
curl -I http://example.com/

Reply

7 achmad October 27, 2009 at 9:11 am

hi, i am using apache version 2.2.3, before this the server is using public IP, then we decide to put it behind firewall and map the local IP. So, once we change the server’s IP address to local, we are unable to open the website, just the front page of apache. I think it was no issue with firewall because when we ping the public IP and can remote the server. Please help anyone…

Reply

8 Lee Murray September 23, 2010 at 1:37 pm

good tutorials.

Reply

9 Toby January 21, 2011 at 11:06 am

Exactly what I was looking for, cheers!

Reply

10 Bipin April 23, 2011 at 6:45 pm

Hi ,

How can we check loaded modules version?

Thanks,
Bipin Bahuguna

Reply

11 Troy November 7, 2011 at 8:35 pm

This didn’t work for me, but

apache2 -v

did

Reply

12 sredhar December 7, 2012 at 11:10 am

It is

apachectl -v

Reply

13 Mkr November 30, 2011 at 8:48 pm

Thanks, this post is extremely helpful

Reply

14 Max January 20, 2012 at 2:34 pm

Thanks. Just what I needed.

Reply

15 TI November 21, 2012 at 6:13 am

The simple command helps me a lot. Thank you!

Reply

16 REM January 31, 2013 at 9:17 pm

Actually, the very easiest way to determine what version of Apache you are running is to request a nonexistent page.

Reply

Leave a Comment

You can use these HTML tags and attributes for your code and commands: <strong> <em> <ol> <li> <u> <ul> <kbd> <blockquote> <pre> <a href="" title="">

Tagged as: , , , , , , , , , , , ,

Previous Faq:

Next Faq: