Zoeken op website

Hoe PhpMyAdmin met Apache in RHEL-systemen te installeren


In dit artikel begeleiden we u stapsgewijs door het proces van het installeren van de nieuwste versie van PhpMyAdmin met Apache-webserver op op RHEL gebaseerde distributies zoals CentOS Stream >, Fedora, Rocky Linux, en Alma Linux.

Wat is PhpMyAdmin?

PhpMyAdmin is een populaire en krachtige webgebaseerde tool voor databasebeheer. Als u de nieuwste versie heeft, bent u verzekerd van toegang tot de meest up-to-date functies en beveiligingsverbeteringen. Aan het einde van deze handleiding kunt u uw MySQL- of MariaDB-databases eenvoudig beheren met PhpMyAdmin.

Vereisten

Voordat we beginnen, zorg ervoor dat u over het volgende beschikt:

  • Toegang tot een RHEL-, CentOS Stream-, Fedora-, Rocky Linux- of AlmaLinux-systeem.
  • Zorg ervoor dat u zich kunt aanmelden als rootgebruiker of sudo-rechten heeft om software te installeren.
  • Een bestaande LAMP-stack, die Apache, MySQL/MariaDB en PHP bevat. Als u geen LAMP heeft, kunt u deze stappen volgen om deze in te stellen.

Stap 1: Update het systeem

Voordat u software installeert, is het van cruciaal belang om ervoor te zorgen dat uw systeem up-to-date is door de volgende dnf-opdracht uit te voeren.

sudo dnf update

Hiermee worden alle pakketten op uw systeem bijgewerkt naar de nieuwste versies.

Stap 2: Apache-webserver installeren

PhpMyAdmin is een webgebaseerde tool en om deze te gebruiken moet u de Apache-webserver installeren met behulp van de volgende opdracht.

sudo dnf install httpd

Eenmaal geïnstalleerd, start u de Apache-service en schakelt u deze in om bij het opstarten te starten.

sudo systemctl start httpd
sudo systemctl enable httpd

Stap 3: Installeer MariaDB of MySQL

Je hebt ook een databaseserver nodig. U kunt ervoor kiezen om MariaDB of MySQL te installeren, maar in dit voorbeeld kiezen we voor MariaDB.

sudo dnf install mariadb-server

Eenmaal geïnstalleerd, start u de MariaDB-service en schakelt u deze in om bij het opstarten te starten.

sudo systemctl start mariadb
sudo systemctl enable mariadb

Beveilig vervolgens uw MariaDB-installatie door het script uit te voeren, dat u zal vragen een wachtwoord voor de rootgebruiker in te voeren, externe root-aanmeldingen niet toe te staan en anonieme gebruikers te verwijderen. Het verwijdert ook de testdatabase, die standaard toegankelijk is voor anonieme gebruikers.

sudo mysql_secure_installation

Stap 4: PHP installeren

PhpMyAdmin is gebouwd met PHP, dus we moeten PHP en enkele vereiste extensies installeren met behulp van de volgende opdracht.

sudo dnf install php php-mysqlnd php-json php-mbstring

Stap 5: Installeer PhpMyAdmin

Laten we nu doorgaan met het installeren van PhpMyAdmin op ons Linux-systeem door naar de documenthoofdmap /var/www/html van de webserver te navigeren, zoals weergegeven.

cd /var/www/html

Download vervolgens de nieuwste versie van PhpMyAdmin met behulp van de volgende wget-opdracht, zoals weergegeven.

sudo wget https://www.phpmyadmin.net/downloads/phpMyAdmin-latest-all-languages.tar.gz

Eenmaal gedownload, pak je het gedownloade archief uit en hernoem je de map voor het gemak.

sudo tar -xvzf phpMyAdmin-latest-all-languages.tar.gz
sudo mv phpMyAdmin-*/ phpmyadmin

Maak een configuratiebestand voor PhpMyAdmin.

sudo cp /var/www/html/phpmyadmin/config.sample.inc.php /var/www/html/phpmyadmin/config.inc.php

Bewerk het configuratiebestand:

sudo nano /var/www/html/phpmyadmin/config.inc.php

Zoek de volgende regel en stel uw eigen blowfish_secret in:

$cfg['blowfish_secret'] = 'your_secret';

Sla het bestand op en sluit het af.

Stap 6: Open Apache-poort in firewalld

Standaard gebruikt Apache doorgaans de poorten 80 en 443 voor HTTP en HTTPS, respectievelijk. Om Apache-poorten te openen en toegang tot PhpMyAdmin op uw server toe te staan, voert u het volgende uit:

sudo firewall-cmd --zone=public --add-port=80/tcp --permanent
sudo firewall-cmd --zone=public --add-port=443/tcp --permanent
sudo firewall-cmd --reload

Deze opdrachten voegen een regel toe om binnenkomend verkeer op de opgegeven poort toe te staan en herladen de firewall om de wijzigingen toe te passen.

Stap 7: Start Apache Web Server opnieuw

Start ten slotte Apache opnieuw op om de wijzigingen toe te passen:

sudo systemctl restart httpd

Stap 8: Open PhpMyAdmin

U heeft nu toegang tot PhpMyAdmin via uw webbrowser door naar het IP-adres of de domeinnaam van uw server te navigeren, gevolgd door “/phpmyadmin” in de URL:

http://your_server_ip/phpmyadmin

Log in met uw MySQL- of MariaDB-inloggegevens.

Stap 9: Sta externe toegang toe in PhpMyAdmin

