Install the Apache Web Server on Ubuntu 18.04, 12.04
Apache is a popular open-source, cross-platform web server that is, by the numbers, the most popular web server in existence. In this quickstart article, we'll see how to install Apache server on Ubuntu, Debain.
Table of Contents
Install Apache
Update your packages:
sudo apt update -yNow install Apache:
sudo apt install apache2 -yThen enable and start webserver:
# enable
sudo systemctl enable apache2
# start
sudo systemctl start apache2Adjust Firewall
First, check firewall is enabled or not:
sudo ufw status
# Status: active/inactiveIf status is "active", then allow apache to server traffic:
sudo ufw allow 'Apache'Check Webserver
Run this command to check website is running or not:
sudo systemctl status apache2If it is running, you'll see an output like:
● apache2.service - The Apache HTTP Server
Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
Drop-In: /lib/systemd/system/apache2.service.d
└─apache2-systemd.conf
Active: active (running) since Tue 2022-04-15 12:12:31 UTC; 7min ago
Main PID: 2583 (apache2)
Tasks: 55 (limit: 1153)
CGroup: /system.slice/apache2.service
├─2583 /usr/sbin/apache2 -k start
├─2585 /usr/sbin/apache2 -k start
└─2586 /usr/sbin/apache2 -k startNow you can access default Apache webpage by visiting your server IP:
http://server_ipAdd Virtual Host
In one server, we can host unlimited websites. It is called virtaul host/s. Let's add a domain:
Create the directory for your domain test.com:
sudo mkdir /var/www/test.comAssign ownership:
sudo chown -R $USER:$USER /var/www/test.comSet permissions:
sudo chmod -R 755 /var/www/test.comCreate a sample index.html page:
nano /var/www/test.com/index.htmlDemo content:
<html>
<head>
<title>Welcome to Test.com!</title>
</head>
<body>
<h1>Success! Welcome to Test.com!</h1>
</body>
</html>Now, create a new virtual host config file at location /etc/apache2/sites-available for domain test.com:
sudo nano /etc/apache2/sites-available/test.com.confAnd insert the follwing config block:
<VirtualHost *:80>
ServerAdmin [email protected]
ServerName test.com
ServerAlias test.com
DocumentRoot /var/www/test.com
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>Save and close the config file. Then enable your virtual host file:
sudo a2ensite test.com.confTest for configuration errors:
sudo apache2ctl configtest
# output
# Syntax OKDisable the default site (optional):
sudo a2dissite 000-default.confFinally restart Apache:
sudo systemctl restart apache2Now visit your domain http://test.com.
That's all. Thanks for reading. 👍
Md Obydullah
Software Engineer | Ethical Hacker & Cybersecurity...
Md Obydullah is a software engineer and full stack developer specialist at Laravel, Django, Vue.js, Node.js, Android, Linux Server, and Ethichal Hacking.