Find out how to Set up LEMP Stack with PhpMyAdmin in Ubuntu 20.04

For these of you who don’t know what LEMP is – it is a mixture of software program packages – Linux, Nginx (pronounced EngineX), MariaDB and PHP.

You should utilize LEMP for each testing functions or in an actual manufacturing atmosphere to deploy internet purposes utilizing PHP frameworks reminiscent of Laravel or Yii, or content material administration techniques reminiscent of WordPress, Drupal, or Joomla

You could surprise what’s the distinction between LAMP and LEMP. Effectively, the one distinction is the online server that’s included – Apache (in LAMP) and Nginx (in LEMP). Each internet servers are fairly good and whereas Apache is probably the most steadily used one, Nginx doesn’t again down in any method.

One other widely-used software usually put in alongside the LEMP stack is PhpMyAdmin – is a PHP web-based software for administering a MySQL/MariaDB database server from an internet browser.

In the event you on the lookout for a LAMP setup on your Ubuntu 20.04, then you must learn our LAMP setup information on Ubuntu 20.04.


  1. Ubuntu 20.04 Server Set up Information

On this article, you’ll learn to set up and configure the LEMP stack with PhpMyAdmin in Ubuntu 20.04 server.

Step 1: Putting in Nginx on Ubuntu 20.04

1. Nginx is a quick fashionable internet server designed to server many concurrent connections with out consuming too many server assets. Because of this it’s usually the popular selection in enterprise environments.

NGINX can be generally used as a load balancer and internet content material cache. It helps Identify-based and IP-based digital servers (analogous to digital hosts in Apache).

You may set up Nginx in your Ubuntu 20.04 desktop or server by working the next command.

$ sudo apt replace
$ sudo apt set up nginx

Install Nginx on Ubuntu 20.04

Set up Nginx on Ubuntu 20.04

The Nginx configuration information are saved underneath the /and so on/nginx listing and its predominant configuration file is /and so on/nginx/nginx.conf. Importantly, its default doc root for storing your internet information is /usr/share/nginx/html/. However you need to use the usual /var/www/html which ought to be configured in your web site’s or software’s server block configuration file.

2. The Ubuntu bundle installer triggers systemd to start out the Nginx service and allow it to mechanically begin each time the server is rebooted. Use the next systemctl instructions to substantiate that the service is working and is enabled.

$ sudo systemctl standing nginx
$ sudo systemctl is-enabled nginx

Check Nginx Service Status

Verify Nginx Service Standing

3. Now it’s time to verify if the Nginx set up was profitable by calling the Nginx web page through browser utilizing server IP Deal with.


In the event you don’t know your server IP handle, you’ll find utilizing IP command as proven.

$ ip addr present

The NGINX default internet web page ought to load as proven within the following screenshot, confirming right set up and operation.

Test Nginx Installation

Take a look at Nginx Set up

Step 2: Putting in MariaDB Database on Ubuntu 20.04

4. MariaDB is a comparatively new relational database administration system that was designed as a neighborhood fork of MySQL after it’s Oracle acquisition.

The set up of MariaDB is straightforward and will be began with command as:

$ sudo apt set up mariadb-server mariadb-client

Install MariaDB on Ubuntu 20.04

Set up MariaDB on Ubuntu 20.04

5. The MariaDB service can be mechanically began and enabled to all the time begin at system boot and you’ll affirm this utilizing the next instructions.

$ sudo systemctl standing mariadb
$ sudo systemctl is-enabled mariadb

Check MariaDB Service

Verify MariaDB Service

6. In the event you want to enhance the MariaDB safety, you possibly can run the mysql_secure_installation command, which can present some fundamental, but necessary choices to configure:

$ sudo mysql_secure_installation

Then select the choice to set the database root (or administrator) person’s password and observe the prompts and punctiliously learn the questions. To safe your database server, reply the questions as proven within the screenshot.

  • Enter present password for root (enter for none): Enter
  • Set a root password? [Y/n] y
  • Take away nameless customers? [Y/n] y
  • Disallow root login remotely? [Y/n] y
  • Take away take a look at database and entry to it? [Y/n] y
  • Reload privilege tables now? [Y/n] y

Secure MariaDB Server

Safe MariaDB Server

7. To create, handle, and carry out database operations, it is advisable mysql shell command with the -u flag to specify the database username and -p to supply the person’s password.

To attach as the basis person, use the sudo command (even with out the -p flag) in any other case you’ll obtain the error highlighted within the following screenshot.

$ mysql -u root -p
$ sudo mysql -u root

Access MariaDB Shell

Entry MariaDB Shell

Step 3: Putting in PHP in Ubuntu 20.04

8. PHP is a well-liked open-source, versatile, and dynamic scripting language for constructing web sites and internet purposes. It helps quite a lot of programming strategies. Importantly, the PHP neighborhood is giant and various, composed of numerous libraries, frameworks, and different helpful parts.

NGINX makes use of FPM (FastCGI Course of Supervisor) or PHP-FPM, to course of PHP scripts. PHP-FPM is a widely-used various PHP FastCGI implementation that ships with many further options and it’s used for powering high-traffic websites/internet purposes.

