PhpMyAdmin is a web-based interface for managing MySQL / MariaDB databases that is used as a replacement for command-line utilities. In this article we’re going to show you how to install latest stable version of PhpMyAdmin for Apache on CentOS 7.
To install most recent version of PhpMyAdmin (i.e. 4.7), you need to install and enable EPEL and Remi repositories on your respective Linux distributions as shown:
sudo rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm sudo rpm -Uvh http://rpms.remirepo.net/enterprise/remi-release-7.rpm
Once you’ve installed above repositories, now its’ time to install PhpMyAdmin with the help of following command as shown.
yum --enablerepo=remi install phpmyadmin
The installation will now complete. We will need to modify this a bit to get it to work correctly for our installation. Open the file in your text editor now so that we can make a few changes:
sudo nano /etc/httpd/conf.d/phpMyAdmin.conf
To change the url of phpMyAdmin, we should remove or comment out the existing lines and add our own:
# Alias /phpMyAdmin /usr/share/phpMyAdmin # Alias /phpmyadmin /usr/share/phpMyAdmin Alias /dbmanager /usr/share/phpMyAdmin
In which, dbmanager is up to you.
Currently, this setup is configured to deny access to any connection not being made from the server itself. Since we are working on our server remotely, we need to modify some lines to allow remote connection.
... <IfModule mod_authz_core.c> # Apache 2.4 ... Require all granted ... </IfModule> ...
and some more:
... <IfModule !mod_authz_core.c> # Apache 2.2 ... Order Allow,Deny Allow from All ... </IfModule> ...
Setting up a Web Server Authentication Gate. Within the /usr/share/phpMyAdmin directory block, but outside of any of the blocks inside, we need to add an override directive. It will look like this:
. . . <Directory /usr/share/phpMyAdmin/> AllowOverride All <IfModule mod_authz_core.c> . . . </Directory> . . .
AllowOverride All is the extra line that added.
Our next step is to create the .htaccess file within that directory. Use your text editor to do so now:
sudo nano /usr/share/phpMyAdmin/.htaccess
Within this file, we need to enter the following information:
AuthType Basic AuthName "Admin Login" AuthUserFile /etc/httpd/pma_pass Require valid-user
When you are finished entering this information, save and close the file.
Create the Password File for Authentication
sudo htpasswd -c /etc/httpd/pma_pass username
username is the username that you’d like to use.
If you want to add additional users to authenticate, you can call the same command again without the -c flag, and with a new username:
sudo htpasswd /etc/httpd/pma_pass seconduser
seconduser is the username that you’d like to use.
To implement the changes, restart the web service:
sudo systemctl restart httpd