How can I determine if Apache is installed on a system?

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 as a URL and it works.

3

7 Answers

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)
4

Try the which command:

# which apache2

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

1

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

sudo service apache2 status

at the command line.

1

Just do a which httpd as user root.

1

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 oneiric-updates/main amd64 Packages 500 oneiric-security/main amd64 Packages 2.2.20-1ubuntu1 0 500 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.

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.

2

Try this bash command:

if [[ -z $(apache2 -v 2>/dev/null) ]] && [[ -z $(httpd -v 2>/dev/null) ]]; then echo "Apache not found"; fi

You Might Also Like