How To Install and Secure phpMyAdmin on Ubuntu 12.04
phpMyAdmin is an free web software to work with MySQL on the web—it provides a convenient visual front end to the MySQL capabilities.
The steps in this tutorial require
the user to have root privileges on your virtual private server. You can see
how to set that up here in steps 3 and 4.
Before working with phpMyAdmin you need to have LAMP installed on your server.
If you don't have the Linux, Apache, MySQL, PHP stack on your server, you can
find the tutorial for setting it up here.
The easiest way to install phpmyadmin is through apt-get:
sudo apt-get install phpmyadminDuring the installation, phpMyAdmin will walk you through a basic configuration. Once the process starts up, follow these steps:
sudo nano /etc/apache2/apache2.confAdd the phpmyadmin config to the file.
Include /etc/phpmyadmin/apache.confRestart apache:
sudo service apache2 restartYou can then access phpmyadmin by going to youripaddress/phpmyadmin. The screen should look like this
Unfortunately older versions of phpMyAdmin have had serious security vulnerabilities including allowing remote users to eventually exploit root on the underlying virtual private server. One can prevent a majority of these attacks through a simple process: locking down the entire directory with Apache's native user/password restrictions which will prevent these remote users from even attempting to exploit older versions of phpMyAdmin.
Set Up the .htaccess File
To set this up start off by allowing the .htaccess file to work within the phpmyadmin directory. You can accomplish this in the phpmyadmin configuration file:
sudo nano /etc/phpmyadmin/apache.confUnder the directory section, add the line "AllowOverride All” under "Directory Index”, making the section look like this:
Configure the .htaccess file
With the .htaccess file allowed, we
can proceed to set up a native user whose login would be required to even
access the phpmyadmin login page.
sudo nano /usr/share/phpmyadmin/.htaccessFollow up by setting up the user authorization within .htaccess file. Copy and paste the following text in:
AuthName "Restricted Files"
Require valid-userBelow you’ll see a quick explanation of each line
Create the htpasswd file
Now we will go ahead and create the valid user information. Start by creating a htpasswd file. Use the htpasswd command, and place the file in a directory of your choice as long as it is not accessible from a browser. Although you can name the password file whatever you prefer, the convention is to name it .htpasswd.
sudo htpasswd -c /path/to/passwords/.htpasswd username
A prompt will ask you to provide and confirm your password. Once the username
and passwords pair are saved you can see that the password is encrypted in the
FInish up by restarting apache:
sudo service apache2 restart
will now be much more secure since only authorized users will be able to reach
the login page. Accessing youripaddress/phpmyadmin should display a screen like this.
|Posted by: ASPHostServer Administrator - Mon, Dec 23, 2013 at 11:14 PM. This article has been viewed 1873 times.|
|Online URL: http://faq.asphosthelpdesk.com/article.php?id=159|