phpMyAdmin was created so that users can interact with MySQL through a web interface. In this guide, we’ll discuss how to install and secure phpMyAdmin so that you can safely use it to manage your databases on an Ubuntu 20.04 system.
Step 1 — Installing phpMyAdmin
You can use
apt to install phpMyAdmin from the default Ubuntu repositories.
As your non-root sudo user, update your server’s package index:
sudo apt update
Following that you can install the
phpmyadmin package. Along with this package, the official documentation also recommends that you install a few PHP extensions onto your server to enable certain functionalities and improve performance.
If you followed the prerequisite LAMP stack tutorial, several of these modules will have been installed along with the
php package. However, it’s recommended that you also install these packages:
php-mbstring: A module for managing non-ASCII strings and convert strings to different encodings
php-zip: This extension supports uploading
.zipfiles to phpMyAdmin
php-gd: Enables support for the GD Graphics Library
php-json: Provides PHP with support for JSON serialization
php-curl: Allows PHP to interact with different kinds of servers using different protocols
Run the following command to install these packages onto your system. Please note, though, that the installation process requires you to make some choices to configure phpMyAdmin correctly. We’ll walk through these options shortly:
sudo apt install phpmyadmin php-mbstring php-zip php-gd php-json php-curl
The installation process adds the phpMyAdmin Apache configuration file into the
/etc/apache2/conf-enabled/ directory, where it is read automatically. To finish configuring Apache and PHP to work with phpMyAdmin, the only remaining task in this section of the tutorial is to is explicitly enable the
mbstring PHP extension, which you can do by typing:
sudo phpenmod mbstring
Afterwards, restart Apache for your changes to be recognized:
sudo systemctl restart apache2
phpMyAdmin is now installed and configured to work with Apache. However, before you can log in and begin interacting with your MySQL databases, you will need to ensure that your MySQL users have the privileges required for interacting with the program.