We can install and secure PHPMyAdmin on ubuntu 20.04 as well as on ubuntu 18.04. we can handle the database server like MariaDB and MySQL with GUI. Let’s see, how to install and secure PHPMyAdmin on ubuntu.
Install and Secure phpMyAdmin On Ubuntu 20.04 / 19.10
We’ll update and upgrade the Ubuntu machine using the following commands. you don’t need to run those commands on Production servers.
sudo apt update sudo apt upgrade -y
Once you have updated the system, we need to install the PHPMyAdmin using the below commands. I’m assuming you’re using a non-root user with sudo permissions.
sudo apt install phpmyadmin php-mbstring php-gettext
If you’re not able to install the “php-gettext” package, you can simply use the below command to install “gettext” then you don’t need a “php-gettext” package.
sudo apt install gettext -y
During the installation, it will ask you for the webserver like “apache2 or Lighttpd“. I will select the “apache2” then Enter the “Space bar” and finally press “tab” and hit on “OK“.
After the installation, it needs to configure the Database for PHPMyAdmin with “dbconfig-common” then hit on “Yes“.
Set MySQL application password for the PHPMyAdmin and click on “OK”.
Again type the same password for the confirmation and click on “OK”.
Now we need to provide the administrator password for the “root” user. I have already installed MySQL version 8 on ubuntu 20.04.
Troubleshooting with Database:
In some cases, you will receive the database connection issue. So, simply remove the package using the following command.
sudo apt autoremove phpmyadmin php-mbstring
Once the package is removed then again run the sudo apt install phpmyadmin php-mbstring command.
After the dbconfig-common step, you will receive these windows prompt and I have selected the “localhost” because I’m running the database on the same machine then click on “OK“. you can also select the “new host” depends on your requirements.
Once the installation finished. we will enable the PHP extension using the below command.
sudo phpenmod mbstring
We need to restart the apache service and hit the below URL in the browser to access the PHPMyAdmin.
sudo systemctl restart apache2
Log in with your credentials username: phpmyadmin and password which you have created at the time of installation.
In a similar way, we can install PHPMyAdmin on any ubuntu version like 18.04 / 19.10.
We can find the PHPMyAdmin configuration location at /etc/phpmyadmin/ and dbconfig location at /etc/dbconfig-common/. Suppose you’re running multiple websites on the same server and needs to enable the PHPMyAdmin.
You will have to add the below line in the apache configuration file at /etc/apache2/apache2.conf. Open the file using any editor like nano or vim then add the below line.
Now reload the apache service.
sudo systemctl reload apache2
Securing PHPMyAdmin on Ubuntu 20.04:
We will add the extra layer of security on the PHPMyAdmin directory with the basic authentication method. you will need to create a password file with passwd tool that comes with an apache package and store it inside the /etc/phpmyadmin directory.
ubuntu@ubuntu:$ sudo htpasswd -c /etc/phpmyadmin/.htpasswd phpadmin New password: Re-type new password: Adding password for user phpadmin
If you require to create another user, use the same command without “-c” options.N
sudo htpasswd /etc/phpmyadmin/.htpasswd phpadmin2
Now we will have to tell the apache to use the password file. you need to open the phpmyadmin.conf file which is created automatically during the installation.
sudo vim /etc/apache2/conf-available/phpmyadmin.conf
Edit or insert the below code and save the file.
<Directory /usr/share/phpmyadmin> ## Options SymLinksIfOwnerMatch Options +FollowSymLinks +Multiviews +Indexes DirectoryIndex index.php AllowOverride None AuthType basic AuthName "Authentication Required" AuthUserFile /etc/phpmyadmin/.htpasswd Require valid-user
We need to restart the apache service then open the PHPMyAdmin in the browser. this should ask the username and password which you have created above using the htpasswd command.
Once you have provided the details then click on “OK“. you will see the PHPMyAdmin login page and login with your database credentials.