FedoraRHEL Based

How To Install phpMyAdmin on Fedora 40

Install phpMyAdmin on Fedora 40

In the world of web development and database management, phpMyAdmin stands out as an indispensable tool for administrators and developers alike. This powerful, web-based interface simplifies the process of managing MySQL and MariaDB databases, making it an essential component of many web hosting environments. In this comprehensive guide, we’ll walk you through the process of installing phpMyAdmin alongside the LAMP stack (Linux, Apache, MariaDB, and PHP 8.3) on Fedora 40, one of the most popular and user-friendly Linux distributions available today.

Fedora 40, known for its cutting-edge features and robust security, provides an excellent platform for hosting web applications. By combining it with the LAMP stack and phpMyAdmin, you’ll create a powerful, flexible, and secure environment for your web development projects. Whether you’re a seasoned system administrator or a beginner looking to set up your first web server, this guide will provide you with the knowledge and steps necessary to get your environment up and running smoothly.

Prerequisites

Before we dive into the installation process, let’s ensure you have everything you need to get started:

  • A system running Fedora 40 (server or desktop edition)
  • Root or sudo access to the system
  • A stable internet connection for downloading packages
  • Basic familiarity with the Linux command line

It’s crucial to start with a fully updated system. Open your terminal and run the following command to ensure your Fedora 40 installation is up to date:

sudo dnf update -y

This command will fetch the latest package information and install any available updates. The ‘-y’ flag automatically answers “yes” to any prompts, streamlining the update process.

Step 1: Install Apache

Apache is one of the most popular web servers in the world, known for its reliability and flexibility. Let’s start by installing Apache on your Fedora 40 system:

sudo dnf install httpd

Once the installation is complete, start the Apache service and enable it to run at boot:

sudo systemctl start httpd
sudo systemctl enable httpd

To verify that Apache is running correctly, open a web browser and navigate to http://localhost or http://your_server_ip. You should see the default Apache test page, indicating that the installation was successful.

Install phpMyAdmin on Fedora 40

Step 2: Install MariaDB

MariaDB is a powerful, open-source relational database management system that’s fully compatible with MySQL. It’s an essential component of our LAMP stack. To install MariaDB on Fedora 40, run the following command:

sudo dnf install mariadb-server

After the installation completes, start the MariaDB service and enable it to run at system startup:

sudo systemctl start mariadb
sudo systemctl enable mariadb

To secure your MariaDB installation, run the following command and follow the prompts:

sudo mysql_secure_installation

This script will guide you through setting a root password, removing anonymous users, disallowing root login remotely, and removing the test database. It’s recommended to answer “Y” (yes) to all prompts for maximum security.

Step 3: Install PHP 8.3

PHP is the scripting language that powers many dynamic web applications, including phpMyAdmin. Fedora 40 includes PHP 8.3 in its default repositories, making installation straightforward. To install PHP and its necessary extensions, run:

sudo dnf install php php-common php-mysqlnd php-gd php-cli php-mbstring

After the installation completes, verify the PHP version:

php -v

You should see an output indicating that PHP 8.3 is installed. To ensure Apache can process PHP files, restart the Apache service:

sudo systemctl restart httpd

Step 4: Install phpMyAdmin

With the LAMP stack in place, we can now proceed to install phpMyAdmin. Fedora’s repositories include phpMyAdmin, making the installation process straightforward:

sudo dnf install phpmyadmin

After the installation is completed, we need to create a symbolic link to make phpMyAdmin accessible through Apache. Run the following command:

sudo ln -s /usr/share/phpMyAdmin /var/www/html/phpMyAdmin

This command creates a symbolic link from the phpMyAdmin installation directory to Apache’s web root, making it accessible via a web browser.

To access phpMyAdmin, open your web browser and navigate to http://localhost/phpMyAdmin or http://your_server_ip/phpMyAdmin. You should see the phpMyAdmin login page. Use the MariaDB root credentials you set up earlier to log in.

