In this tutorial, we will show you how to install LEMP Server on Linux Mint 19. For those of you who didn’t know, LEMP stands for Linux, Nginx (pronounced engine X), MariaDB/MySQL, and PHP, all of which are open source. It is the most common software stack that powers dynamic websites and web applications. Linux is the operating system; Nginx is the webserver; MariaDB/MySQL is the database server and PHP is the server-side scripting language responsible for generating dynamic web pages.
This article assumes you have at least basic knowledge of Linux, know how to use the shell, and most importantly, you host your site on your own VPS. The installation is quite simple and assumes you are running in the root account, if not you may need to add ‘
sudo‘ to the commands to get root privileges. I will show you the step-by-step installation LEMP Server on a Linux Mint 19 (Tricia) server.
- A server running one of the following operating systems: Linux Mint 19 (Tricia).
- It’s recommended that you use a fresh OS install to prevent any potential issues.
- SSH access to the server (or just open Terminal if you’re on a desktop).
non-root sudo useror access to the
root user. We recommend acting as a
non-root sudo user, however, as you can harm your system if you’re not careful when acting as the root.
Install LEMP Server on Linux Mint 19
Step 1. Before running the tutorial below, it’s important to make sure your system is up to date by running the following
apt commands in the terminal:
sudo apt update
Step 2. Installing Nginx.
Nginx is already available in the default Linux mint repo, you will more easily install it with the right packaging system:
sudo apt install nginx
Once installed, start the Nginx by using the following command:
sudo systemctl start nginx
To verify Nginx setup, open your browser and browse to the server hostname or IP address and you should see the Nginx default test page as shown below:
Step 3. Installing MariaDB.
For this next step, you must install the MariaDB database server by typing in the following command:
sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8
Next, importing key add MariaDB repository:
sudo add-apt-repository 'deb [arch=amd64,arm64,ppc64el] http://ftp.utexas.edu/mariadb/repo/10.3/ubuntu bionic main'
Finally, let’s update package information from all configured sources:
sudo apt update sudo apt install mariadb-server
Let’s verify that we’ve correctly installed MariaDB. At your shell, type:
After installation, MariaDB will start automatically. To check the status type the following command:
sudo systemctl status mariadb
- Secure MariaDB from default settings.
By default, MariaDB is not hardened. You can secure MariaDB using the
mysql_secure_installation script. you should read and below each step carefully which will set a root password, remove anonymous users, disallow remote root login, and remove the test database and access to secure MariaDB:
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY! Enter current password for root (enter for none): OK, successfully used password, moving on... Set root password? [Y/n] y New password: Re-enter new password: Password updated successfully! Reloading privilege tables.. ... Success! Remove anonymous users? [Y/n] y ... Success! Disallow root login remotely? [Y/n] y ... Success! Remove test database and access to it? [Y/n] y - Dropping test database... ... Success! - Removing privileges on test database... ... Success! Reload privilege tables now? [Y/n] y ... Success! Cleaning up... Thanks for using MariaDB!
To log into MariaDB, use the following command (note that it’s the same command you would use to log into a MariaDB database):
mysql -u root -p
Also try to create a new database, user, and assign privileges to a database:
## CREATE DATABASE MariaDB [(none)]> CREATE DATABASE mydb; ## CREATE USER ACCOUNT MariaDB [(none)]> CREATE USER 'dbusers'@'localhost' IDENTIFIED BY 'your-secret-passwd'; ## GRANT PERMISSIONS ON DATABASE MariaDB [(none)]> GRANT ALL ON mydb.* TO 'dbusers'@'localhost'; ## RELOAD PRIVILEGES MariaDB [(none)]> FLUSH PRIVILEGES;
Then, restart the MariaDB database server and enable it to start on system start-up using:
sudo systemctl restart mariadb sudo systemctl enable mariadb
Step 4. Installing PHP.
We add an external PPA to install PHP 7.3. However, first, you have to install these required packages:
sudo add-apt-repository ppa:ondrej/php
Next, install PHP 7.3 and some of the most commonly used extensions:
sudo apt install php7.3 php7.3-cli php7.3-common php7.3-fpm php7.3-opcache php7.3-curl php7.3-mbstring php7.3-mysql php7.3-zip php7.3-xml
Once it is done, you need to restart the PHP processor by running the following command:
sudo systemctl restart php7.3-fpm
- Verify Install PHP version.
Once it is completed, you can ensure that the latest stable release of PHP 7.3 is installed on your system by using the command:
To test PHP, create a test file named info.php with the content below. Save the file, then browse to it to see if PHP is working:
<?php phpinfo(); ?>
Congratulations! You have successfully installed LEMP Stack. Thanks for using this tutorial for installing LEMP (Nginx, MariaDB, and PHP) in Linux Mint 19 Tricia systems. For additional help or useful information, we recommend you to check the official Nginx, MariaDB, and PHP websites.