Download phpmyadmin from this download page.
wget https://files.phpmyadmin.net/phpMyAdmin/${ver_number}/phpMyAdmin-${ver_number}-all-languages.tar.gz
Extract filers form archive:
tar xvf phpMyAdmin-${VERSION}-all-languages.tar.gz
Move extracted folder to /usr/share/phpmyadmin
folder.
sudo mv phpMyAdmin-*/ /usr/share/phpmyadmin
Create directory for phpMyAdmin temp files.
sudo mkdir -p /var/lib/phpmyadmin/tmp
sudo chown -R www-data:www-data /var/lib/phpmyadmin
Create directory for phpMyAdmin configuration files such as htpass file.
sudo mkdir /etc/phpmyadmin/
Create phpMyAdmin configuration file.
sudo cp /usr/share/phpmyadmin/config.sample.inc.php /usr/share/phpmyadmin/config.inc.php
Edit the file /usr/share/phpmyadmin/config.inc.php
and set secret passphrase:
$cfg['blowfish_secret'] = 'T0FZTxt,g1wIhAQAzKWFUbVD0g6GL6AB';
You can generate secret passphrase using this webiste
Configure Temp directory:
$cfg['TempDir'] = '/var/lib/phpmyadmin/tmp';
Create phpMyAdmin Apache configuration file:
sudo vim /etc/apache2/conf-enabled/phpmyadmin.conf
And paste below contents to the file:
# phpMyAdmin default Apache configuration
Alias /phpmyadmin /usr/share/phpmyadmin
<Directory /usr/share/phpmyadmin>
Options SymLinksIfOwnerMatch
DirectoryIndex index.php
#<IfModule mod_authz_core.c>
# <RequireAny>
# #allows access from localhost
# Require ip 127.0.0.1
#allows access from particular ip address
#Require ip 192.168.1.10
#allows access from local network
# Require ip 192.168.1.0/255.255.255.0
# Require ip
# </RequireAny>
#</IfModule>
<IfModule !mod_authz_core.c>
#rules order
Order Deny,Allow
#block access from anywhere
# Deny from All
#allows access from localhost
Allow from 192.168.1.80
#Allow from All
#allows access from particular ip address
#Allow from 192.168.1.2
#below line allow access from network
Allow from 192.168.1.0/255.255.255.0
</IfModule>
<IfModule mod_php5.c>
<IfModule mod_mime.c>
AddType application/x-httpd-php .php
</IfModule>
<FilesMatch ".+\.php$">
SetHandler application/x-httpd-php
</FilesMatch>
php_value include_path .
php_admin_value upload_tmp_dir /var/lib/phpmyadmin/tmp
php_admin_value open_basedir /usr/share/phpmyadmin/:/etc/phpmyadmin/:/var/lib/phpmyadmin/:/usr/share/php/php-gettext/:/usr/share/php/php-php-gettext/:/usr/share/javascript/:/usr/share/php/tcpdf/:/usr/share/doc/phpmyadmin/:/usr/share/php/phpseclib/
php_admin_value mbstring.func_overload 0
</IfModule>
<IfModule mod_php.c>
<IfModule mod_mime.c>
AddType application/x-httpd-php .php
</IfModule>
<FilesMatch ".+\.php$">
SetHandler application/x-httpd-php
</FilesMatch>
php_value include_path .
php_admin_value upload_tmp_dir /var/lib/phpmyadmin/tmp
php_admin_value open_basedir /usr/share/phpmyadmin/:/etc/phpmyadmin/:/var/lib/phpmyadmin/:/usr/share/php/php-gettext/:/usr/share/php/php-gettext/:/usr/share/javascript/:/usr/share/php/tcpdf/:/usr/share/doc/phpmyadmin/:/usr/share/php/phpseclib/
php_admin_value mbstring.func_overload 0
</IfModule>
</Directory>
# Authorize for setup
<Directory /usr/share/phpmyadmin/setup>
<IfModule mod_authz_core.c>
<IfModule mod_authn_file.c>
AuthType Basic
AuthName "phpMyAdmin Setup"
AuthUserFile /etc/phpmyadmin/htpasswd.setup
</IfModule>
Require valid-user
</IfModule>
</Directory>
# Disallow web access to directories that don't need it
<Directory /usr/share/phpmyadmin/templates>
Require all denied
</Directory>
<Directory /usr/share/phpmyadmin/libraries>
Require all denied
</Directory>
<Directory /usr/share/phpmyadmin/setup/lib>
Require all denied
</Directory>