Install the Latest Apache2 HTTP Server ( 2.4.34 ) on Ubuntu 16.04 | 17.10 | 18.04 LTS Servers

The Apache foundation has just announced latest release of Apache2 HTTP server for immediate download… The latest version (2.4.34) offers number of bug fixes and security patches…. and this brief tutorial shows students and new users how to install it on Ubuntu 16.04 / 17.10 and 18.04 LTS servers..

For more about this release, please check out its changelog page

Right now you won’t be able to get this latest Apache2 version in Ubuntu’s default repositories… In order to get it, you must add a third-party PPA which contains the latest packages..
Some of the changes added to this release are:

  • avoid possible race conditions with modules on the child pool
  • Fix a corner case where the ProxyPassReverseCookieDomain or
    ProxyPassReverseCookiePath directive could fail to update correctly
  • fix behavior when proxing content.

To install the latest and current version of Apache2 HTTP server on Ubuntu, continue below:

Step 1: Add Third-party PPA

In order to get the latest version of Ubuntu, you may need to add the PPA repository below… Run the commands below to add this PPA, then install Apache2 server…

sudo add-apt-repository ppa:ondrej/apache2
sudo apt update
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 sudo a2ensite

— Disable site  sudo a2dissite

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:

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.