Introduction
The phpMyAdmin utility is a web-based graphical database management tool. By installing phpMyAdmin, you no longer need to use the default command-line interface to manage databases.
This guide will show you how to lay the groundwork and install phpMyAdmin on Debian 12.
Prerequisites
- Debian 12 installed.
- A user account with root privileges.
- Access to a terminal window/command line.
Step 1: Install LAMP Stack on Debian 12
phpMyAdmin requires the LAMP stack to work correctly. This section shows you how to install the supporting software to turn your Debian 12 system into a web server with the LAMP stack.
If you already have LAMP stack installed, you can skip directly to the Download phpMyAdmin section.
Step 1.1: Update Software Packages and Install wget
The wget utility allows you to download files directly from the terminal window. Open the terminal and update your repository package information before installing wget
to ensure you obtain the latest available version:
sudo apt update
When the process completes, install wget
by running:
sudo apt install wget -y
Wait for the installation to complete. You now have the tools to install the LAMP stack and phpMyAdmin.
Step 1.2: Install Apache
Apache is a web server software that processes requests and transmits data over an HTTP. Run the following command to install Apache:
sudo apt install apache2 -y
Wait for the process to complete. Confirm that the Apache service is running:
systemctl status apache2
The report should show a green status message that says active (running):
Press Ctrl+z to return to the command prompt.
Step 1.3: Install PHP on Debian 12
The PHP programming language and coding environment are essential for running a web application like phpMyAdmin. Install core PHP packages and Apache and MySQL plugins with the following command:
sudo apt -y install php php-cgi php-mysqli php-pear php-mbstring libapache2-mod-php php-common php-phpseclib php-mysql
Once the installation process completes, verify that PHP has been installed:
php --version
The system displays the current PHP version along with the release date.
Step 1.4: Install and Set Up MariaDB on Debian 12
This guide uses the MariaDB open-source relational database management system instead of MySQL. MariaDB and MySQL are compatible, and many commands and features are identical.
Install MariaDB with the following command:
sudo apt install mariadb-server mariadb-client -y
Once the process is complete, verify the MariaDB installation:
systemctl status mariadb
Like with Apache, you should see an active (running) status.
Before installing phpMyAdmin, configure the MariaDB database. The sections below outline how to secure MariaDB and create a new user.
Secure MariaDB
Configure basic MariaDB security features by launching a built-in script:
sudo mysql_secure_installation
As you have not yet set a root password for your database, hit Enter to skip the initial query. Complete the following queries:
- Switch to unix_socket authentication [Y/n]. Enter n to skip.
- Set root password? [Y/n]. Type y and press Enter to create a strong root password for your database. If you already have a root password, enter n to answer the Change the root password question.
- Remove anonymous users? [Y/n]. Type y and press Enter.
- Disallow root login remotely? [Y/n]. Type y and press Enter.
- Remove test database and access to it? [Y/n]. Type y and confirm with Enter.
- Reload privilege tables now? [Y/n]. Type y and confirm with Enter.
The output shows that the MariaDB installation is now secure.
Create New MariaDB User
The phpMyAdmin utility needs a designated user to connect to your database. Creating a new MariaDB user improves security and allows you to control the level of permissions granted to this user.
Use our detailed guide to create a new MariaDB user and grant privileges. Once you set up a MariaDB user, start the phpMyAdmin installation process.
Step 2: Download phpMyAdmin
Use the wget
command to retrieve the latest stable version of phpMyAdmin:
wget -P Downloads https://www.phpmyadmin.net/downloads/phpMyAdmin-latest-all-languages.tar.gz
To download the English version only, use this command instead:
wget -P Downloads https://www.phpmyadmin.net/downloads/phpMyAdmin-latest-english.tar.gz
The -P
option instructs wget
to save the files directly in the Downloads directory. Use any directory to download the file and remember the path.
Note: To download a specific version, or to check the latest version, please refer to the developer's phpMyAdmin page.
Step 3: Check phpMyAdmin GPG Key
Each downloaded archive has a corresponding .asc file that contains its unique key signature. The signature can be verified once both files are in the same folder.
To verify the GPG key for phpMyAdmin:
1. download the phpMyAdmin keyring to the directory you used previously. In our case, Downloads:
wget -P Downloads https://files.phpmyadmin.net/phpmyadmin.keyring
2. Access the Downloads directory and import the keyring:
cd Downloads
gpg --import phpmyadmin.keyring
3. Download the corresponding GPG .asc file for your version of phpMyAdmin and stay in the same directory:
wget https://www.phpmyadmin.net/downloads/phpMyAdmin-latest-all-languages.tar.gz.asc
4. In the same directory (in our case Downloads), verify the .asc file against the keyring you downloaded:
gpg --verify phpMyAdmin-latest-all-languages.tar.gz.asc
The system responds by displaying GPG key information.
You can now compare the GPG key to the developer credentials on the phpMyAdmin documentation page.
Step 4: Unpack and Configure phpMyAdmin
After verifying the phpMyAdmin GPG key, unpack the phpMyAdmin archive. Follow the steps below:
1. Create a phpMyAdmin directory in the Apache web root directory:
sudo mkdir /var/www/html/phpMyAdmin
2. Access the Downloads directory and unpack phpMyAdmin tar.gz to the newly created directory:
sudo tar xvf phpMyAdmin-latest-all-languages.tar.gz --strip-components=1 -C /var/www/html/phpMyAdmin
The terminal shows no response when the file is unpacked.
Step 5: Secure phpMyAdmin Instance
Lastly, you must secure the phpMyAdmin instance to reduce the risk of unauthorized access and protect data integrity and confidentiality. Follow the steps below:
1. Create a default configuration file:
sudo cp /var/www/html/phpMyAdmin/config.sample.inc.php /var/www/html/phpMyAdmin/config.inc.php
2. Use the nano text editor (or your preferred text editor) to edit the phpMyAdmin configuration file:
sudo nano /var/www/html/phpMyAdmin/config.inc.php
Locate the following line and add a secret passphrase between the single quotes:
$cfg['blowfish_secret'] = '';
For example:
$cfg['blowfish_secret'] = 'My_Secret_Passphras3!';
Use a complex passphrase of your choice and exit and save the file (Ctrl+X).
3. Change the permissions for the config.inc.php file:
sudo chmod 660 /var/www/html/phpMyAdmin/config.inc.php
4. Change ownership of the phpMyAdmin directory:
sudo chown -R www-data:www-data /var/www/html/phpMyAdmin
The permission and ownership settings are used for sensitive configuration files to ensure that only authorized users can access or modify them.
5. Restart Apache:
sudo systemctl restart apache2
Step 6: Access phpMyAdmin from Browser
Use a web browser and navigate to the localhost/your_phpMyAdmin_directory address to access phpMyAdmin. In our case, the address is:
localhost/phpMyAdmin
The system shows the phpMyAdmin login screen and establishes a connection to the local Apache, MariaDB, and PHP files that you have created.
Log in to phpMyAdmin with the username and password you created for the MariaDB user.
Conclusion
You have now installed phpMyAdmin on your Debian 12 system. Access the GUI from a browser and start administering your databases more efficiently.
Next, see how to install phpMyAdmin on Ubuntu or learn to back up and restore a MySQL database.