How to install phpMyAdmin with Nginx on Ubuntu 24.04
You install phpMyAdmin with Nginx on Ubuntu 24.04 to easily manage your MySQL databases via a web browser.
phpMyAdmin is a popular, free, open-source tool offering a user-friendly graphical interface for administering MySQL and MariaDB. Nginx is a fast, high-performance web server that you’ll configure to host phpMyAdmin.
This process ensures you have a powerful database management system accessible through your Nginx setup on Ubuntu 24.04. A typical setup requires at least 2GB of RAM for smooth operation.
Install Nginx and MariaDB, then create a dedicated phpMyAdmin user. Next, download phpMyAdmin, configure its directory, and set up a Nginx server block for it. Finally, secure your phpMyAdmin installation.
Install Nginx HTTP server on Ubuntu
Install Nginx, a popular web server, on your Ubuntu 24.04 system to host your phpMyAdmin setup. You can easily install Nginx using simple terminal commands. This guide will walk you through the steps to get Nginx up and running for your phpMyAdmin installation.
To do that, open the Ubuntu terminal and run the commands below to install the Nginx web server.
sudo apt update
sudo apt install nginx
Once Nginx is installed, the commands below can start, stop, and enable the Nginx web server to start automatically when your server boots up.
sudo systemctl stop nginx
sudo systemctl start nginx
sudo systemctl enable nginx
You can test that the Nginx web server is running by opening your web browser and browsing to the server’s local host or IP address.
http://localhost

