LAMP Stack is a group of very popular open-source software, that when used together enable us to host dynamic websites and web apps. LAMP is actually an acronym that stands for:
Linux – in this case, it is our Ubuntu 18.04 machine
Apache – the most popular web server, that will serve content to our visitors
MySQL/MariaDB – one of the most popular database management systems which will allow to manage and store our data in databases
PHP – the popular and powerful server scripting language that will dynamically process our pages
In this tutorial we’ll install LAMP Stack on an Ubuntu 18.04 machine.
Update your package index to make sure we have access to the latest software releases:
$ sudo apt update
Step 1 – Install Apache
$ sudo apt install apache2
After you run the command,
aptwill show you what packages it will install, how much disk space it they’ll take up, and ask you to confirm. To proceed, type
With Apache2 is installed, you can use the following commands to
enable the Apache2 service to always start up when the server boots.
sudo systemctl stop apache2.service
sudo systemctl start apache2.service
sudo systemctl enable apache2.service
You can also check if Apache is up and running on your machine by visiting your server’s IP address in your browser ( example:
You should be seeing Apache’s default page on Ubuntu:
Step 2 – Install MySQL/MariaDB
$ sudo apt install mysql-server
You can opt to install MariaDB instead of MySQL, and after you can follow the same instructions as you would with MySQL.
$ sudo apt install mariadb-server
After running the command to install MySQL or MariaDB,
aptwill show you again what packages it will need to install, how much disk space they’ll take up, and ask you to confirm. Type
Enterto confirm and continue with the installation.
MySQL comes with a script that helps in securing the installation by removing some dangerous defaults. To start the script, run the following command:
$ sudo mysql_secure_installation
First, it will ask you if you’d like to enable
VALIDATE PASSWORD PLUGIN.
If you enable this, then depending on the type of validation you choose (
STRONG), MySQL will return errors if your password does not meet the specified criteria for the policy you’ve chosen. This may conflict with other software packages, so it is up to you to decide. In our tutorial, we will choose
1. We recommend you choose what level of complexity you prefer between
There are three levels of password validation policy:
LOW Length >= 8
MEDIUM Length >= 8, numeric, mixed case, and special characters
STRONG Length >= 8, numeric, mixed case, special characters and dictionary file
Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG: 1
Please set the password for root here.
New password: Enter password
Re-enter new password: Repeat password
You’ll also be prompted to answer some questions to remove/keep some defaults. We recommend you answer them as follows:
Remove anonymous users? [Y/n]: Y
Disallow root login remotely? [Y/n]: Y
Remove test database and access to it? [Y/n]: Y
Reload privilege tables now? [Y/n]: Y
To make sure MySQL is properly installed, let’s test it out by running the following command, and entering the password you just created at the prompt:
$ sudo mysql -u root -p
To exit just run:
Step 3 – Install PHP
Ubuntu 18.04 comes with the latest PHP installed, which is version 7.2. You can install PHP, the Apache PHP module, and a few other PHP related modules by running the following commands:
$ sudo apt install php libapache2-mod-php php-common php-mbstring php-xmlrpc php-soap php-gd php-xml php-intl php-mysql php-cli php-zip php-curl
Test the PHP version:
Now that all the PHP packages are installed, restart Apache to make sure the changes are implemented:
$ sudo systemctl restart apache2
To check that PHP is up and running with Apache, you can create a simple PHP file in the Apache2 root directory, which is
To create this file run the following commands:
$ sudo nano /var/www/html/phpinfo.php
And add the following line to the file:
<?php phpinfo(); ?>
Save the file and exit the editor when you’re finished.
http://your_ip/phpinfo.php, and you should see the default PHP test page:
Congratulations. If everything went well then you’ve successfully installed LAMP Stack on your Ubuntu 18.04 machine.
If you’re ready to host your app and need a high performance budget server, then check out our Linux KVM VPS. They start at 2GB RAM & 10GB SSD at only $5.99/mo.