A “LAMP” stack is a group of open-source software that is typically installed together to enable a server to host dynamic websites and web apps. This term is actually an acronym that represents the Linux operating system, with the Apache webserver. The site data is stored in a MySQL database, and dynamic content is processed by PHP. In this guide, we will install a LAMP stack on an Ubuntu 18.04 server.
I have chosen the VCCLHosting server as an example. You can choose any of the existing service providers like Digital- Ocean, Hostinger, etc..
In order to complete this tutorial, you will need to have an Ubuntu 18.04 server with a non-root
sudo-enabled user account and a basic firewall. This can be configured using our initial server setup guide for Ubuntu 18.04.
The Apache web server is among the most popular web servers in the world. It’s well-documented and has been in wide use for much of the history of the web, which makes it a great default choice for hosting a website.
Install Apache using Ubuntu’s package manager,
$ sudo apt update $ sudo apt install apache2
Since this is a
sudo command, these operations are executed with root privileges. It will ask you for your regular user’s password to verify your intentions.
Once you’ve entered your password,
apt will tell you which packages it plans to install and how much extra disk space they’ll take up. Press
Y and hit
ENTER to continue, and the installation will proceed.
Next, assuming that you have followed the initial server setup instructions and enabled the UFW firewall, make sure that your firewall allows HTTP and HTTPS traffic. You can check that UFW has an application profile for Apache like so:
$ sudo ufw app list Output Available applications: Apache Apache Full Apache Secure OpenSSH
If you look at the
Apache Full profile, it should show that it enables traffic to ports
$ sudo ufw app info "Apache Full" Output Profile: Apache Full Title: Web Server (HTTP,HTTPS) Description: Apache v2 is the next generation of the omnipresent Apache web server. Ports: 80,443/tcp
Allow incoming HTTP and HTTPS traffic for this profile:
$ sudo ufw allow in "Apache Full"
You can do a spot check right away to verify that everything went as planned by visiting your server’s public IP address in your web browser (see the note under the next heading to find out what your public IP address is if you do not have this information already):
You will see the default Ubuntu 18.04 Apache web page, which is there for informational and testing purposes. It should look something like this:
Now that you have your web server up and running, it is time to install MySQL. MySQL is a database management system. Basically, it will organize and provide access to databases where your site can store information.
apt to acquire and install this software:
$ sudo apt install mysql-server
Note: In this case, you do not have to run
sudo apt update prior to the command. This is because you recently ran it in the commands above to install Apache. The package index on your computer should already be up-to-date.