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.