To put in PHP and PHP-FPM, run the next command which will even set up some required further packages.

$ sudo apt set up php php-mysql php-fpm

Install PHP and PHP-FPM on Ubuntu 20.04

Set up PHP and PHP-FPM on Ubuntu 20.04

Since PHP 7.Four is the default model of PHP in Ubuntu 20.04, the PHP configuration information are situated in /and so on/php/7.4/ and the PHP-FPM configuration information are saved underneath /and so on/php/7.4/fpm.

9. Subsequent, verify if the php7.4-fpm service is up and working and whether or not it’s enabled with the next command.

$ sudo systemctl standing php7.4-fpm
$ sudo systemctl is-enabled php7.4-fpm

Check PHP-FPM Status

Verify PHP-FPM Standing

Step 4: Configuring Nginx to work with PHP-FPM

10. Now it is advisable configure NGINX to proxy shopper requests to PHP-FPM, which by default is configured to hear on a UNIX socket as outlined by the hear parameter within the /and so on/php/7.4/fpm/pool.d/www.conf default pool configuration file.

$ sudo vi /and so on/php/7.4/fpm/pool.d/www.conf

Configure PHP-FPM Socket

Configure PHP-FPM Socket

11. Within the default server block configuration file (/and so on/nginx/sites-available/default), uncomment the situation directive for processing PHP requests to appear to be the one proven within the following screenshot.

$ sudo vi /and so on/nginx/sites-available/default

Configure Nginx Block to Use PHP-FPM Socket

Configure Nginx Block to Use PHP-FPM Socket

Save the file and exit.

12. Then take a look at the NGINX configuration syntax for correctness. Whether it is OK, restart the Nginx service to use the brand new modifications.

$ sudo nginx -t
$ sudo systemctl restart nginx

Check Nginx Configuration

Verify Nginx Configuration

13. Now take a look at if NGINX can work together with PHP-FPM to course of PHP requests. Create a easy data.php web page underneath the doc root listing.

$ echo “<?php phpinfo(); ?>” | sudo tee /var/www/html/data.php

14. In your browser, navigate utilizing the next handle. The PHP configuration web page ought to load exhibiting as proven within the following screenshot.


Check PHP and PHP-FPM Info

Verify PHP and PHP-FPM Information

Step 5: Putting in PhpMyAdmin in Ubuntu 20.04

15. PhpMyAdmin is a free and open-source web-based PHP software particularly created for administering MySQL/MariaDB database servers by an internet browser. It offers an intuitive graphical interface and helps a variety of widespread options for database administration duties.

$ sudo apt set up phpmyadmin

Install PhpMyAdmin in Ubuntu 20.04

Set up PhpMyAdmin in Ubuntu 20.04

16. Through the bundle set up, you’ll be requested to configure a number of points of the PhpMyAdmin bundle. First, can be prompted to decide on the default internet server for working it. Press Esc as a result of NGINX is just not on the record offered.

Choose Web Server to Configure PHPMyAdmin

Select Net Server to Configure PHPMyAdmin

17. Subsequent, PhpMyAdmin requires a database to work with. On this bundle configuration immediate, select Sure to configure a database for PhpMyAdmin with the dbconfig-common bundle.

Configure Database for PhpMyAdmin

Configure Database for PhpMyAdmin

18. Within the subsequent immediate, it is advisable present a password for PhpMyAdmin to register with the MariaDB database. Enter a safe password and click on Enter.

Create a Password for PhpMyAdmin

Create a Password for PhpMyAdmin

Step 6: Configuring NGINX to Serve PhpMyAdmin Web site

19. To allow NGINX to serve the PhpMyAdmin web site situated at /usr/share/phpmyadmin, create a symlink for this listing underneath the doc root, then set the proper permissions and possession on the PHPMyAdmin listing as follows.

$ sudo ln -s /usr/share/phpmyadmin /var/www/html/phpmyadmin
$ sudo chmod 775 -R /usr/share/phpmyadmin/
$ sudo chown root:www-data -R /usr/share/phpmyadmin/

20. Moreover, be certain that the index directive within the default server block configuration (/and so on/nginx/sites-available/default) file contains index.php as proven within the following screenshot.

Configure Nginx Index Directive

Configure Nginx Index Directive

21. Subsequent, restart the Nginx service as soon as extra to use the above modifications.

$ sudo systemctl restart nginx

22. Now entry the PhpMyAdmin web site from a browser utilizing the next handle.


On the login web page, authenticate with the PHPMyAdmin username and password. Keep in mind the distant root person login is disabled except you might be accessing PHPMyAdmin on the localhost the place the MariaDB database is put in, the basis entry is not going to work.

PhpMyAdmin Login

PhpMyAdmin Login

PhpMyAdmin Dashboard

PhpMyAdmin Dashboard

Final however not least, safe your PhpMyAdmin set up utilizing our information: Four Helpful Tricks to Safe PhpMyAdmin Net Interface.


Your LEMP setup is now full and you can begin constructing your internet purposes or just play with the Nginx and MariaDB companies you simply put in. These are extensively used and gaining extra information in them is very really useful for system directors.


Germany Devoted Server

Leave a Reply