How to Install and Configure phpMyAdmin on Debian 8

Updated by Elle Krout Written by Linode

Contribute on GitHub

Report an Issue | View File | Edit File

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.

Install and Configure phpMyAdmin on Debian 8

Note
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 sudo command, you can check our Users and Groups guide.

Before You Begin

  1. Ensure that you have followed the Getting Started and Securing Your Server guides and the Linode’s hostname is set.

    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).

  2. Update your system:

    sudo apt-get update && sudo apt-get upgrade -y
    
  3. Set up a working LAMP stack. Please see the LAMP on Debian 8 guide if needed.

    Note
    If you have installed the php-suhosin package, there are some known issues when using phpMyAdmin. Please visit the Suhosin phpMyAdmin Compatibility Issues page for more information about tuning and workarounds.
  4. 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.

  5. Install the mcrypt PHP module:

    sudo apt-get install mcrypt
    
  6. Restart Apache:

    sudo systemctl restart apache2
    

Setting Up phpMyAdmin

  1. 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.

  2. 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 (/usr/share/phpmyadmin):

    cd /var/www/html/example.org/public_html
    sudo ln -s /usr/share/phpmyadmin
    

    This will create a symbolic link named phpmyadmin in your document root.

Securing phpMyAdmin

.htaccess File

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:

/var/www/html/example.org/public_html/phpmyadmin/.htaccess
1
2
order allow,deny
allow from 12.34.56.78

Force SSL

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:

/etc/phpmyadmin/config.inc.php
1
$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.

Join our Community

Find answers, ask questions, and help others.

This guide is published under a CC BY-ND 4.0 license.