How to Install Apache on Ubuntu 18.04 Server

In this guide, we will install the Apache web server on Ubuntu 18.04 bionic beaver. We will also look at how to configure virtual hosts, a feature which allows us to server multiple websites from a single server.

To install Apache web server, we simply install the apache2 package:

sudo apt-get update
sudo apt-get install apache2

When you are asked if you want install apache and all of its dependencies, answer yes by typing y and press enter.

After the installation is complete, run the status command to check server status:

sudo systemctl status apache2

If everything is alright, you should see the apache2 status as active (running).

The Apache server on Ubuntu 18 should start automatically after the installation. for some reason, if apache2 service is not running, you can enable it and start with following two commands:

sudo systemctl enable apache2
sudo systemctl start apache2

The /etc/apache2/apache2.conf is the main configuration file of the Ubuntu apache2 server. The default document root is the /var/www/html directory (you can now serve your static web site from this directory).

You can also open a browser on a remote computer and point it to the Ubuntu server IP address. You should see the Apache2 Ubuntu Default Page.

How to Install Apache on Ubuntu 18.04 Server

Note that you need to add firewall rule to open http port 80 if have enabled the UFW firewall.

sudo ufw allow 80/tcp

Create Apache VirtualHost on Ubuntu Web Server

One of the most important feature provided by Apache is to host multiple web sites on the same server. A virtual host is a complete standalone website with its own domain name and DocumentRoot.

In this section, I will demonstrate how to create a virtual host for the domain name and hosted it under the /var/www/ directory.

First, create the DocumentRoot of the web site:

sudo mkdir /var/www/

Next, create the virtual host configuration file under the /etc/apache2/sites-available directory with ".conf" extension (, for example).

sudo vim /etc/apache2/sites-available/

Add following configuration to the

<VirtualHost *:80>
    DocumentRoot /var/www/
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined

Save the file and enable the new Virtual Host with a2ensite command:

sudo a2ensite

Finally, reload Apache server:

sudo systemctl reload apache2

That is all we have to do, now our Apache web server on Ubuntu 18.04 ready to server domain.


In this tutorial, we walked through how to install Apache on Ubuntu server 18.04. The Apache web server for Ubuntu 18 is provided by the apache2 package which is available from the package repository.

Then, we walked through the process of how to setup a Apache Virtual Host on Ubuntu for the domain name

Next: How to Install PHP in Ubuntu 18.04.