Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I'm currently reading 'Definitive Guide to Apache mod_rewrite' and throughout the book there are other Apache modules mentioned that are better alternatives in given scenarios.

This has got me wondering what all is installed on my site. I don't have SSH access to the server, and I don't have access to any of the config files (afaik).

Is there any way for me to determine what is installed, or do I have to directly ask my host? I suppose certain commands could be run inside PHP (i.e. using backticks), but I'm not sure what the limitations of that are.

share|improve this question

closed as off-topic by masegaloeh, mdpc, Andrew Schulman, Hyppy, Jenny D Apr 28 '15 at 14:32

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "Questions on Server Fault must be about managing information technology systems in a business environment. Home and end-user computing questions may be asked on Super User, and questions about development, testing and development tools may be asked on Stack Overflow." – mdpc, Andrew Schulman, Hyppy, Jenny D
If this question can be reworded to fit the rules in the help center, please edit the question.

There is an external method, but it will require knowing if it is turned on, and if it is installed at all.

The phpinfo() function might tell you some things about Apache, but it is mostly about PHP. If you can run commands through the web server, then running

httpd -t -D DUMP_MODULES

may work, but I wouldn't count on it.

Also, some modules may include data in the server responses even if they are not currently used. See for an example of this sort of thing. My server currently reports:

Apache/2.2.14 (Unix) mod_ssl/2.2.14 OpenSSL/0.9.9-dev DAV/2 PHP/5.2.11 Phusion_Passenger/2.2.9

which seems to be accurate, which reminds me, I need to remove the PHP part.

share|improve this answer

Do you have access to .htaccess? I'd assume so, otherwise you have no control over the webserver, and you can't do anything with it, so there's no point in you knowing which modules you have.

If so, you could add various <IfModule> directives in the .htaccess file to do something (e.g. deny access to a certain file). You can then try to access the file. If you can access the file, then you don't have the module available.

share|improve this answer

This is a not programmatic answer.

Ask the host administrator directly if you can.

You could try asking the administrator to activate the mod_info apache module and to configure the master httpd.conf server file (and point to a restricted URI for security) so that you could easily obtain the full configuration information using your web browser.

You could ask the host administrator to run the httpd command that another user provided above and send you the output.

share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.