phpMyAdmin is a web-based tool for managing MySQL and MariaDB databases. It provides an intuitive interface for performing tasks like managing databases, running queries, and handling user permissions. Installing phpMyAdmin on CentOS, Red Hat, or Fedora requires configuring the web server and PHP dependencies, as phpMyAdmin is not included in the default repositories for some of these distributions.
To install phpMyAdmin on these systems, you must enable the EPEL (Extra Packages for Enterprise Linux) repository, which provides additional software packages like phpMyAdmin. The process also involves setting up the required services, such as Apache and PHP, and securing the installation for remote access.
This guide provides step-by-step instructions for installing phpMyAdmin on CentOS, Red Hat, and Fedora.
$ sudo dnf install epel-release Last metadata expiration check: 0:00:01 ago on Mon 21 Sep 2024 09:12:17 AM UTC. Dependencies resolved. ======================================================================================================== Package Architecture Version Repository Size ======================================================================================================== Installing: epel-release noarch 8-11.el8 extras 22 k Transaction Summary ======================================================================================================== Install 1 Package Total download size: 22 k Installed size: 32 k Is this ok [y/N]: y Downloading Packages: epel-release-8-11.el8.noarch.rpm 123 kB/s | 22 kB 00:00 Running transaction check Transaction test succeeded Running transaction Installing : epel-release-8-11.el8.noarch 1/1 Verifying : epel-release-8-11.el8.noarch 1/1 Installed: epel-release-8-11.el8.noarch Complete!
$ sudo dnf update Last metadata expiration check: 0:00:01 ago on Mon 21 Sep 2024 09:12:17 AM UTC. Dependencies resolved. Nothing to do. Complete!
$ sudo dnf install phpMyAdmin Dependencies resolved. ======================================================================================================== Package Architecture Version Repository Size ======================================================================================================== Installing: phpMyAdmin noarch 5.0.4-1.el8 epel 5.6 M php-mbstring x86_64 7.4.6-1.el8 base 488 k php-zip x86_64 7.4.6-1.el8 base 110 k Installing dependencies: php-json x86_64 7.4.6-1.el8 base 66 k Transaction Summary ======================================================================================================== Install 4 Packages Total download size: 6.2 M Installed size: 28 M Is this ok [y/N]: y Downloading Packages: (1/4): php-mbstring-7.4.6-1.el8.x86_64.rpm 129 kB/s | 488 kB 00:03 (2/4): php-zip-7.4.6-1.el8.x86_64.rpm 92 kB/s | 110 kB 00:01 (3/4): php-json-7.4.6-1.el8.x86_64.rpm 82 kB/s | 66 kB 00:00 (4/4): phpMyAdmin-5.0.4-1.el8.noarch.rpm 129 kB/s | 5.6 MB 00:44 Running transaction check Transaction test succeeded Running transaction Installing : php-json-7.4.6-1.el8.x86_64 1/4 Installing : php-mbstring-7.4.6-1.el8.x86_64 2/4 Installing : php-zip-7.4.6-1.el8.x86_64 3/4 Installing : phpMyAdmin-5.0.4-1.el8.noarch 4/4 Verifying : php-zip-7.4.6-1.el8.x86_64 1/4 Verifying : php-mbstring-7.4.6-1.el8.x86_64 2/4 Verifying : php-json-7.4.6-1.el8.x86_64 3/4 Verifying : phpMyAdmin-5.0.4-1.el8.noarch 4/4 Installed: phpMyAdmin-5.0.4-1.el8.noarch php-json-7.4.6-1.el8.x86_64 php-mbstring-7.4.6-1.el8.x86_64 php-zip-7.4.6-1.el8.x86_64 Complete!
$ sudo dnf install httpd php php-mysqlnd Dependencies resolved. ======================================================================================================== Package Arch Version Repo Size ======================================================================================================== Installing: httpd x86_64 2.4.37-16.module+el8.2.0+4109+617a9a99 AppStream 1.4 M php x86_64 7.2.24-1.module+el8.2.0+339+ee0d5993 AppStream 1.5 M php-mysqlnd x86_64 7.2.24-1.module+el8.2.0+339+ee0d5993 AppStream 178 k Transaction Summary ======================================================================================================== Install 3 Packages Total download size: 3.0 M Installed size: 8.9 M Is this ok [y/N]: y Downloading Packages: (1/3): httpd-2.4.37-16.module+el8.2.0+4109+617a9a99.x86_64.rpm 123 kB/s | 1.4 MB 00:11 (2/3): php-mysqlnd-7.2.24-1.module+el8.2.0+339+ee0d5993.x86_64.rpm 88 kB/s | 178 kB 00:02 (3/3): php-7.2.24-1.module+el8.2.0+339+ee0d5993.x86_64.rpm 103 kB/s | 1.5 MB 00:14 Running transaction check Transaction test succeeded Running transaction Installing : php-mysqlnd-7.2.24-1.module+el8.2.0+339+ee0d5993.x86_64 1/3 Installing : php-7.2.24-1.module+el8.2.0+339+ee0d5993.x86_64 2/3 Installing : httpd-2.4.37-16.module+el8.2.0+4109+617a9a99.x86_64 3/3 Verifying : php-mysqlnd-7.2.24-1.module+el8.2.0+339+ee0d5993.x86_64 1/3 Verifying : php-7.2.24-1.module+el8.2.0+339+ee0d5993.x86_64 2/3 Verifying : httpd-2.4.37-16.module+el8.2.0+4109+617a9a99.x86_64 3/3 Installed: httpd-2.4.37-16.module+el8.2.0+4109+617a9a99.x86_64 php-7.2.24-1.module+el8.2.0+339+ee0d5993.x86_64 php-mysqlnd-7.2.24-1.module+el8.2.0+339+ee0d5993.x86_64 Complete!
$ sudo systemctl start httpd $ sudo systemctl enable httpd Created symlink /etc/systemd/system/multi-user.target.wants/httpd.service → /usr/lib/systemd/system/httpd.service.
$ sudo vi /etc/httpd/conf.d/phpMyAdmin.conf
Alias /phpmyadmin "/usr/share/phpMyAdmin"
Require all granted
$ sudo systemctl restart httpd
$ htpasswd -c /etc/phpMyAdmin/.htpasswd your_username New password: Re-type new password: Adding password for user your_username
<Directory "/usr/share/phpMyAdmin"> AuthType Basic AuthName "phpMyAdmin" AuthUserFile /etc/phpMyAdmin/.htpasswd Require valid-user </Directory>
$ sudo systemctl restart httpd
$ sudo firewall-cmd --permanent --zone=public --add-service=http success $ sudo firewall-cmd --reload success
http://server_ip_or_hostname/phpmyadmin
This guide is tested on CentOS, Red Hat, and Fedora:
| Version | Details |
|---|---|
| CentOS 8.x | Supported |
| Red Hat 8.x | Supported |
| Fedora 37 | Supported |