How to Check the Apache Status on an Ubuntu Server

How to Check Apache Status on Ubuntu

Apache is one of the most widely used web servers in the world. It’s crucial for webmasters and website administrators to monitor the status and health of their Apache servers to ensure optimal performance and uptime.

In this guide, we’ll walk you through the steps to check the status of your Apache server on an Ubuntu system. By the end of this tutorial, you’ll have a clear understanding of various methods to monitor your server’s health and performance.

Step 1: Ensure Apache is Installed

Before checking the status, make sure Apache is installed on your Ubuntu server.

sudo apt update
sudo apt install apache2

Step 2: Use the Systemctl Command

The systemctl command is a utility for initializing and managing system processes. To check the status of Apache:

sudo systemctl status apache2

This command will display the current status of the Apache service, whether it’s active, inactive, or failed.

For example:

root@geeks:~# sudo systemctl status apache2
● apache2.service - The Apache HTTP Server
   Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
  Drop-In: /lib/systemd/system/apache2.service.d
   Active: active (running) since Thu 2023-10-12 08:58:05 UTC; 4 days ago
  Process: 17393 ExecReload=/usr/sbin/apachectl graceful (code=exited, status=0/SUCCESS)
  Process: 1150 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS)
 Main PID: 1205 (apache2)
    Tasks: 11 (limit: 4915)
   CGroup: /system.slice/apache2.service
           ├─  975 /usr/sbin/apache2 -k start
           ├─ 1205 /usr/sbin/apache2 -k start
           ├─ 5942 /usr/sbin/apache2 -k start
           ├─11737 /usr/sbin/apache2 -k start
           ├─14493 /usr/sbin/apache2 -k start
           ├─14599 /usr/sbin/apache2 -k start
           ├─15387 /usr/sbin/apache2 -k start
           ├─17421 /usr/sbin/apache2 -k start
           ├─21345 /usr/sbin/apache2 -k start
           ├─21350 /usr/sbin/apache2 -k start
           └─22575 /usr/sbin/apache2 -k start

Step 3: Access Apache’s mod_status

Apache’s mod_status provides a web-based interface to monitor server performance and configuration.

See also  How to Uninstall Nginx on Ubuntu

First, enable the mod_status module:

sudo a2enmod status

Modify the Apache configuration to allow access to the status page. Open the configuration file:

sudo nano /etc/apache2/mods-enabled/status.conf

Update the Allow directive to either your IP or allow access from all:

Allow from all

Restart Apache to apply changes:

sudo systemctl restart apache2

Access the status page by navigating to:


Step 4: Monitor Apache Logs

Apache logs can provide insights into server operations, errors, and access patterns.

Access the error log:

sudo tail -f /var/log/apache2/error.log

Access the access log:

sudo tail -f /var/log/apache2/access.log

Step 5: Use the Apachetop Tool

Apachetop is a real-time monitoring tool for Apache.

Install apachetop:

sudo apt install apachetop

Run apachetop:

sudo apachetop -f /var/log/apache2/access.log

Commands Mentioned

  • sudo apt install apache2 – Installs Apache on Ubuntu.
  • sudo systemctl status apache2 – Checks the status of Apache.
  • sudo a2enmod status – Enables the mod_status module.
  • sudo nano /etc/apache2/mods-enabled/status.conf – Opens the status configuration file.
  • sudo systemctl restart apache2 – Restarts the Apache service.
  • sudo tail -f /var/log/apache2/error.log – Monitors the Apache error log.
  • sudo tail -f /var/log/apache2/access.log – Monitors the Apache access log.
  • sudo apt install apachetop – Installs the apachetop tool.
  • sudo apachetop -f /var/log/apache2/access.log – Runs apachetop to monitor Apache in real-time.
See also  How to Uninstall RabbitMQ on Ubuntu


  1. What is the primary purpose of the Apache mod_status module?

    The Apache mod_status module provides a web interface for monitoring server status and performance. It offers insights into operational performance, worker processes, and server metrics.

  2. How often should I monitor my Apache server?

    Regular monitoring is essential for optimal server performance. It’s advisable to check server status daily and after any significant changes or updates. Automated monitoring tools can provide real-time alerts for any issues.

  3. Why is my Apache server not starting?

    Several reasons can prevent Apache from starting, including configuration errors, port conflicts, or missing modules. Checking the Apache error log can provide specific details about the cause of the issue.

  4. How can I optimize my Apache server for better performance?

    Optimizing Apache involves adjusting configuration settings, enabling necessary modules, optimizing databases, and ensuring server resources are adequate. Regular monitoring and updates are also crucial for maintaining performance.

  5. What’s the difference between Apache and Nginx?

    Apache and Nginx are both popular web servers, but they handle requests differently. Apache uses a process-driven approach, spawning new processes for each request, while Nginx uses an event-driven architecture, handling multiple requests within a single thread. This fundamental difference makes Nginx more efficient in handling a large number of simultaneous connections. However, Apache offers a wide range of modules and is known for its flexibility and power. Choosing between them often depends on the specific needs of a project and the expected traffic patterns.

See also  How to Install and Configure NTP Server on Ubuntu 14.04


Monitoring the status and health of your Apache server on an Ubuntu system is crucial for ensuring optimal performance, security, and uptime. By following the steps outlined in this guide, webmasters and website administrators can effectively keep an eye on their server’s operations, troubleshoot issues, and make informed decisions about server maintenance and optimization.

Remember, a well-maintained server not only ensures a smooth user experience but also plays a pivotal role in SEO and site rankings. If you’re exploring other hosting solutions, consider the differences between dedicated server hosting, VPS hosting, cloud hosting, and shared hosting to determine the best fit for your needs.


Leave a Reply

Your email address will not be published. Required fields are marked *