When you see the “Welcome to nginx” page, it means the Nginx HTTP server is successfully installed.
Additional help on installing Nginx on Ubuntu is in the link below.
Install the MariaDB database server on Ubuntu
Your phpMyAdmin installation needs a database, and MariaDB is an excellent choice for Ubuntu 24.04. You can install the MariaDB database server quickly using straightforward terminal commands. This section shows you exactly how to set up MariaDB for phpMyAdmin.
To install and use the MariaDB database server, use the instructions below.
Open the Ubuntu terminal and run the commands below to install the MariaDB database server.
sudo apt update sudo apt install mariadb-server
Once the MariaDB database server is installed, use the commands below to stop, start, and enable the MariaDB server to start automatically when the server boots.
sudo systemctl stop mariadb sudo systemctl start mariadb sudo systemctl enable mariadb
Run the following commands to validate and test if the MariaDB database server is installed successfully.
sudo mariadb
Once you run the commands above, it will log you onto the MariaDB console and display a message similar to the one below.
Welcome to the MariaDB monitor. Commands end with ; or g. Your MariaDB connection id is 32 Server version: 10.11.2-MariaDB-1 Ubuntu 23.04 Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others. Type 'help;' or 'h' for help. Type 'c' to clear the current input statement. MariaDB [(none)]>
The message tells you that the server is installed successfully.
Additional help on installing MariaDB.
- How to install MariaDB on Ubuntu Linux
- MariaDB without password prompt
Create a phpMyAdmin user account
Create a dedicated user account for phpMyAdmin to securely connect to your MariaDB database. This specific account will have its own password, offering better control and security than using the main database root. Setting up a unique user is a key step for a secure phpMyAdmin setup.
The auth_socket plugin authenticates users that connect from the local host through the Unix socket file. You can’t authenticate as a root by providing a password.
auth_socket to mysql_native_password.A dedicated database user should connect remotely to database servers instead of using root users, as root user remote connections introduce security risks.
All the database steps above can be done using the commands below:
But first, log on to the MariaDB database server:
sudo mariadb
Then run the commands below to complete the steps:
CREATE USER phymyadmin@localhost IDENTIFIED BY 'type_your_password_here';
GRANT ALL ON *.* TO phymyadmin@localhost WITH GRANT OPTION;
FLUSH PRIVILEGES;
exit
Ensure to replace ‘type_your_password_here ‘with your password.
Install PHP-FPM on Ubuntu Linux
phpMyAdmin is built with PHP, so you need PHP-FPM to process it on your Ubuntu system. Installing PHP-FPM and necessary PHP extensions is done with a single, simple command. Follow these steps to install PHP-FPM for your phpMyAdmin setup.
Run the commands below to install PHP-FPM.
sudo apt install php-fpm php-intl php-mysql php-curl php-cli php-zip php-xml php-gd php-common php-mbstring php-xmlrpc php-json php-sqlite3 php-soap php-ldap php-zip
Additional help on installing PHP
Install phpMyAdmin
With your Nginx web server and MariaDB database ready, you can now install phpMyAdmin on Ubuntu 24.04. You can install phpMyAdmin directly from Ubuntu’s software sources using a simple command. No extra tools are needed to install phpMyAdmin.
There’s no need to install additional tools.
Run the commands below to phpMyAdmin on Ubuntu.
sudo apt install phpmyadmin
When prompted to choose the web server that should be automatically configured to run phpMyAdmin, tap Ok and press ENTER.
+------------------------+ Configuring phpmyadmin +------------------------+
| Please choose the web server that should be automatically configured to |
| Web server to reconfigure automatically: |
| |
| [ ] apache2 |
| [ ] lighttpd |
| <ok> |
+---------------------------------------------------------------
When prompted again to allow web config-common to install a database and configure, select Yes and press Enter.
┌────────────────────────┤ Configuring phpmyadmin ├─────────────────────────┐
│ │
│ The phpmyadmin package must have a database installed and configured │
│ before it can be used. This can be optionally handled with │
│ dbconfig-common. │
│ │
│ If you are an advanced database administrator and know that you want to │
│ perform this configuration manually, or if your database has already │
│ been installed and configured, you should refuse this option. Details on │
│ what needs to be done should most likely be provided in │
│ /usr/share/doc/phpmyadmin. │
│ │
│ Otherwise, you should probably choose this option. │
│ │
│ Configure database for phpmyadmin with dbconfig-common? │
│ │
│ <Yes> <No> │
│
Next, type and confirm a phpMyAdmin password to the database registry. It can be any password you want to use.
Set up Nginx with phpMyAdmin
To access phpMyAdmin easily with your Nginx web server, create a specific configuration file. This file tells Nginx how to handle requests for phpMyAdmin and link them to your installation. Setting up this Nginx configuration is essential for using phpMyAdmin.
To do that, run the commands below to create a phpMyAdmin snippet that can be used on an existing server block.
sudo nano /etc/nginx/snippets/phpmyadmin.conf
Then copy and paste the code below into the file and save.
location /phpmyadmin {
root /usr/share/;
index index.php;
location ~ ^/phpmyadmin/(.+.php)$ {
try_files $uri =404;
root /usr/share/;
fastcgi_pass unix:/run/php/php8.3-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include /etc/nginx/fastcgi_params;
}
location ~* ^/phpmyadmin/(.+.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
root /usr/share/;
}
}Save the file and exit.
Finally, include the configuration above in your Nginx server block.
include snippets/phpmyadmin.conf;
If you don’t have an existing domain, open the Nginx default server block by running the commands below.
sudo nano /etc/nginx/sites-available/default
Copy and paste the highlighted line when the file opens, then save.
# Default server configuration
server {
listen 80 default_server;
listen [::]:80 default_server;
include snippets/phpmyadmin.conf;
root /var/www/html;
# Add index.php to the list if you are using PHP
index index.php index.html index.htm index.nginx-debian.html;
server_name _;
location / {
try_files $uri $uri/ =404;
}
# pass PHP scripts to FastCGI server
#
location ~ .php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.3-fpm.sock;
}
}
Restart Nginx
sudo systemctl restart nginx
After installing phpMyAdmin, open your web browser and browse to the server hostname or IP address followed by /phpmyadmin.
Setup Let’s Encrypt SSL/TLS for phpMyAdmin
Protect your phpMyAdmin data by setting up an SSL/TLS certificate with Let’s Encrypt for your Nginx server. This guide helps you secure your phpMyAdmin access using a free certificate from Let’s Encrypt. Securing your phpMyAdmin connection is vital.
Please read the post below for additional resources on installing and creating Let’s Encrypt SSL certificates for Nginx.
How to set up Let’s Encrypt SSL certificate for Nginx on Ubuntu Linux
Once you have restarted the Nginx web server, open your browser and browse to the server hostname or IP address defined in the Nginx server block.
After installing phpMyAdmin, open your web browser and browse to the server hostname or IP address followed by /phpmyadmin.
http://localhost/phpmyadmin
Log on with the account you created earlier for phpMyAdmin.

That should do it!
Conclusion:
- Installing phpMyAdmin with Nginx on Ubuntu 24.04 allows for efficient management of MySQL databases through a user-friendly web interface, providing a secure way to access phpMyAdmin.
- The installation involves setting up the Nginx HTTP server, installing the MariaDB database server, creating a dedicated user account for phpMyAdmin, installing PHP-FPM, and finally setting up Let’s Encrypt SSL/TLS for enhanced security.
- Following the outlined steps ensures a successful installation and configuration of the phpMyAdmin application, allowing users to access and manage databases seamlessly.
Was this guide helpful?
About the Author
Richard
Tech Writer, IT Professional
Richard, a writer for Geek Rewind, is a tech enthusiast who loves breaking down complex IT topics into simple, easy-to-understand ideas. With years of hands-on experience in system administration and enterprise IT operations, he’s developed a knack for offering practical tips and solutions. Richard aims to make technology more accessible and actionable. He's deeply committed to the Geek Rewind community, always ready to answer questions and engage in discussions.
No comments yet — be the first to share your thoughts!