How to Install and Configure phpMyAdmin on Debian 8
Updated by Elle Krout
phpMyAdmin is a web application that provides a GUI to aid in MySQL database administration. It supports multiple MySQL servers and is a robust and easy alternative to using the MySQL command line client.
This guide is written for a non-root user. Commands that require elevated privileges are prefixed with
sudo. If you’re not familiar with the
sudocommand, you can check our Users and Groups guide.
Before You Begin
To check your hostname run:
hostname hostname -f
The first command should show your short hostname, and the second should show your fully qualified domain name (FQDN).
Update your system:
sudo apt-get update && sudo apt-get upgrade -y
Set up a working LAMP stack. Please see the LAMP on Debian 8 guide if needed.
If you have installed the
php-suhosinpackage, there are some known issues when using phpMyAdmin. Please visit the Suhosin phpMyAdmin Compatibility Issues page for more information about tuning and workarounds.
Set up Apache with SSL, so your passwords will not be sent over plain text. To do so, go through the SSL Certificates with Apache on Debian & Ubuntu guide.
sudo apt-get install mcrypt
sudo systemctl restart apache2
Setting Up phpMyAdmin
Install the current version of phpMyAdmin:
sudo apt-get install phpmyadmin
You will be asked which server to automatically configure phpMyAdmin for. Select “apache2.” When asked to configure database for phpmyadmin with dbconfig-common, select yes.
For each virtual host that you would like to give access to your PHPMyAdmin installation, create a symbolic link from the document root to the phpMyAdmin installation location (
cd /var/www/html/example.org/public_html sudo ln -s /usr/share/phpmyadmin
This will create a symbolic link named
phpmyadminin your document root.
Secure your phpMyAdmin directory using an
.htaccess file that only allows specified IP addresses to access it. You can do this by creating an
.htaccess file in your
phpmyadmin directory. Substitute the proper paths and IP addresses for your particular configuration:
order allow,deny allow from 18.104.22.168
You can force phpMyAdmin to use SSL in the phpMyAdmin configuration file
/etc/phpmyadmin/config.inc.php by adding the following lines under the
Server(s) configuration section:
$cfg['ForceSSL'] = 'true';
Testing Your phpMyAdmin Installation
To test phpMyAdmin, open your favorite browser and navigate to
https://example.com/phpmyadmin. You will be prompted for a username and password. Use the username “root” and the password you specified when you installed MySQL. Alternatively, you can log in using any MySQL user and retain their permissions.
If you can successfully log in, phpMyAdmin has been installed properly.
This guide is published under a CC BY-ND 4.0 license.