Install phpMyAdmin on Fedora 40

Step 5: Secure phpMyAdmin

While phpMyAdmin is now functional, it’s crucial to implement additional security measures to protect your database management interface from unauthorized access.

Restrict Access by IP

One effective way to enhance security is to limit access to phpMyAdmin to specific IP addresses. To do this, edit the phpMyAdmin Apache configuration file:

sudo nano /etc/httpd/conf.d/phpMyAdmin.conf

Find the <Directory /usr/share/phpMyAdmin/> section and add or modify the following lines:

<Directory /usr/share/phpMyAdmin/>
    # Existing configuration...
    Require ip 127.0.0.1
    Require ip ::1
    Require ip your_local_network
    Require ip your_workstation_IP
</Directory>

Replace your_local_network with your local network range (e.g., 192.168.1.0/24) and your_workstation_IP with the specific IP address of your workstation.

Enable HTTPS

For an additional layer of security, it’s highly recommended to enable HTTPS for your phpMyAdmin interface. This encrypts the data transmitted between your browser and the server, protecting sensitive information like login credentials.

To set up HTTPS, you can use Let’s Encrypt, a free, automated, and open certificate authority. First, install the Certbot tool:

sudo dnf install certbot python3-certbot-apache

Then, run Certbot to obtain and install an SSL certificate:

sudo certbot --apache

Follow the prompts to complete the HTTPS setup. Certbot will automatically configure Apache to use the new SSL certificate.

Troubleshooting and Common Issues

Even with careful installation, you might encounter some issues. Here are solutions to common problems:

Access Denied Errors

If you’re seeing “Access denied” errors when trying to log into phpMyAdmin, ensure that:

  • You’re using the correct MariaDB root password.
  • The phpMyAdmin configuration file (/etc/phpMyAdmin/config.inc.php) has the correct database host set (usually ‘localhost’).
  • The MariaDB user has the necessary privileges. You can grant all privileges to the root user with:

sudo mysql
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;
EXIT;

Apache or MariaDB Service Issues

If you’re having trouble starting Apache or MariaDB, check the service status and logs:

sudo systemctl status httpd
sudo systemctl status mariadb
sudo journalctl -u httpd
sudo journalctl -u mariadb

These commands will provide information about the service status and any error messages that might help identify the problem.

Performance Optimization

To optimize phpMyAdmin performance on Fedora 40:

  • Enable PHP OpCache by adding the following to your php.ini file: opcache.enable=1 opcache.memory_consumption=128 opcache.interned_strings_buffer=8 opcache.max_accelerated_files=4000 opcache.revalidate_freq=60 opcache.fast_shutdown=1
  • Adjust MariaDB’s my.cnf file to optimize for your server’s resources.
  • Consider using a caching solution like Redis or Memcached for frequently accessed data.

Conclusion

Congratulations! You’ve successfully installed and configured phpMyAdmin with the LAMP stack on Fedora 40. This powerful combination provides a robust platform for web development and database management. Remember to keep your system and all installed packages up to date to ensure optimal performance and security.

As you continue to work with this setup, you may want to explore additional features and optimizations. Consider diving deeper into Apache and MariaDB configurations to fine-tune your server’s performance. Additionally, stay informed about security best practices to keep your phpMyAdmin installation protected against potential threats.

VPS Manage Service Offer
If you don’t have time to do all of this stuff, or if this is not your area of expertise, we offer a service to do “VPS Manage Service Offer”, starting from $10 (Paypal payment). Please contact us to get the best deal!

r00t

r00t is an experienced Linux enthusiast and technical writer with a passion for open-source software. With years of hands-on experience in various Linux distributions, r00t has developed a deep understanding of the Linux ecosystem and its powerful tools. He holds certifications in SCE and has contributed to several open-source projects. r00t is dedicated to sharing her knowledge and expertise through well-researched and informative articles, helping others navigate the world of Linux with confidence.
Back to top button