How to install apache on ubuntu ?

The Apache HTTP server is the most widely-used web server in the world. It is having vast features at control level. You will see all features with time

Let us go step by step on  how to install an Apache on Ubuntu  20.04 server.

Step 1 : We should have the root credentials for server .

Step 2 : Create the new user with below command as we should not login from root credential

adduser <username>

This will add user and will ask for password . Set a strong password for user

Some information is not mandatory here so you can skip that by pressing enter only

Step 3 : Grant Admin Previleges

Add user to sudo group by below command

usermod -aG sudo <username>

Now <username> has right to perform all admin activities but with sudo keyword

Step 4 : Firewall Setting

Ubuntu UFW firewall just allow few services to run

Step 5 : run below command to see available applications

ufw app list

Step 6 : allow ssh connection so that user can log back

ufw allow OpenSSH

Output will be

Rules Updated

Rules Updated ( V6)

Step 7 : Enable the firewall

ufw enable

Now firewall is allowing only SSH connections. So whenever we are going to install any additional service then we need to set firewall setting.

Step 8  check the firewall Status

ufw status

Step 9 : just check user access on new terminal by running following command

ssh <username>@serverip

step 10 : just check the latest package index by below command

sudo apt update

Step 11 : Apache is available in ubutu repository so by below command we can install apache on ubuntu server

sudo apt install apache2

Accept the installation and Apache will be installed with all dependencies

Step 12 : We need to set some firewall settings so that public user can access the port .

Fetch the list of UFW application by below command

sudo ufw app list

In my case i got below list

Available applications:
  Apache Full
  Apache Secure

As indicated by the output, there are three profiles available for Apache:

  • Apache: This profile opens only port 80 (normal, unencrypted web traffic)
  • Apache Full: This profile opens both port 80 (normal, unencrypted web traffic) and port 443 (TLS/SSL encrypted traffic)
  • Apache Secure: This profile opens only port 443 (TLS/SSL encrypted traffic)

Step 13 : So we need to enable most safe and restrictive profile. So lets do this by below command

sudo ufw allow ‘Apache’

Step 14 : Lets verify the change

sudo ufw status

Here in output you can see we have anywhere access of apache and apache(v6)

Step 15: Lets test the apache web server

sudo systemctl status apache2

Step 16. Lets see some basic command on apache

How to stop apache process

sudo systemctl stop apache2

How to start apache process

sudo systemctl start apache2

How to restart apache process

sudo systemctl restart apache2

In case of activation of only config changes you may need to reload apache so that connection should not drop

sudo systemctl reload apache2

By Default Apache services started automatically on reboot but if you want to disable it

sudo systemctl disable apache2

To enable apache service on startup

sudo systemctl enable apache2


* The Content stated above is for informational purpose only. Expert Software Team is not responsible if any part of content found meaningless in any manner or condition.