329

I switched from SLES to Ubuntu and now I want to restart my local server. In SLES I used:

rcapache2 restart

but this seems not to work in Ubuntu.

How do I restart Apache?

Zanna
  • 72,312
Jai Puri
  • 4,089

13 Answers13

502

sudo service apache2 restart for the way that's borrowed from Red Hat.

Uri
  • 145
maco
  • 16,132
125

Do you want to restart Apache, or do you want to gracefully reload its configuration?

Everyone was answering the first question; you can do the second with

sudo service apache2 reload

Gracefully reloading is a bit faster, and there's no downtime.

There's one caveat: if your apache config files contain an error (e.g. configures a log file in a directory that doesn't exist), the server may silently exit without printing any error messages to the console. Most other errors are caught by the apache2ctl configtest that service apache2 reload runs before doing the actual reload with apache2ctl graceful.

29

The recommended way under Ubuntu to start/stop services (not just Apache) is to use the start/stop/reload commands (which really are symbolic links to the initctl program, part of upstart).

For services that use the legacy /etc/init.d scripts, the corresponding script will be called with the correct parameters; for services that use the upstart infrastructure, the appropriate event transition will be signaled to the upstart daemon via initctl.

So, to start/stop/reload/restart apache on Ubuntu, you can use:

sudo start apache2
sudo stop apache2
sudo reload apache2
sudo restart apache2
22
sudo /etc/init.d/apache2 restart

Of course you can swap out restart for stop, start and (I think) reload

Oli
  • 299,380
19

Ubuntu way:

  1. To restart:
    sudo service apache2 restart|stop|start 
    
  2. To stop:
    sudo service apache2 stop 
    
  3. To start:
    sudo service apache2 start 
    
Kulfy
  • 18,154
toe
  • 281
12

As Marius said graceful should be used either to restart:

sudo apache2ctl graceful

or

sudo apache2ctl graceful-stop

to stop Apache gracefully.

These commands wait until all requests for web pages have been served before restarting/stopping the web server so that your user's don't get half a web page.

kemra102
  • 2,986
5

You can use the systemctl command for apache service restarting; this controls the systemd system and service manager.

For Restarting Apache With systemctl Command:

sudo systemctl restart apache2.service

In case of being hung up or getting no response on restarting you can use the systemctl stop command to stop the service then start with the systemctl start command. Commands are as follows -

For Stopping Apache With systemctl Command:

sudo systemctl stop apache2.service

For Starting Apache With systemctl Command:

sudo systemctl start apache2.service

You can also use the reload command for only reloading the apache service.

For Reloading Apache With systemctl Command:

sudo systemctl reload apache2.service
mickmackusa
  • 852
  • 1
  • 10
  • 20
M.A.K. Ripon
  • 3,409
  • 3
  • 28
  • 36
4

First you check your status using this command

sudo service apache2 status

then stop the running service

sudo service apache2 stop

then use this command:

sudo /opt/lampp/lampp start

this solution has worked for me.

Byte Commander
  • 110,243
2

The best way to restart your Apache server is by using the following command:

$ sudo service apache2 restart

Alter You can use the below command:

$ sudo /etc/init.d/apache2 restart
2

you can use services for restarting Apache

service apache2 restart

and you can use all functionality for it (Stop - Start - Reload)

vipmaa
  • 121
2

if you are install Apache 2.4 version in your system, to start restart or stop your Apache server on your local system,then you should run following command

./apachectl start

or you can use restart, stop also as per your requirement. this is tested code

1
sudo systemctl restart apache2

systemctl - Control the systemd system and service manager.

systemctl may be used to introspect and control the state of the "systemd" system and service manager.

-1

if you are root: (In Ubuntu root is disabled, I think, than use 'sudo' command!)

$ /etc/init.d/apache stop
$ /etc/init.d/apache start
$ /etc/init.d/apache restart
$ /etc/init.d/apache reload 

(If you used a2ensite or a2dissite, you have to reload your apache configuration)

Rinzwind
  • 309,379