Databases are considerably easier to manage from within a GUI. If you've migrated your servers from CentOS to Rocky Linux, you might want to install phpMyAdmin. Jack Wallen shows you how.
If you're a database administrator, and you have to manage either MySQL or MariaDB on your data center servers, you know the benefit of having a good GUI to make the task a bit more efficient. And if your servers have migrated from CentOS to Rocky Linux, you might be a bit worried about getting such a GUI up and running. Fret not. There's always phpMyAdmin.
The problem with phpMyAdmin is that the installation on Rocky Linux (and most RHEL clones) isn't nearly as straightforward as it is with Ubuntu. But I'm going to help you out with that. Once you've walked through this tutorial, you'll have phpMyAdmin up and running in minutes.
Are you ready?
SEE: Kubernetes: A cheat sheet (free PDF) (TechRepublic)
What you'll need
To get phpMyAdmin installed, you'll need a running instance of Rocky Linux and a user with sudo privileges. That's it. Let's get to work.
How to install Apache and MySQL
Before you install the web and database server, make sure to update Rocky Linux with:
sudo dnf update -y
After the update completes, reboot (if the kernel is updated) and then install the webserver with:
sudo dnf install httpd -y
Start and enable the webserver with:
sudo systemctl start httpd sudo systemctl enable httpd
Next, we need to allow HTTP services through the firewall with the following commands:
sudo firewall-cmd --permanent --zone=public --add-service=http sudo firewall-cmd --permanent --zone=public --add-service=https sudo firewall-cmd --reload
Now, we can install the database with:
sudo dnf install mysql-server mysql -y
Start and enable MySQL:
sudo systemctl start mysqld sudo systemctl enable mysqld
Secure the database installation with:
How to install PHP
We now need to install PHP, which is done in a much different manner than it is on Ubuntu. First, let's reset the php module with:
sudo dnf module reset php
Now, we can enable PHP 7.4 with:
sudo dnf module enable php:7.4
Now we can install PHP and the various modules required for phpMyAdmin with:
sudo dnf install php php-common php-opcache php-cli php-gd php-curl php-mysqlnd php-xml -y
How to download and unpack phpMyAdmin
Next, we'll download the phpMyAdmin file with the command:
Make sure to check the official download page to ensure you're downloading the most recent version.
Unpack the file with:
If unzip isn't installed, install it with:
sudo dnf install unzip -y
Move and rename the newly created directory with:
sudo mv phpMyAdmin-*-all-languages /usr/share/phpmyadmin
How to configure phpMyAdmin
For our next trick, we'll configure phpMyAdmin. Change into the phpmyadmin directory with:
Copy the sample configuration file with the command:
sudo mv config.sample.inc.php config.inc.php
Now, we need to generate a 32-bit secret string with:
openssl rand -base64 32
Copy the resultant string.
Open the phpMyAdmin configuration file with the command:
sudo nano config.inc.php
In that file, look for the line:
$cfg['blowfish_secret'] = '';
Paste the 32-bit secret string between the two single quotes.
Scroll down to the Directories for saving/loading files from sever section and add the following line:
$cfg['TempDir'] = '/tmp';
Save and close the file.
Create a new tmp directory and give the everything the necessary permissions/ownership with the following commands:
sudo mkdir /usr/share/phpmyadmin/tmp sudo chown -R apache:apache /usr/share/phpmyadmin sudo chmod 777 /usr/share/phpmyadmin/tmp
How to create an Apache config file
Our next step is to create an Apache config file with the command:
sudo nano /etc/httpd/conf.d/phpmyadmin.conf
In that file, paste the following:
Alias /phpmyadmin /usr/share/phpmyadmin
<Directory /usr/share/phpmyadmin/> AddDefaultCharset UTF-8 <IfModule mod_authz_core.c> # Apache 2.4 <RequireAny> Require all granted </RequireAny> </IfModule> </Directory> <Directory /usr/share/phpmyadmin/setup/> <IfModule mod_authz_core.c> # Apache 2.4 <RequireAny> Require all granted </RequireAny> </IfModule> </Directory>
Save and close the file.
How to set the SELinux policies
In order for SELinux to allow traffic to the alternative location (/usr/share/phpmyadmin), we need to make it aware. To do that, issue the command:
sudo chcon -Rv --type=httpd_sys_content_t /usr/share/phpmyadmin/*
Restart Apache with the command:
sudo systemctl restart httpd
How to access the phpMyAdmin web interface
Everything should now be ready to go. Open a web browser and point it to http://SERVER/phpmyadmin (Where SERVER is the IP address of your hosting server) and you should be prompted for the login credentials.
Congratulations, you've just installed phpMyAdmin on Rocky Linux, for easier MySQL database administration.
- How to install Nextcloud 22 on Ubuntu Server 20.04 (TechRepublic)
- How to define DNS in Docker containers (TechRepublic)
- How to become a database administrator: A cheat sheet (TechRepublic)
- Top 5 programming languages data admins should know (free PDF) (TechRepublic)
- 5 Linux server distributions you should be using(TechRepublic Premium)
- DevOps: More must-read coverage (TechRepublic on Flipboard)