Hvordan installere PhpMyAdmin med Apache i RHEL-systemer


I denne artikkelen vil vi lede deg gjennom trinn-for-trinn-prosessen for å installere den nyeste versjonen av PhpMyAdmin med Apache-nettserver på RHEL-baserte distribusjoner som CentOS Stream >, Fedora, Rocky Linux, og Alma Linux.

Hva er PhpMyAdmin?

PhpMyAdmin er et populært og kraftig nettbasert databaseadministrasjonsverktøy, og å ha den nyeste versjonen sikrer at du har tilgang til de mest oppdaterte funksjonene og sikkerhetsforbedringene. Mot slutten av denne veiledningen vil du enkelt kunne administrere MySQL- eller MariaDB-databasene dine ved å bruke PhpMyAdmin.

Forutsetninger

Før vi begynner, sørg for at du har følgende:

  • Tilgang til et RHEL-, CentOS Stream-, Fedora-, Rocky Linux- eller AlmaLinux-system.
  • Sørg for at du enten kan logge på som root-bruker eller ha sudo-rettigheter til å installere programvare.
  • En eksisterende LAMP-stabel, som inkluderer Apache, MySQL/MariaDB og PHP. Hvis du ikke har LAMP, kan du følge disse trinnene for å konfigurere den.

Trinn 1: Oppdater systemet

Før du installerer programvare, er det avgjørende å sikre at systemet ditt er oppdatert ved å kjøre følgende dnf-kommando.

sudo dnf update

Dette vil oppdatere alle pakkene på systemet til de nyeste versjonene.

Trinn 2: Installer Apache Web Server

PhpMyAdmin er et nettbasert verktøy, og for å bruke det må du installere Apache-nettserveren ved å bruke følgende kommando.

sudo dnf install httpd

Når den er installert, start Apache-tjenesten og aktiver den til å starte ved oppstart.

sudo systemctl start httpd
sudo systemctl enable httpd

Trinn 3: Installer MariaDB eller MySQL

Du trenger også en databaseserver. Du kan velge å installere enten MariaDB eller MySQL, men vi vil gå med MariaDB i dette eksemplet.

sudo dnf install mariadb-server

Når den er installert, start MariaDB-tjenesten og aktiver den til å starte ved oppstart.

sudo systemctl start mariadb
sudo systemctl enable mariadb

Deretter sikrer du MariaDB-installasjonen din ved å kjøre skriptet, som vil be deg om å skrive inn et passord for rotbrukeren, forby eksterne rotpålogginger og fjerne anonyme brukere. Det vil også fjerne testdatabasen, som som standard kan nås av anonyme brukere.

sudo mysql_secure_installation

Trinn 4: Installer PHP

PhpMyAdmin er bygget med PHP, så vi må installere PHP og noen nødvendige utvidelser ved å bruke følgende kommando.

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

Trinn 5: Installer PhpMyAdmin

La oss nå fortsette med å installere PhpMyAdmin på Linux-systemet vårt ved å navigere til nettserverens dokumentrotkatalog /var/www/html som vist.

cd /var/www/html

Last deretter ned den nyeste versjonen av PhpMyAdmin ved å bruke følgende wget-kommando som vist.

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

Når du har lastet ned, pakke ut det nedlastede arkivet og gi nytt navn til katalogen for enkelhets skyld.

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

Opprett en konfigurasjonsfil for PhpMyAdmin.

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

Rediger konfigurasjonsfilen:

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

Finn følgende linje og angi din egen blowfish_secret:

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

Lagre og avslutt filen.

Trinn 6: Åpne Apache Port i brannmuren

Som standard bruker Apache vanligvis portene 80 og 443 for HTTP og HTTPS, hhv. For å åpne Apache-porter og gi tilgang til PhpMyAdmin på serveren din, kjør:

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

Disse kommandoene legger til en regel for å tillate innkommende trafikk på den angitte porten og last inn brannmuren på nytt for å bruke endringene.

Trinn 7: Start Apache Web Server på nytt

Til slutt, start Apache på nytt for å bruke endringene:

sudo systemctl restart httpd

Trinn 8: Få tilgang til PhpMyAdmin

Du kan nå få tilgang til PhpMyAdmin gjennom nettleseren din ved å navigere til serverens IP-adresse eller domenenavn etterfulgt av "/phpmyadmin" i URL-en:

