36

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.

3
  • what do you mean by PHP installed?
    – onemach
    Feb 9, 2012 at 14:06
  • How is that related to c, c# or unix? Feb 9, 2012 at 14:08
  • you want to know the path where are the files from that site? Apr 24, 2015 at 17:03

7 Answers 7

54

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
  • -bash: dpkg: command not found is the above done in a certain directory?
    – elliotrock
    Jun 19, 2017 at 1:04
  • @elliotrock No, try running it with sudo. Jun 19, 2017 at 9:03
  • -bash: dpkg: command not found same error on aws linux even tried with sudo. Jul 4, 2018 at 12:28
  • 1
    This question is about Linux Mint. Using dpkg on platforms that don't have it is pointless. Jul 4, 2018 at 12:39
15

Try the which command:

# which apache2

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

1
  • 4
    Depending on distro you might also try which with 'apache' and 'httpd' Apr 24, 2015 at 17:00
6

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

sudo service apache2 status

at the command line.

1
  • This only works where Apache is installed as a (sysv etc) service; which admittedly will cover a lot of cases.
    – bertieb
    Aug 24, 2015 at 8:03
3

Just do a which httpd as user root.

1
  • 2
    Afraid to say, but on Mint (a Debian derivative) it would be apache or apache2, but not httpd ... Feb 9, 2012 at 14:12
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.

1

Try this bash command:

if [[ -z $(apache2 -v 2>/dev/null) ]] && [[ -z $(httpd -v 2>/dev/null) ]]; then echo "Apache not found"; fi
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.

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

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