Apache2 HTTP Server on Ubuntu 18.04 LTS Server

I recently installed Ubuntu 18.04 on my Windows 10 test machine via VMware Workstations Pro… I got Apache2 web server installed and here’s something you may want to know.

Apache2 version 2.4.29 comes with Ubuntu 18.04 by default. This means HTTP/2 is built-in by default. There should be no need to install third-party repositories in order to get HTTP/2 enabled with Apache2.

For those who want get test the latest version of Apache2 on Ubuntu 18.04, the steps below will show you how Apache2 is configured.

If you’re reading the post then you probably know a thing or two about Apache2 HTTP Server. If you don’t know, it is the most popular web server in use today. Majority of the websites and blogs you visit online are running on Apache2.

Step 1: Installing Apache2 server

It only takes a single command line to install Apache2. The difficult portion is configuring it to run properly.

To install Apache2 on Ubuntu, run the commands below.

sudo apt install apache2

Step 2: Managing Apache2 server

After installing Apache2, it might be better to know simple commands to manage the server. The lines below shows you how to stop, start, restart and reload Apache2 server.

— Stops the server:  sudo systemctl stop apache2.service

— Starts the server:  sudo systemctl start apache2.service

— Restarts the server:  sudo systemctl restart apache2.service

—  Reload config changes no stops:  sudo systemctl reload apache2.service

Step 3: Configuring Apache2 Server

Apache2.conf is the main configuration file. It puts the pieces together by including all remaining configuration files when starting up the web server.

When Apache2 is installed on Ubuntu, by default its document root directory is created at this location: /var/www/html

Any file you save in there ending in .html that is formatted properly with HTML syntax,  apache2 will be able to serve to web clients. It is the root directory for the server.. This is the location the server looks to serve .html/htm documents by default.

The majority of Apache2 configuration files are stored in /etc/apache2 directory. In this directory is where you’ll find server configuration settings, modules, environment controls and many of the different files that control Apache2 servers.

Two important locations that you’ll spend most of your time are /etc/apache2/sites-available and /etc/apache2/sites-enabled

The sites-available directory contains all the available sites. This is the location you create new website configuration file.. and sites-enabled directory contains all sites that are enabled. By default, sites are not enabled until you run a commands to enable them.

The first default available site that’s also enabled is /etc/apache2/sites-available/000-default.conf

This file contains the basic Apache2 test settings configurations. You can keep the default site configuration file or copy to create something new and work from there. Make sure to enable the new site though.

Steps 4: Enabling and Disabling Apache2 Sites

After you configure your sites, you must enable them before they become operational. The commands below show you how to enable and disable Apache2 sites.

— Enable site example.com sudo a2ensite example.com

— Disable site example.com  sudo a2dissite example.com

Other modules can be enabled and disabled as well. Modules are codes/programs that are used to enhance Apache2 functionality or enable new features.

— Enable a module:   sudo a2enmod  module_name

— Disballe a module:  sudo a2dismod  module_name

This is the basic to Apache2. In the future, we’ll discuss more advanced stuff.

Because Apache2 is installed and the default site enabled, if you open your web browser and browse to the computer name or IP address, you’ll see Apache2 default test page.


This page shows because of a single index.html file in Apache2 root directory.

You may also like the post below:

1 Comment

  1. https://tools.keycdn.com/http2-test
    HTTP2 is not enabled on my website. Although it is running Ubuntu 18.04 LTS. I upgraded from Ubuntu 16.04 LTS. Could you please help?

Leave a Reply

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

This site uses Akismet to reduce spam. Learn how your comment data is processed.