Ask Ubuntu is a question and answer site for Ubuntu users and developers. 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

It seems a simple apt-get remove apache2 does not completely remove apache2 as I can still see it on one of the processes when running top. How does one remove apache2 completely on his ubuntu server?

It's not removed indeed:

~# which apache2
~# whereis apache2
apache2: /usr/sbin/apache2 /etc/apache2 /usr/lib/apache2 /usr/share/apache2 /usr/share/man/man8/apache2.8.gz

But when I do apt-get remove apache2 again:

# apt-get remove apache2
Reading package lists... Done
Building dependency tree
Reading state information... Done
Package apache2 is not installed, so not removed
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
share|improve this question
run apt-get purge apache2. It will remove the all config files. – Manula Waidyanatha Aug 17 '12 at 10:06
up vote 74 down vote accepted

apache2 is a metapackage that just selects other packages. If you installed apache by installing that package, you just need to run this to clean up the automatically selected packages:

sudo apt-get autoremove

If that doesn't work, you might have installed one of the dependents manually. You can target all the apache2- packages from space and nuke the lot:

sudo apt-get remove apache2*

For future reference, to find out which package a binary is from, you can run this:

dpkg -S `which apache2`

I'd expect that to come back with apache2.2-bin

share|improve this answer
also, use --purge if you want the configuration files to be deleted as well: apt-get --purge remove apache2 – xyious Aug 17 '12 at 10:03
The last command outputs apache2-mpm-prefork: /usr/sbin/apache2 – Michelle Aug 17 '12 at 10:03
@Severus fair enough -- I was just guessing but that makes sense. Yeah I'd just use the wildcard but keen an eye on what it's going to delete. apache2-common is used by some tools that aren't the apache2 httpd so you might need to reinstall some thing after. – Oli Aug 17 '12 at 10:06
@Oli Removing things with a regex 'apache2*' is dangerous, loads of things end up getting removed – jasdeepkhalsa Dec 8 '13 at 7:57
@jasdeepkhalsa It's not "dangerous". apt-get (unlike apt-cache) limits its searches to names-only so it's not that far-reaching. Everything it captures is Apache or Apache dependent. Check it yourself with apt-get -s remove apache2* – Oli Dec 9 '13 at 8:53

Follow these steps to remove the apache2 service using Terminal:

  1. First stop the apache2 service if it is running with: sudo service apache2 stop
  2. Now remove and cleanup all the apache2 packages with:

    sudo apt-get purge apache2 apache2-utils apache2.2-bin apache2-common
  3. Finally, run sudo apt-get autoremove just in case any other cleanup in needed

You can do the following two tests to confirm apache has been removed:

  1. which apache2 - should return a blank line
  2. sudo service apache2 start - should return apache2: unrecognized service
share|improve this answer

A very simple and straight foward way that worked for me is as follows:

1. First, stop apache2
$ sudo service apache2 stop

2. Uninstall Apache2 and its dependent packages
$ sudo apt-get purge apache2 apache2-utils apache2.2-bin apache2-common

3. Also use autoremove option to get rid of other dependencies
$ sudo apt-get autoremove

4. Check whether there are any configuration files have not been removed
$ whereis apache2

If you get a response as follows apache2: /etc/apache2

5. Remove the directory and existing configuration files
$ sudo rm -rf /etc/apache2

Many thanks got out to D. Nanni.

share|improve this answer

First check if you are using right package name, IMO correct package name is : apache2.x-common

If you want to completely remove the package including config files then try:

    dpkg --purge apache2.2-common
share|improve this answer

simply delete file apache2 under /etc/init.d/apache2 .. but first you'll need to do this :

sudo service apache2 stop

sudo chown user /etc/init.d/apache2
sudo chmod 755 /etc/init.d/apache2
sudo rm /etc/init.d/apache2 

it's worth for me :)

share|improve this answer
Nope, this wont remove apache. – Braiam Feb 21 '14 at 4:42
Yeah don't do this, don't do this at all! – Urda May 9 '14 at 21:02
It does help at times when you have uninstalled it incorrectly – Birju Shah Mar 20 '15 at 14:16

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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