Methods to Set up phpMyAdmin with Nginx on Ubuntu 18.04

phpMyAdmin is an open supply PHP primarily based device for managing MySQL and MariaDB servers over a web-based interface.

phpMyAdmin means that you can work together with MySQL databases, handle consumer accounts and privileges, execute SQL-statements, import and export information in a wide range of information codecs and way more.

This tutorial describes learn how to set up phpMyAdmin with Nginx on Ubuntu 18.04.


Guarantee that you’ve got met the next stipulations earlier than persevering with with this tutorial:

Though not mandatory, it’s extremely beneficial to entry your phpMyAdmin occasion over HTTPS. In the event you don’t have SSL enabled in your websites, test our article about learn how to safe your Nginx with Let’s Encrypt on Ubuntu 18.04.

Putting in phpMyAdmin on Ubuntu

Putting in phpMyAdmin is a reasonably easy activity. Begin by updating the packages checklist:

Subsequent, run the next command to put in the phpMyAdmin bundle from the default Ubuntu repositories:

sudo apt set up phpmyadmin

Be sure to have Nginx and PHP FPM put in in your system earlier than putting in phpMyAdmin.

The installer will ask you select the online server that must be robotically configured to run phpMyAdmin. There isn’t a choice to decide on Nginx, press TAB to pick OK after which Enter. We’ll configure Nginx within the subsequent part.

Subsequent, the installer will ask you whether or not you need to use dbconfig-common device to arrange the database. Choose Sure and hit Enter.

Enter a password for phpMyAdmin to register with the database, choose OK and press Enter.

You can be prompted to verify the password, enter the identical password, choose OK and press Enter.

At this level phpMyAdmin has been put in in your Ubuntu server.

Create an Administrative MySQL Person

In Ubuntu programs working MySQL 5.7 (and later), the foundation consumer is about to make use of the auth_socket authentication methodology by default.

The auth_socket plugin authenticates customers that join from the localhost by the Unix socket file. This implies that you could’t authenticate as a root by offering a password.

As a substitute of fixing the authentication methodology for the MySQL consumer root, we’ll create a brand new administrative MySQL consumer. This consumer may have the identical privileges as the foundation consumer and can be set to make use of the mysql_native_password authentication methodology.

We’ll use this consumer to login to the phpMyAdmin dashboard and preform administrative duties on our MySQL server.

Begin by log in to the MySQL server as the foundation consumer:

From throughout the MySQL shell execute the next instructions which can create a brand new administrative consumer and grant acceptable permissions:

CREATE USER ‘padmin’@’localhost’ IDENTIFIED BY ‘change-with-your-secure-password’;

On this instance we named the executive consumer padmin. You need to use any identify you want, simply you should definitely set a robust password.

Configuring Nginx and phpMyAdmin

There are a number of methods learn how to configure the Nginx to serve phpMyAdmin information. In case your area’s server block is already set as much as serve the PHP requests then you possibly can merely create a symbolic hyperlink from the phpMyAdmin set up information to your area doc root listing.

On this information we’ll create a snippet which we are able to embody in any of our Nginx server block information.

Open your textual content editor and create the next file:

sudo nano /and so on/nginx/snippets/phpmyadmin.conf

Paste the next content material:

/and so on/nginx/snippets/phpmyadmin.conf

location /phpmyadmin {
root /usr/share/;
index index.php index.html index.htm;
location ~ ^/phpmyadmin/(.+.php)$ {
try_files $uri =404;
root /usr/share/;
fastcgi_pass unix:/run/php/php7.2-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
embody /and so on/nginx/fastcgi_params;

location ~* ^/phpmyadmin/(.+.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
root /usr/share/;

Be sure to are utilizing the proper socket path or deal with/port for the fastcgi_pass directive.

Save the file and shut your editor.

Now you can add the next line to every area’s server block the place you need to entry phpMyAdmin utilizing:

embody snippets/phpmyadmin.conf;

Right here is an instance:

/and so on/nginx/conf.d/

server {

# . . . different code

embody snippets/phpMyAdmin.conf;

# . . . different code


Accessing phpMyAdmin

To entry the phpMyAdmin interface open your favourite browser and sort your server’s area identify or public IP deal with adopted by /phpmyadmin:


Enter the executive consumer login credentials and click on Go.

When you log in, you’ll see the phpMyAdmin dashboard, which can look one thing like this:


Congratulations, you could have efficiently put in phpMyAdmin in your Ubuntu 18.04 server. Now you can begin creating MySQL databases, customers and tables and carry out numerous MySQL queries and operations.

In case you have questions be happy to depart a remark under.


Germany Devoted Server

Leave a Reply