How to Install phpMyAdmin on Ubuntu

how-to

By: Jacob NicholsonPosted: October 9, 2015

Our experts take readers step-by-step through a variety of hosting and programming tasks in our popular series of "How-To" guides.

The MySQL database system is the most popular, open-source, relational database. Many other projects, including WordPress, are backed by a MySQL database and rely on its extensive feature list and simple setup. For beginners, or those that are lazy, there is the phpMyAdmin tool to help us with the maintenance and interface of MySQL.

Accessed from your web browser, phpMyAdmin is a PHP-based frontend control panel that allows you to easily manage your MySQL databases and users, review SQL activity, import and export database backups, run searches, and more.

Requirements for Installing phpMyAdmin on Ubuntu

Before installing phpMyAdmin, we need to meet some basic requirements:

A LAMP stack (Linux, Apache, MySQL, and PHP) installed

PHP 5.2.0 or newer

1

2

3

4

5

$php-v

PHP5.5.9-1ubuntu4.6(cli)(built:Feb13201519:17:11)

Copyright(c)1997-2014The PHP Group

Zend Engine v2.5.0,Copyright(c)1998-2014Zend Technologies

with Zend OPcache v7.0.3,Copyright(c)1999-2014,by Zend Technologies

The PHP mysql or mysqli extensions

1

2

3

$php-m|grep mysql

mysql

mysqli

MySQL 5.0.1 or newer

1

2

3

4

$mysql-v

Welcome tothe MySQL monitor.Commands endwith;or\g.

Your MySQL connection id is39

Server version:5.5.41-0ubuntu0.14.04.1-log(Ubuntu)

Install phpMyAdmin from Ubuntu Packages

The default Ubuntu repositories stay up-to-date with the latest stable releases of phpMyAdmin, and this is the recommended installation process for a production environment.

Step 1: Update Package Index

First, we need to make sure our local server is pulling the latest updates.

1

sudo apt-get update

Step 2: Install phpMyAdmin Package

Now we can install the latest version of phpMyAdmin.

1

sudo apt-get install-yphpmyadmin

Step 3: Configure phpMyAdmin Package

After installing phpMyAdmin, you will be presented with the package configuration screen.

Press the SPACE bar to place an “*” beside “apache2.”

Press TAB to highlight “OK,” then hit ENTER.

Select “apache2” and hit OK.

The installation process will continue until you’re back at another package configuration screen.

Select “Yes” and then hit ENTER at the dbconfig-common screen:

Select “Yes” and hit ENTER.

You will be prompted for your database administrator’s password.

Type it in, hit TAB to highlight “OK,” and then press ENTER.

Enter your DB administrator’s password.

Next, enter a password for the phpMyAdmin application itself.

Enter the password you’d like to use to access the phpMyAdmin interface.

Confirm the phpMyAdmin application password.

Confirm your phpMyAdmin password.

After the installation process completes, it adds the phpMyAdin configuration file here:

/etc/apache2/conf-enabled/phpmyadmin.conf

Enable PHP mcrypt Module

Check if the PHP mcrypt module is already in use:

1

php-m|grep mcrypt

If you don’t get any results, install the PHP mcrypt module with:

1

sudo php5enmod mcrypt

Now when we check, you should see mcrypt enabled:

1

2

$php-m|grep mcrypt

mcrypt

Restart Apache

Now we should restart the Apache web server for changes to take affect:

1

sudo service apache2 restart

Access phpMyAdmin for the First Time

Now you can log in to phpMyAdmin by going to your server followed by /phpmyadmin.

You can just use http://YOUR_SERVER_IP/phpmyadmin if you don’t have domains set up yet.

Log in with the root user and the password you set for the phpMyAdmin application.

Log in to phpMyAdmin as the root user.

Now you’ll see the phpMyAdmin dashboard.

You should now see the phpMyAdmin dashboard.

Secure and Lock Down phpMyAdmin Interface

Naturally, because phpMyAdmin is such a common application installed on many web servers, it is a popular target for unauthorized access attempts. We can easily secure our phpMyAdmin installation by using Apache’s built-in .htaccess authentication.

Step 1: Edit phpMyAdmin’s Apache Config

We want to edit the phpMyAdmin Apache config that was created earlier:

1

sudo vi/etc/apache2/conf-available/phpmyadmin.conf

Add AllowOverride “ALL” directive below the DirectoryIndex:

1

2

3

4

5

Options FollowSymLinks

DirectoryIndex index.php

AllowOverride ALL

...

Step 2: Restart Apache to Accept Config Changes

Restart Apache so our changes take affect:

1

sudo service apache2 restart

Step 3: Create an .htaccess File

Now that we’ve enabled overrides for our phpMyAdmin application from Apache, we need to actually create an override with an .htaccess file.

1

sudo vi/usr/share/phpmyadmin/.htaccess

Add this text:

1

2

3

4

AuthType Basic

AuthName"phpMyAdmin Users Only"

AuthUserFile/etc/phpmyadmin/.htpasswd

Require valid-user

Step 4: Create an .htpasswd File for Authentication

