Installing Apache Web Server on Ubuntu: A Comprehensive Guide


Apache is one of the most widely used web servers in the world, known for its reliability, flexibility, and extensive module support. If you're running an Ubuntu server and want to set up Apache to host your websites or applications, this step-by-step guide will walk you through the installation process. By following these instructions, you'll have Apache up and running on your Ubuntu server in no time.

New to Apache Web Servers? Checkout the Difference between Apache & NGINX guide.

Step 1: Update System Packages

Before installing any software, it's important to update the system packages to the latest versions. Open a terminal on your Ubuntu server and run the following commands:

$ sudo apt update
$ sudo apt upgrade

Step 2: Install Apache

Apache is available in the default Ubuntu repositories, making the installation process straightforward. Run the following command to install Apache:

$ sudo apt install apache2

Step 3: Start and Enable Apache

After the installation is complete, start the Apache service using the following command:

$ sudo systemctl start apache2

Additionally, enable Apache to start automatically at boot time by running the following command:

$ sudo systemctl enable apache2

Step 4: Adjust Firewall Settings

By default, Ubuntu servers have UFW (Uncomplicated Firewall) installed. To allow incoming HTTP and HTTPS traffic to reach Apache, run the following commands:

$ sudo ufw allow 'Apache'
$ sudo ufw enable

Step 5: Verify Apache Installation

You can verify whether Apache is running correctly by opening a web browser and entering your server's IP address or domain name. If everything is configured properly, you should see the default Apache "It works!" page.

Step 6: Adjust Apache Configuration

Apache's main configuration file is located at /etc/apache2/apache2.conf. You can make adjustments to this file to customize Apache's behavior based on your requirements. Some common configuration options include virtual hosts, SSL settings, directory permissions, and access controls. It's recommended to take a backup of the original configuration file before making any changes.

Step 7: Manage Apache Services

Apache can be managed using the systemctl command. Some useful commands include:

  • sudo systemctl start apache2 - Start the Apache service

  • sudo systemctl stop apache2 - Stop the Apache service

  • sudo systemctl restart apache2 - Restart the Apache service

  • sudo systemctl reload apache2 - Reload Apache configuration without restarting the service


Installing Apache on Ubuntu is a straightforward process, and it provides a robust and feature-rich web server environment. By following the steps outlined in this guide, you can have Apache up and running on your Ubuntu server, ready to host your websites or applications. Customize its configuration to suit your needs, and take advantage of the vast ecosystem of modules and extensions available for Apache. Enjoy the power and flexibility of Apache as you deploy your web projects on Ubuntu.