Apache service can be managed using the main binary. Available options for the binary include starting, restart, and stopping the service. However, different distributions might use different binary names – Ubuntu uses apache2 while Red Hat uses httpd – which could get confusing.

Linux and other Unix-based operating systems have been using scripts and tools to manage services running on their platform. System V. Init scripts was the most prominent while slowly being replaced by systemd. There are also some other tools though they are not as widely used.

Apache can and is also managed by both System V. Init scripts and systemd. In systems that use systemd, System V. Init scripts are still available for compatibility reasona. There is also service command that you can use on Red Hat-based operating systems.

Method Command
System V. Init scripts /etc/init.d/httpd [start|restart|stop|status]
Systemd systemctl [start|restart|stop|status] httpd
service command service httpd [start|restart|stop|status]
Apache binary apachectl [start|restart|stop|status]

Different platform might use different binary/script names such as apache, apache2, apachectl or apache2ctl instead of httpd in the above example.
Related: Apache binary name for different distribution

Steps to start, restart and stop Apache service from command line:

Below are example commands to manage Apache service on Ubuntu from the terminal.

  1. Stop Apache service using Apache binary.

    $ sudo apache2ctl stop AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message

  2. Start Apache service using System V. Init scripts.

    $ sudo /etc/init.d/apache2 start [ ok ] Starting apache2 (via systemctl): apache2.service.

  3. Restart Apache service using systemd.

    $ sudo systemctl restart apache2

  4. View Apache running status using systemd.

    $ sudo systemctl status apache2 ● apache2.service - The Apache HTTP Server    Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset:    Active: active (running) since Mon 2020-01-06 05:26:10 UTC; 14s ago      Docs: https://httpd.apache.org/docs/2.4/   Process: 1846 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCE  Main PID: 1874 (apache2)     Tasks: 55 (limit: 4591)    Memory: 5.7M    CGroup: /system.slice/apache2.service            ├─1874 /usr/sbin/apache2 -k start            ├─1875 /usr/sbin/apache2 -k start            └─1876 /usr/sbin/apache2 -k start  Jan 06 05:26:10 host systemd[1]: Starting The Apache HTTP Server... Jan 06 05:26:10 host apachectl[1846]: AH00558: apache2: Could not reliably deter Jan 06 05:26:10 host systemd[1]: Started The Apache HTTP Server.