First we need the htpasswd utility. If you don’t already have this installed, use the following:

1

sudo apt-get install apache2-utils

Now we can create a secure user for our phpMyAdmin application with the command:

1

2

3

4

$sudo htpasswd-c/etc/phpmyadmin/.htpasswd phpmyadmin

Newpassword:

Re-type newpassword:

Adding password foruser phpmyadmin

If for some reason you wanted to give others access to the phpMyAdmin login screen but didn’t want them using your .htaccess credentials, you can create additional secure users with:

1

sudo htpasswd/etc/phpmyadmin/.htpasswd anotheruser

Now if you try to access the phpMyAdmin login, you’ll get the .htaccess password prompt first.

You should now see the .htaccess password prompt we created

Install phpMyAdmin from Source

While it’s not recommended for production servers, because you have to manually ensure your install of phpMyAdmin is kept up-to-date, you can also install phpMyAdmin from source.

Step 1: Identify Apache’s DocumentRoot

We need to find Apache’s DocumentRoot so we know where to place our phpMyAdmin files:

1

2

$grep DocumentRoot/etc/apache2/sites-available/000-default.conf

DocumentRoot/var/www/html

In this case, we’ll need to put the phpMyAdmin files in /var/www/html.

Step 2: Download Latest Version of phpMyAdmin

The stable version of phpMyAdmin at the time this article was written: phpMyAdmin 4.3.11.1 (released 3/4/2015).

I ended up with a phpMyAdmin-4.3.11.1-english.tar.gz file in my /var/www/html directory.

1

2

3

$cd/var/www/html

$ls

index.html phpMyAdmin-4.3.11.1-english.tar.gz

Step 3: Unpack phpMyAdmin Files

1

sudo tar xvzf phpMyAdmin-4.3.11.1-english.tar.gz

Now rename the phpMyAdmin-4.3.11.1-english directory:

1

sudo mv phpMyAdmin-4.3.11.1-english phpmyadmin

Remove the phpMyAdmin files:

1

sudo rm phpMyAdmin-4.3.11.1-english.tar.gz

Step 4: Secure /phpmyadmin Directory

We want to set up a specific user for our phpMyAdmin install.

1

2

3

4

5

6

7

8

9

10

$sudo adduser phpmyadmin

Adding user`phpmyadmin' ...

Adding new group `phpmyadmin'(1001)...

Adding newuser`phpmyadmin' (1001) with group `phpmyadmin'...

Creating home directory`/home/phpmyadmin' ...

Copying files from `/etc/skel'...

Enter newUNIX password:

Retype newUNIX password:

passwd:password updated successfully

1

sudo chown-Rphpmyadmin.phpmyadmin/var/www/html/phpmyadmin

Step 5: Update phpMyAdmin config.inc With Install Wizard

To use the phpMyAdmin install wizard, we first need to set up the config.inc file.

1

2

3

4

5

cd/var/www/html/phpmyadmin

sudo mkdir config

sudo chmodo+rw config

sudo cp config.sample.inc.php config/config.inc.php

sudo chmodo+wconfig/config.inc.php

Step 6: Run phpMyAdmin Install Wizard

To begin the installation of phpMyAdmin, access the installation URL at:

http://example.com/phpmyadmin/setup/index.php

Under the “Servers” section, click on “New Server.”

Under the “Servers” section, click on “New Server.”

Under the “Authentication” tab, type in your MySQL root password in the “Password for Config Auth” box and then click “Apply.”

In the “Password for Config Auth” box, type in your MySQL root password.

Remove the phpMyAdmin /config directory for security.

1

sudo rm-rf/var/www/html/phpmyadmin/config

Final Thoughts on phpMyAdmin

Now that you’ve successfully installed phpMyAdmin on Ubuntu, you can start playing around with some of its more advanced features.

One thing we recommend taking a look at is the “Status” tab, which will display any current MySQL queries that are running on the server, as well as server uptime and the number of connections to the MySQL server.

Questions or Comments? Ask Jacob!

Ask a question and Jacob will respond to you. We strive to provide the best advice on the net and we are here to help you in any way we can.

Was this helpful? Tell Us Thanks.

Like this article on Facebook

Tweet this article on Twitter

Share this article on Google+

About the Author

Jacob Nicholson

Jacob Nicholson has worked at all levels of both small and large web hosting companies. With a background in computer networking, he enjoys all things Internet, as well as trying out the latest and greatest technology. After several years of serving in a system administration role, he transitioned to become a customer advocate, focused on streamlining common web hosting woes with detailed online guides. He brings with him tons of experience and lots of passion for the wonderful world of web hosting — and he's eager to share his knowledge with HostingAdvice fans.

Disclaimer: Great efforts are made to maintain reliable data on all offers presented. However, this data is provided without warranty. Users should always check the offer provider’s official website for current terms and details. Our site receives compensation from many of the offers listed on the site. Along with key review factors, this compensation may impact how and where products appear across the site (including, for example, the order in which they appear). Our site does not include the entire universe of available offers. Editorial opinions expressed on the site are strictly our own and are not provided, endorsed, or approved by advertisers.