38

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.

random
  • 14,638
  • 9
  • 54
  • 58
Thach Xuyen
  • 573
  • 3
  • 7
  • 8

7 Answers7

57

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)
Oliver Salzburg
  • 86,445
  • 63
  • 260
  • 306
15

Try the which command:

# which apache2

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

7

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

sudo service apache2 status

at the command line.

bertieb
  • 7,344
  • 36
  • 42
  • 54
  • 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 08:03
3

Just do a which httpd as user root.

3

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.

FatalError
  • 2,143
  • 1
  • 17
  • 15
1

Try this bash command:

if [[ -z $(apache2 -v 2>/dev/null) ]] && [[ -z $(httpd -v 2>/dev/null) ]]; then echo "Apache not found"; fi
zx485
  • 2,170
  • 11
  • 17
  • 24
ZYX Rhythm
  • 11
  • 3
0

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.

siliconrockstar
  • 240
  • 2
  • 5