Open In App

How to Install Apache Web Server in Linux: Ubuntu, Fedora, RHEL?

Last Updated : 25 Feb, 2025
Comments
Improve
Suggest changes
Like Article
Like
Report

If you're looking to install Apache on Linux, this guide will walk you through the steps required for different distributions, including Ubuntu, Fedora, and RHEL. The Apache web server is a popular choice for hosting websites and applications, known for its reliability and flexibility. Whether you're new to how to install an Apache server or need specific instructions for Apache installation on Fedora or RHEL, we have you covered with step-by-step instructions for each platform.

How to Install Apache Web Server

Step 1: Check your Linux distribution

Use the following command to check which Linux distribution you are using.

Command: grep -E '^(VERSION|NAME)=' /etc/os-release
image_2024-02-28_225406517
Checking Linux distribution (Fedora)

Step 2: Update Your System

1. On Ubuntu/Debian-based systems:

Command: sudo apt update && sudo apt upgrade

2. On Fedora-based systems:

Command: sudo dnf update -y

3. On RHEL-based systems:

Command: sudo yum update -y
image_2024-02-28_225516436
Updating system (fedora)

Step 3: Install Apache Web Server

1. On Ubuntu/Debian-based systems:

Command: sudo apt install apache2 -y

2. On Fedora-based systems:

Command: sudo dnf install httpd -y

3. On RHEL-based systems:

Command: sudo yum install httpd -y
installing_httpd
Installing Apache web server

Step 4: Enable the Services in Apache Web Server

1. On Ubuntu/Debian-based systems:

Command: sudo systemctl enable apache2

2. On Fedora-based systems:

Command: sudo systemctl enable httpd.service

3. On RHEL-based systems:

Command: sudo systemctl enable httpd.service
image_2024-02-28_234526618
Starting services for the Apache Web Server

Step 5: Test the Server by Hosting a Simple Website

First, we will create a directory for our test website using the following command.

Command: sudo mkdir /var/www/html/test_website/

Now we will add index.html for our test website along with some testing code using the following command.

Command: echo '<html><head><title>Example</title></head><body><h1>GFG</h1><p>This is a test.</p></body></html>' | sudo tee /var/www/html/test_website/index.html

Now we will add the configuration file using the following command

Command: 
sudo echo '<VirtualHost *:80>
ServerName web.testingserver.com
DocumentRoot /var/www/html/website
DirectoryIndex index.html
ErrorLog /var/log/httpd/example.com_error.log
CustomLog /var/log/httpd/example.com_requests.log combined
</VirtualHost>' > /etc/httpd/conf.d/web.conf

Once we create the required config file and test the website, we will need to own the Apache website directory for permissions.
We will use the chown and chmod commands as follows

Command: 
sudo chown -R apache:apache /var/www/html/test_website
sudo chmod -R 755 /var/www/html/test_website

Now you can see the locally hosted website on your localhost.

image_2024-02-28_232700244
Testing the website on the local server

If the above-mentioned steps are performed correctly, Apache Web Server will run successfully! However, If it doesn't work, then you can uninstall Apache Web Server and start the installation again.

How to Uninstall Apache Web Server?

1. On Ubuntu/Debian-based systems

Command: sudo apt remove apache2

2. On Fedora-based systems

Command: sudo dnf remove httpd

3. On RHEL-based systems

Command: sudo yum remove httpd
uninstalling_apache
Uninstalling Apache Server

Hence we have successfully uninstalled Apache Web Server in Linux!

Conclusion

Installing the Apache Web Server on Linux systems like Ubuntu, Fedora, and RHEL is an easy task if you adhere to the proper procedures. After installing Apache, you can utilize its robust capabilities to efficiently host and control your websites. It's essential to perform routine upkeep and updates to maintain the security and efficiency of your Apache server. This article equips you with the necessary understanding to install and configure Apache on your Linux machine, making it simpler to deploy and manage web applications.

Also Read:


Article Tags :

Similar Reads