http://your_server_ip/phpmyadmin

Logg på med MySQL- eller MariaDB-legitimasjonen din.

Trinn 9: Tillat ekstern tilgang i PhpMyAdmin

Åpne PhpMyAdmin-konfigurasjonsfilen.

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

Finn -delen eller delen der PhpMyAdmin er konfigurert og oppdaterer Require-direktivet for å tillate alle IP-adresser for å få tilgang til PhpMyAdmin.

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

Konfigurasjonen ovenfor tillater tilgang fra hvilken som helst IP-adresse, men hvis du vil begrense tilgangen til spesifikke IP-er, erstatt Krev alle gitt med Krev ip din_ip.

Start Apache på nytt for å bruke endringene.

sudo systemctl restart httpd

Nå skal du kunne få tilgang til PhpMyAdmin fra omverdenen ved å bruke serverens IP-adresse eller domene.

http://your_server_ip/phpmyadmin

Husk at å åpne tilgang til PhpMyAdmin fra omverdenen kan utgjøre sikkerhetsrisikoer. Sørg for at du har en sterk autentiseringsmekanisme på plass, og vurder å bruke HTTPS for kryptert kommunikasjon. Begrens også tilgangen til bare pålitelige IP-adresser hvis mulig eller sikker PhpMyAdmin-påloggings-URL.

Endre phpMyAdmin påloggings-URL

Standard påloggings-URL for phpMyAdmin er forutsigbar og ofte målrettet av ondsinnede aktører som forsøker å utnytte sårbarheter. Endring av påloggings-URLen legger til et ekstra lag med sikkerhet, noe som gjør det vanskeligere for uautoriserte brukere å få tilgang til grensesnittet for databaseadministrasjon.

For å gjøre det, opprette en /etc/httpd/conf.d/phpMyAdmin.conf konfigurasjonsfil.

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

Deretter legger du til følgende konfigurasjon.

#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>

Erstatt /my med ønsket egendefinert påloggings-URL. Lagre endringene og gå ut av tekstredigering.

Etter å ha gjort endringer i konfigurasjonsfilene, start Apache på nytt for å bruke modifikasjonene:

systemctl restart httpd

Åpne nettleseren din og naviger til den nye phpMyAdmin påloggings-URLen.

http://yourdomain.com/my/

Sette opp SSL for phpMyAdmin

Å sikre kommunikasjonen mellom Apache-nettserveren og phpMyAdmin er avgjørende for å beskytte sensitiv informasjon som påloggingsinformasjon og databaseinnhold. En effektiv måte å oppnå dette på er ved å konfigurere SSL (Secure Socket Layer) for phpMyAdmin på en Apache-nettserver.

For å gjøre det, installer først mod_ssl-modulen på serveren din.

yum install httpd mod_ssl openssl

Deretter oppretter du en katalog for å lagre sertifikatet og genererer et selvsignert SSL-sertifikat og privat nøkkel som vist.

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

Etter å ha opprettet SSL-sertifikatet og nøkkelen, åpner du Apache SSL-konfigurasjonsfilen.

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

Deretter legger du til følgende linjer i konfigurasjonsfilen.

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

Lagre endringene og start Apache-nettserveren på nytt.

systemctl restart httpd

Åpne nå phpMyAdmin-konfigurasjonsfilen.

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

Legg til følgende linjer for å tvinge SSL for phpMyAdmin.

$cfg['ForceSSL'] = true;

Lagre endringene og gå ut av tekstredigering.

Til slutt, åpne nettleseren din og naviger til følgende URL for å få tilgang til phpMyAdmin over en sikker SSL-tilkobling.

https://yourdomain.com/my/

Vær oppmerksom på at meldingen som indikerer en usikker tilkobling utelukkende skyldes bruken av et selvsignert sertifikat. For å fortsette, klikk på "Avansert" og bekreft sikkerhetsunntaket.

Konklusjon

Gratulerer! Du har installert PhpMyAdmin med Apache på RHEL-, CentOS Stream-, Rocky Linux- eller AlmaLinux-systemet ditt. Dette nettbaserte verktøyet forenkler administrasjonen av databasene dine, og gjør oppgaver som databaseoppretting, spørringer og dataadministrasjon til en lek.