How to install Apache Web Server on Ubuntu 18.10

Apache is a free and open source web server that's used widely in Linux servers

Apache HTTP server is an immensely popular cross-platform web server that’s used worldwide. It is a free, open source, powerful and can run on UNIX/Linux as well as MS Windows platforms.

Notable features include the ability to allow the server to serve more concurrent requests due to Multi-Processing Module (MPM) and integrated proxy module support for the FastCGI protocol, asynchronous read and write handling, and major integration with different application/software, various modules etc. It also supports embedded Lua scripting. It’s not just a web server, it also works as a reverse proxy for other web servers.

Installing Apache Web Server on Ubuntu 18.10

Official Ubuntu software repositories come with Apache and its dependencies. Hence, it’s simpler to update the system’s package index and then use the APT package manager to install the Apache package and its dependencies.

Step 1) Launch Terminal and enter the following command to update the system.

sudo apt-get update

Step 2) Check available Apache version on Ubuntu repository

sudo apt-cache policy apache2

Check available Apache Version
Check available Apache Version

Step 3) Install apache2

sudo apt-get install apache2

Install Apache
Install Apache

Step 4) It will ask “do you want to continue”. Type Y.

Step 5) Normally Apache service should be started automatically. we can check apache status.

sudo systemctl status apache2.service


Starting and managing Apache Services

Apache services can be managed by using the following commands:

To start Apache2 service

sudo systemctl start apache2

To stop Apache2 Service

sudo systemctl stop apache2

To Restart Apache2 Service

sudo systemctl restart apache2

To Reload Apache2 service after configuration changes

sudo systemctl reload apache2

Enable Apache2 service start at boot

sudo systemctl enable apache2

Disable Apache2 on boot

sudo  systemctl disable apache2

Checking UFW Firewall

If you have the UFW firewall enabled, you need to open port 80 and 443. This is due to the fact that Apache web server gets client requests via HTTP and HTTPS. Check UFW status by entering the following command:

sudo systemctl status ufw.service

Checking UFW status
Checking UFW status

Now you can allow ports 80 and 443 as follows:

sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw  reload

Allowing Ports
Allowing Ports

By chance, if you see a message “Firewall not enabled (skipping reload)”  at the reload UFW command, edit “ufw.conf” file using VIM command as follows:

sudo  vim /etc/ufw/ufw.conf

Editing Conf
Editing Conf

Change ENABLED=no to ENABLED=yes
save and exit file using: wq

Here is how the final edited file will look like:

Edited Conf
Edited Conf

Now try to reload Firewall again. It should work without issue this time.

sudo ufw  reload

UFW Reload
UFW Reload

Checking the Apache installation

To check the Apache installation running status launch the browser using hostname/server IP address:



Using server Ip (Your server IP)

This is Apache default page and if you can see this it means your apache server is working well.

Apache2 default page
Apache2 default page

Additional Note:- Main directories of Apache can be classified as follows

Web DocumentRoot: /var/www/html/
Main config files directory: /etc/apache2/
Main config file: /etc/apache2/apache2.conf
Additional configuration : /etc/apache2/conf-available/ and /etc/apache2/conf-enabled/
Virtual hosts configuration : /etc/apache2/sites-available/ and /etc/apache2/sites-enabled/
Configuration  for loading modules: /etc/apache2/mods-available/ and /etc/apache2/mods-enabled/
Log files directory: /var/log/apache2/

Hope it worked well for you. Got any questions? Shoot below.

Hey! I'm Darshana, a Linux / DevOps Engineer and also a contributor to FOSS Linux. I enjoy working on various kind of Linux distributions and cloud technologies. During my free time, I love to swim and hike across nature trails. Linux is my love and I'm here to share all my learnings with all of you! Hope you enjoyed reading my article.


    • May be you are missing PHP library for Apache
      Try this according to your php Version
      1. apt-cache policy libapache2-mod-php*
      Then it will say installed or not and show available packages
      2 . apt-get install libapache2-mod-php7.2 (with your php version)


Please enter your comment!
Please enter your name here




best linux distros for laptops
Whether buying a Linux pre-installed laptop or selecting a Linux distro for your existing laptop, there are many things to consider. Let's take you through some of the best Linux distros that are optimized for Laptops in this 2019 edition of the article. Read on.
gamemode enable linux
GameMode is a combination of various libraries and daemons that allows all the users to improve the gaming performance on the Linux system. Developed by games publisher Feral Interactive, it improves gaming performance by requesting a group of options that will be applied temporarily to the Linux system.
essential linux commands
Last week, we shared with you several "cool and fun" commands to get comfortable and confident with the Linux command-line. In our quest to further aid Linux users with mastery of the command line, or CLI, we present you with a variety of command-line utilities essential for all Linux users, regardless of proficiency level.