Install phpMyadmin on Ubuntu

Step 1: Install MySQL Database Server

Muhamad Anjar
4 min readOct 11, 2018

Run the commands below to install MySQL database server

sudo apt update
sudo apt install mysql-server mysql-client

During the installation, you’ll be prompted to create and confirm MySQL root password.. please do.

Step 2: Install Apache2 HTTP Server

Next, run the commands below to install Apache2 HTTP Web Server

sudo apt install apache2

Step 3: Configure Apache2

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

First, confirm that your Ubuntu server configuration has Apache2 DirectoryIndex directives for php defined. To run PHP based apps, Apache2 must have index.php as a directory index in its dir.conf file.

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

Make sure index.php is defined as a DirectoryIndex in the dir.conf file…

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

Next, configure your domain or server name for your site… Open Apache2 default site config file by running the commands below.

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

Then add the ServerName and ServerAlias to match your domain name… and save the file.

<VirtualHost *:80>
ServerAdmin admin@mylab.com
DocumentRoot /var/www/html/
ServerName example.com
ServerAlias example.com
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

After that restart Apache2.

sudo systemctl restart apache2.service

Step 4: Install PHP and Related Modules

Run the commands below to install PHP and related PHP modules.

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

Step 5: 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.2-cgi

Reload Apache2

sudo systemctl reload apache2.service

Step 6: 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-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.

13. Once everything installed, you can now restart the apache2 service to effect the recent changes.

$ sudo systemctl restart apache2

Note: If the PhpMyAdmin package has not been enable to work with apache web server automatically, run the following commands to copy the phpmyadmin apache configuration file located under /etc/phpmyadmin/ to apache webserver available configurations directory /etc/apache2/conf-available/ and then activate it using the a2enconf utility, and restart apache service effect the recent changes, as follows.

$ sudo cp /etc/phpmyadmin/apache.conf /etc/apache2/conf-available/phpmyadmin.conf 
$ sudo a2enconf phpmyadmin
$ sudo systemctl restart apache2

14. Lastly, from a web browser, and type the following URL to access you phpMyAdmin web frontend.

http://domain_name/phpmyadmin
OR
http://SERVER_IP/phpmyadmin

Use the root credentials to authenticate in the phpMyAdmin, as shown in the following screen shot.

PhpMyAdmin Login

Important: Starting from MySQL 5.7, root login requires sudo command, therefore the root login will fail via phpmyadmin, you may need to create another admin user account. Access the mariadb shell using the root account from a terminal, and run the following commands to create a new user:

$ sudo mysql -u root -pMariaDB [(none)]> CREATE USER 'admin'@'localhost' IDENTIFIED BY '=@!#254tecmint';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON *.* TO 'admin'@'localhost' WITH GRANT OPTION;
MariaDB [(none)]> FLUSH PRIVILEGES;

Now log into PhpMyAdmin using the new admin credentials to administer your databases.

PhpMyAdmin MySQL Database Administration

To secure your PhpMyAdmin web interface, check this article: 4 Useful Tips to Secure PhpMyAdmin Web Interface.

That’s it! In this article, we have explained how to setup LAMP stack with the latest PhpMyAdmin in Ubuntu 18.04. Use the comment form below to send us your queries, or thoughts about this guide.

--

--

Muhamad Anjar

Programmer biasa aja, ga jago jago banget dan ga bego bego banget