Install phpMyAdmin, Apache2, MariaDB and PHP on Ubuntu 17.04 | 17.10

phpMyAdmin is a web-based tool that allows webmasters and students manage MySQL or MariaDB databases. If you’re not an advanced database administrator, you may want to use phpMyAdmin to manage your databases instead of using the command line terminal.

To get phpMyAdmin on work, you must have a webserver installed as well as PHP scripts. phpMyAdmin uses these software to operate.

This brief tutorial shows students and new users how to install Apache2, PHP to support phpMyAdmin on Ubuntu 17.04 | 17.10. This post should be short and easy to follow.

To get started, follow the steps below:

Before continuing below, please make sure you’ve installed MySQL or MariaDB database server.. To learn how to install either of these servers, search this website for help installing.

You can easily install by running the commands below:

sudo apt-get update
sudo apt-get install mariadb-server mariadb-client

Continue below with installing Apache2, PHP and phpMyAdmin

Step 1: Install and Configure Apache2

First, run the commands below to install Apache2.

sudo apt-get install apache2

Step 2: Configure Apache2

Next, run the commands below to configure Apache2 basic settings. These are the basics.. and more advanced configurations can be done later.

Change your Apache2 server token to Prod

sudo nano /etc/apache2/conf-enabled/security.conf

Change the highlighted line below and save the file.

# Set to one of:  Full | OS | Minimal | Minor | Major | Prod
# where Full conveys the most information, and Prod the least.
#ServerTokens Minimal
ServerTokens Prod
#ServerTokens Full

Next, configure the default DirectoryIndex directives.

sudo nano /etc/apache2/mods-enabled/dir.conf

Then change the highlighted line below and save.

<IfModule mod_dir.c>
DirectoryIndex index.html index.php index.htm

Next, configure your domain or server name

sudo nano /etc/apache2/sites-enabled/000-default.conf

Change the highlighted lines and save the file.

 <VirtualHost *:80>
     ServerAdmin [email protected]
     DocumentRoot /var/www/html/

     ErrorLog ${APACHE_LOG_DIR}/error.log
     CustomLog ${APACHE_LOG_DIR}/access.log combined

After that restart Apache2.

sudo systemctl restart apache2

Step 3: Install PHP

Run the commands below to install PHP scripts.

sudo apt-get install php php-cgi libapache2-mod-php php-common php-pear php-mbstring

Step 4: Configure Apache2 to Use PHP

After install PHP and other related scripts, run the commands below to enable Apache2 to use PHP.

sudo a2enconf php7.0-cgi

Reload Apache2

sudo systemctl reload apache2

Step 5: Install phpMyAdmin

Now that Apache2 and PHP are installed the final step is to install phpMyAdmin and configure. To do that, run the commands below

sudo apt-get install phpmyadmin php-mbstring php-gettext

When prompted to choose the webserver, selecat apache2 and continue.

+------------------------+ Configuring phpmyadmin +-------------------------+
 | Please choose the web server that should be automatically configured to   |
 | run phpMyAdmin.                                                           |
 |                                                                           |
 | Web server to reconfigure automatically:                                  |
 |                                                                           |
 |    [*] apache2                                                            |
 |    [ ] lighttpd                                                           |
 |                                                                           |
 |                                                                           |
 |                                 <ok>                                      |
 |                                                                           |

When prompted again to allow debconfig-common to install a database and configure select No.

 +------------------------+ Configuring phpmyadmin +-------------------------+
 |                                                                           |
 | The phpmyadmin package must have a database installed and configured      |
 | before it can be used.  This can be optionally handled with               |
 | dbconfig-common.                                                          |
 |                                                                           |
 | If you are an advanced database administrator and know that you want to   |
 | perform this configuration manually, or if your database has already      |
 | been installed and configured, you should refuse this option.  Details    |
 | on what needs to be done should most likely be provided in                |
 | /usr/share/doc/phpmyadmin.                                                |
 |                                                                           |
 | Otherwise, you should probably choose this option.                        |
 |                                                                           |
 | Configure database for phpmyadmin with dbconfig-common?                   |
 |                                                                           |
 |                  <Yes>                   <No>                             |
 |                                                                           |

After installing, run the commands below to logon to the database server to enable phpMyAdmin root logon.

sudo mysql -u root -p mysql

Then run the commands below

update user set plugin=' 'where user='root';
flush privileges;

Now, open your web browser and login to the server hostname or IP address followed by phpmyadmin


phpmyadmin logon page on ubuntu

Logon with MariaDB or MySQL root account.

You may also like the post below:


  1. With the latest updates php is up to 7.1 and therefore the command at STEP 4 to enable php in apache needs to be sudo a2enconf php7.1-cgi

  2. Also, during “Configuring phpmyadmin” you have to select with space bar which web server you want to use. Then press tab to continue. If you do not do this, phpmyadmin will not work properly.

    1. Thanks Carbonawk!!!! That info really saved my day!

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.