Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

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 have Linux Mint on my computer but I don't know how to find out whether Apache2 is on it or where it is actually installed. I run my web browser (PHP installed) with http://localhost as a URL and it works.

share|improve this question

migrated from stackoverflow.com Feb 9 '12 at 14:14

This question came from our site for professional and enthusiast programmers.

    
what do you mean by PHP installed? – onemach Feb 9 '12 at 14:06
    
How is that related to c, c# or unix? – ThiefMaster Feb 9 '12 at 14:08
    
you want to know the path where are the files from that site? – Francisco Tapia Apr 24 '15 at 17:03
up vote 25 down vote accepted

I would recommend

dpkg --get-selections | grep apache

It lists all installed packages that contain "apache" in their name. For example:

apache2                                         install
apache2-doc                                     install
apache2-mpm-prefork                             install
apache2-utils                                   install
apache2.2-bin                                   install
apache2.2-common                                install
libapache2-mod-php5                             install
libapache2-svn                                  install

It indicates that the package apache2 is installed on the system.

Another approach, to find any running HTTP daemon on the default port would be:

sudo lsof -nPi | grep ":80 (LISTEN)"

Which lists something like:

apache2    1026     root    4u  IPv6    3739      0t0  TCP *:80 (LISTEN)
apache2    3966 www-data    4u  IPv6    3739      0t0  TCP *:80 (LISTEN)
apache2    4014 www-data    4u  IPv6    3739      0t0  TCP *:80 (LISTEN)
apache2    4015 www-data    4u  IPv6    3739      0t0  TCP *:80 (LISTEN)
apache2    4016 www-data    4u  IPv6    3739      0t0  TCP *:80 (LISTEN)
share|improve this answer

Try the which command:

# which apache2

In my experience, the Apache binary is located in /usr/sbin on most installations.

share|improve this answer
1  
Depending on distro you might also try which with 'apache' and 'httpd' – siliconrockstar Apr 24 '15 at 17:00

Just do a which httpd as user root.

share|improve this answer
2  
Afraid to say, but on Mint (a Debian derivative) it would be apache or apache2, but not httpd ... – 0xC0000022L Feb 9 '12 at 14:12

As I recall, Mint is based on Ubuntu, so you should be able to check apt-cache policy apache2:

$ apt-cache policy apache2
apache2:
  Installed: (none)
  Candidate: 2.2.20-1ubuntu1.1
  Version table:
     2.2.20-1ubuntu1.1 0
        500 http://us.archive.ubuntu.com/ubuntu/ oneiric-updates/main amd64 Packages
        500 http://security.ubuntu.com/ubuntu/ oneiric-security/main amd64 Packages
     2.2.20-1ubuntu1 0
        500 http://us.archive.ubuntu.com/ubuntu/ oneiric/main amd64 Packages

In this case, you can see it's not installed on my system. If you haven't asked for it to be installed, it's probably not -- I doubt it's part of the default distribution.

share|improve this answer

To check whether if apache is running or not (the status), type:

sudo service apache2 status

at the command line.

share|improve this answer
    
This only works where Apache is installed as a (sysv etc) service; which admittedly will cover a lot of cases. – bertieb Aug 24 '15 at 8:03

As root, you can test if apache is running under process name httpd, apache, or apache2, using

ps -A | grep 'apache\|httpd'

But again, this will only find apache if the process is running.

share|improve this answer
1  
If works even if you are not root. – Hastur Apr 24 '15 at 17:17
    
Ah cool, wasn't sure if non-privileged users could list global processes, thanks. – siliconrockstar Apr 25 '15 at 2:31

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .