Install PHPMyAdmin on Manjaro 16.10

This tutorial is going to show you how to install PHPMyAdmin on Manjaro 16.10. As you know, PHPMyAdmin is a web based administrative tool for MySQL Server. We can perform many administrative tasks to our MySQL Server right away from a web browser such as Google Chrome. In order to install PHPMyAdmin, first we need to install LAMP (Linux Apache MySQL and PHP) on our system. Please refers to my previous tutorial to install Apache, MySQL and PHP on Manjaro below.



Once we've configured LAMP on our system, now we are ready to install PHPMyAdmin. Please follow the steps below.
Step 1. Install PHPMyAdmin
You can either install it via Add/Remove Software (Pamac GUI) or via Terminal command.
sudo pacman -S phpmyadmin
Output:

sudo pacman -S phpmyadmin
[sudo] password for dhani:
resolving dependencies...
looking for conflicting packages...

Packages (1) phpmyadmin-4.6.6-1

Total Download Size:    6,08 MiB
Total Installed Size:  35,85 MiB

:: Proceed with installation? [Y/n]

Step 2. Configure PHPMyAdmin

Enable mysqli on PHP. On Terminal, do the following

sudo nano /etc/php/php.ini

Find and uncomment the line extension=mysqli.so. It should looks like this now:

extension=mysqli.so

Setup Apache by creating new configuration file

sudo nano /etc/httpd/conf/extra/phpmyadmin.conf

Now paste these lines:

Alias /phpmyadmin "/usr/share/webapps/phpMyAdmin"
<Directory "/usr/share/webapps/phpMyAdmin">
    DirectoryIndex index.php
    AllowOverride All
    Options FollowSymlinks
    Require all granted
</Directory>

Now include this line below inside  /etc/httpd/conf/httpd.conf. Put it at the bottom of that file.

Include conf/extra/phpmyadmin.conf

Now restart apache

sudo systemctl restart httpd

Step 3. Access PHPMyAdmin web interface

Open web browser and type http://localhost/phpmyadmin. You should see the welcome window with login screen on the web browser.

phpmyadmin on manjaro

Login with your MySQL credentials

phpmyadmin on manjaro 2

If you see the error as above, "The configuration file now needs a secret passphrase (blowfish_secret), do the following. You will need a strong password, use 32 length password. You can use password generator to generate the password. For example I use this password: Nj9pzCbF^ZGgVxgZ!4pp-%*x4<QDfVFB

Edit the file /etc/webapps/phpmyadmin/config.inc.php and add the password to this line. So the final line should looks like this. Put the password between (' ').

$cfg['blowfish_secret'] = 'Nj9pzCbF^ZGgVxgZ!4pp-%*x4<QDfVFB'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */

Now refresh the browser and the error should now gone.

phpmyadmin on manjaro 3

Thank you for reading. Please share if you found this article useful. Cheers

9 comments

Can you show us, how to install Eclipse inklusive Tomcat 8.5 on Manjaro?

Hi, thanks for the request. I will post it next.

This is what I get on accessing http://localhost/phpmyadmin:

<?php
/* vim: set expandtab sw=4 ts=4 sts=4: */
/**
* Main loader script
*
* @package PhpMyAdmin
*/
use PMA\libraries\Message;
use PMA\libraries\Response;
use PMA\libraries\RecentFavoriteTable;
use PMA\libraries\URL;
use PMA\libraries\Sanitize;
use PMA\libraries\Charsets;
use PMA\libraries\ThemeManager;
use PMA\libraries\LanguageManager;

/**
* Gets some core libraries and displays a top message if required
*/
require_once 'libraries/common.inc.php';

/**
* display Git revision if requested
*/
require_once 'libraries/display_git_revision.lib.php';

/**
* pass variables to child pages
*/
$drops = array(
'lang',
'server',
'collation_connection',
'db',
'table'
);
foreach ($drops as $each_drop) {
if (array_key_exists($each_drop, $_GET)) {
unset($_GET[$each_drop]);
}
}
unset($drops, $each_drop);

/*
* Black list of all scripts to which front-end must submit data.
* Such scripts must not be loaded on home page.
*
*/
$target_blacklist = array (
'import.php', 'export.php'
);

// If we have a valid target, let's load that script instead
if (! empty($_REQUEST['target'])
&& is_string($_REQUEST['target'])
&& ! preg_match('/^index/', $_REQUEST['target'])
&& ! in_array($_REQUEST['target'], $target_blacklist)
&& in_array($_REQUEST['target'], $goto_whitelist)
) {
include $_REQUEST['target'];
exit;
}

if (isset($_REQUEST['ajax_request']) && ! empty($_REQUEST['access_time'])) {
exit;
}


....


There is more to it. I could not get the complete page because there was a limit on the number of characters.

How do I solve this issue? Please help.

@Adarsh Chacko
Make sure you have php installed, just follow the video guide from the beginning of the post.

This comment has been removed by the author.

Why do these tutorials always insist on using nano? Why not make life easy and

sudo mousepad /etc/php/php.ini

instead?


EmoticonEmoticon