Open het PhpMyAdmin-configuratiebestand.

sudo vi /etc/httpd/conf/httpd.conf

Zoek de sectie of de sectie waar uw PhpMyAdmin is geconfigureerd en werkt de richtlijn Require bij om dit toe te staan alle IP-adressen voor toegang tot PhpMyAdmin.

<Directory "/var/www/html/phpmyadmin">
    ...
    Require all granted
    ...
</Directory>

De bovenstaande configuratie staat toegang vanaf elk IP-adres toe, maar als u de toegang tot specifieke IP's wilt beperken, vervangt u Alles vereist door Require ip your_ip.

Start Apache opnieuw om de wijzigingen toe te passen.

sudo systemctl restart httpd

Nu zou u toegang moeten hebben tot PhpMyAdmin vanuit de buitenwereld met behulp van het IP-adres of domein van uw server.

http://your_server_ip/phpmyadmin

Houd er rekening mee dat het openen van toegang tot PhpMyAdmin vanuit de buitenwereld veiligheidsrisico's met zich mee kan brengen. Zorg ervoor dat u over een sterk authenticatiemechanisme beschikt en overweeg het gebruik van HTTPS voor gecodeerde communicatie. Beperk bovendien indien mogelijk de toegang tot alleen vertrouwde IP-adressen of beveilig de PhpMyAdmin-inlog-URL.

Wijzig de phpMyAdmin-inlog-URL

De standaard inlog-URL voor phpMyAdmin is voorspelbaar en vaak het doelwit van kwaadwillende actoren die proberen kwetsbaarheden te misbruiken. Het wijzigen van de inlog-URL voegt een extra beveiligingslaag toe, waardoor het voor ongeautoriseerde gebruikers moeilijker wordt om toegang te krijgen tot uw databasebeheerinterface.

Om dit te doen, maakt u een /etc/httpd/conf.d/phpMyAdmin.conf configuratiebestand.

vi /etc/httpd/conf.d/phpMyAdmin.conf

Voeg vervolgens de volgende configuratie toe.

#Alias /phpMyAdmin /var/www/html/phpmyadmin
Alias /my /var/www/html/phpmyadmin

<Directory /var/www/htm/lphpmyadmin>
    AddDefaultCharset UTF-8

    <IfModule mod_authz_core.c>
        # Apache 2.4
        <RequireAny>
            Require all granted
            # Additional IP or hostname-based access control can be added here
        </RequireAny>
    </IfModule>

    <IfModule !mod_authz_core.c>
        # Apache 2.2
        Order Deny,Allow
        Deny from All
        Allow from 127.0.0.1
        Allow from ::1
        # Additional IP or hostname-based access control can be added here
    </IfModule>

</Directory>

Vervang /mijn door de gewenste aangepaste inlog-URL. Sla de wijzigingen op en sluit de teksteditor af.

Nadat u wijzigingen in de configuratiebestanden hebt aangebracht, start u Apache opnieuw op om de wijzigingen toe te passen:

systemctl restart httpd

Open uw webbrowser en navigeer naar de nieuwe phpMyAdmin login-URL.

http://yourdomain.com/my/

SSL instellen voor phpMyAdmin

Het beveiligen van de communicatie tussen de Apache-webserver en phpMyAdmin is cruciaal om gevoelige informatie zoals inloggegevens en database-inhoud te beschermen. Een effectieve manier om dit te bereiken is door SSL (Secure Socket Layer) te configureren voor phpMyAdmin op een Apache-webserver.

Om dit te doen, installeert u eerst de mod_ssl module op uw server.

yum install httpd mod_ssl openssl

Maak vervolgens een map aan om het certificaat op te slaan en genereer een zelfondertekend SSL-certificaat en een privésleutel, zoals weergegeven.

mkdir /etc/httpd/ssl 
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/httpd/ssl/apache.key -out /etc/httpd/ssl/apache.crt

Nadat u het SSL-certificaat en de sleutel hebt aangemaakt, opent u het Apache SSL-configuratiebestand.

vi /etc/httpd/conf.d/ssl.conf

Voeg vervolgens de volgende regels toe aan het configuratiebestand.

SSLEngine on
SSLCertificateFile /etc/httpd/ssl/apache.crt
SSLCertificateKeyFile /etc/httpd/ssl/apache.key

Sla de wijzigingen op en start de Apache-webserver opnieuw op.

systemctl restart httpd

Open nu het phpMyAdmin-configuratiebestand.

vi /var/www/html/phpmyadmin/config.inc.php

Voeg de volgende regels toe om SSL voor phpMyAdmin te forceren.

$cfg['ForceSSL'] = true;

Sla de wijzigingen op en sluit de teksteditor af.

Open ten slotte uw webbrowser en navigeer naar de volgende URL om toegang te krijgen tot phpMyAdmin via een beveiligde SSL-verbinding.

https://yourdomain.com/my/

Houd er rekening mee dat het bericht dat een onveilige verbinding aangeeft uitsluitend te wijten is aan het gebruik van een zelfondertekend certificaat. Om verder te gaan, klikt u op "Geavanceerd" en bevestigt u de beveiligingsuitzondering.

Conclusie

Gefeliciteerd! Je hebt PhpMyAdmin met Apache succesvol geïnstalleerd op je RHEL-, CentOS Stream-, Rocky Linux- of AlmaLinux-systeem. Deze webgebaseerde tool vereenvoudigt het beheer van uw databases, waardoor taken zoals het maken van databases, query's en gegevensbeheer een fluitje van een cent worden.