Kako instalirati PhpMyAdmin sa Apacheom u RHEL sistemima


U ovom članku ćemo vas provesti kroz korak po korak proces instaliranja najnovije verzije PhpMyAdmin sa Apache web serverom na RHEL-baziranim distribucijama kao što je CentOS Stream >, Fedora, Rocky Linux, i Alma Linux.

Šta je PhpMyAdmin?

PhpMyAdmin je popularan i moćan web-bazirani alat za upravljanje bazom podataka, a posjedovanje najnovije verzije osigurava vam pristup najnovijim funkcijama i sigurnosnim poboljšanjima. Do kraja ovog vodiča moći ćete s lakoćom upravljati svojim MySQL ili MariaDB bazama podataka koristeći PhpMyAdmin.

Preduvjeti

Prije nego počnemo, uvjerite se da imate sljedeće:

  • Pristup sistemu RHEL, CentOS Stream, Fedora, Rocky Linux ili AlmaLinux.
  • Provjerite možete li se ili prijaviti kao root korisnik ili imate sudo privilegije za instaliranje softvera.
  • Postojeći stog LAMP, koji uključuje Apache, MySQL/MariaDB i PHP. Ako nemate LAMP, možete slijediti ove korake da ga postavite.

Korak 1: Ažurirajte sistem

Prije instaliranja bilo kojeg softvera, ključno je osigurati da je vaš sistem ažuriran tako što ćete pokrenuti sljedeću dnf komandu.

sudo dnf update

Ovo će ažurirati sve pakete na vašem sistemu na najnovije verzije.

Korak 2: Instalirajte Apache Web server

PhpMyAdmin je alat zasnovan na webu, a da biste ga koristili, morate instalirati Apache web server koristeći sljedeću naredbu.

sudo dnf install httpd

Jednom instaliran, pokrenite Apache uslugu i omogućite joj da se pokrene pri pokretanju.

sudo systemctl start httpd
sudo systemctl enable httpd

Korak 3: Instalirajte MariaDB ili MySQL

Također će vam trebati server baze podataka. Možete odabrati da instalirate ili MariaDB ili MySQL, ali ćemo u ovom primjeru koristiti MariaDB.

sudo dnf install mariadb-server

Kada se instalira, pokrenite uslugu MariaDB i omogućite joj da se pokrene pri pokretanju.

sudo systemctl start mariadb
sudo systemctl enable mariadb

Zatim osigurajte svoju MariaDB instalaciju pokretanjem skripte, koja će od vas tražiti da unesete lozinku za root korisnika, zabranite udaljenu root prijavu i uklonite anonimne korisnike. Također će ukloniti testnu bazu podataka, kojoj po defaultu mogu pristupiti anonimni korisnici.

sudo mysql_secure_installation

Korak 4: Instalirajte PHP

PhpMyAdmin je napravljen sa PHP, tako da moramo instalirati PHP i neka potrebna proširenja koristeći sljedeću naredbu.

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

Korak 5: Instalirajte PhpMyAdmin

Sada, nastavimo s instalacijom PhpMyAdmin na naš Linux sistem navigacijom do korijenskog direktorija dokumenata web servera /var/www/html kao što je prikazano.

cd /var/www/html

Zatim preuzmite najnoviju verziju PhpMyAdmin koristeći sljedeću naredbu wget kao što je prikazano.

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

Nakon preuzimanja, raspakirajte preuzetu arhivu i preimenujte direktorij radi praktičnosti.

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

Kreirajte konfiguracionu datoteku za PhpMyAdmin.

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

Uredite konfiguracijski fajl:

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

Pronađite sljedeću liniju i postavite vlastiti blowfish_secret:

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

Sačuvajte i izađite iz datoteke.

Korak 6: Otvorite Apache port u firewalld-u

Prema zadanim postavkama, Apache obično koristi portove 80 i 443 za HTTP i HTTPS, respektivno. Da otvorite Apache portove i dozvolite pristup PhpMyAdmin na vašem serveru, pokrenite:

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

Ove komande dodaju pravilo koje dozvoljava dolazni saobraćaj na navedenom portu i ponovo učitava zaštitni zid da primeni promene.

Korak 7: Ponovo pokrenite Apache Web server

Konačno, ponovo pokrenite Apache da primijenite promjene:

sudo systemctl restart httpd

Korak 8: Pristupite PhpMyAdmin-u

Sada možete pristupiti PhpMyAdmin putem vašeg web pretraživača tako što ćete otići do IP adrese ili imena domene vašeg servera praćenog "/phpmyadmin" u URL-u:

http://your_server_ip/phpmyadmin

Prijavite se koristeći svoje MySQL ili MariaDB vjerodajnice.

Korak 9: Dozvolite vanjski pristup u PhpMyAdmin

Otvorite PhpMyAdmin konfiguracijski fajl.

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

Pronađite odjeljak ili odjeljak u kojem je vaš PhpMyAdmin konfiguriran i ažurira Require direktivu da omogući sve IP adrese za pristup PhpMyAdmin.

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

Gornja konfiguracija dozvoljava pristup sa bilo koje IP adrese, ali ako želite ograničiti pristup na određene IP adrese, zamijenite Zahtijevaj sve odobrene sa Zahtijevaj ip svoj_ip.

Ponovo pokrenite Apache da primijenite promjene.

sudo systemctl restart httpd

Sada biste trebali moći pristupiti PhpMyAdmin iz vanjskog svijeta koristeći IP adresu ili domenu vašeg servera.

http://your_server_ip/phpmyadmin

Zapamtite, otvaranje pristupa PhpMyAdmin iz vanjskog svijeta može predstavljati sigurnosni rizik. Uvjerite se da imate jak mehanizam autentifikacije i razmislite o korištenju HTTPS-a za šifriranu komunikaciju. Osim toga, ograničite pristup samo na pouzdane IP adrese ako je moguće ili sigurni URL za prijavu na PhpMyAdmin.

Promijenite URL za prijavu na phpMyAdmin

Zadani URL za prijavu za phpMyAdmin je predvidljiv i obično gađaju zlonamjerni akteri koji pokušavaju da iskoriste ranjivosti. Promjena URL-a za prijavu dodaje dodatni sloj sigurnosti, što otežava neovlaštenim korisnicima pristup vašem interfejsu za upravljanje bazom podataka.

Da biste to učinili, kreirajte /etc/httpd/conf.d/phpMyAdmin.conf konfiguracijski fajl.

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

Zatim dodajte sljedeću konfiguraciju.

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

Zamijenite /my sa vašim željenim prilagođenim URL-om za prijavu. Sačuvajte promene i izađite iz uređivača teksta.

Nakon što izvršite promjene u konfiguracijskim datotekama, ponovo pokrenite Apache da biste primijenili izmjene:

systemctl restart httpd

Otvorite svoj web pretraživač i idite na novi phpMyAdmin URL za prijavu.

http://yourdomain.com/my/

Postavljanje SSL-a za phpMyAdmin

Osiguravanje komunikacije između Apache web servera i phpMyAdmin-a je ključno za zaštitu osjetljivih informacija kao što su vjerodajnice za prijavu i sadržaj baze podataka. Jedan efikasan način da se to postigne je konfigurisanje SSL (Secure Socket Layer) za phpMyAdmin na Apache web serveru.

Da biste to učinili, prvo instalirajte mod_ssl modul na vaš server.

yum install httpd mod_ssl openssl

Zatim kreirajte direktorij za pohranu certifikata i generirajte samopotpisani SSL certifikat i privatni ključ kao što je prikazano.

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

Nakon kreiranja SSL certifikata i ključa, otvorite Apache SSL konfiguracijsku datoteku.

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

Zatim dodajte sljedeće redove u konfiguracijski fajl.

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

Sačuvajte promene i ponovo pokrenite Apache web server.

systemctl restart httpd

Sada otvorite konfiguracionu datoteku phpMyAdmin.

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

Dodajte sljedeće redove da forsirate SSL za phpMyAdmin.

$cfg['ForceSSL'] = true;

Sačuvajte promene i izađite iz uređivača teksta.

Konačno, otvorite svoj web pretraživač i idite na sljedeći URL da biste pristupili phpMyAdminu preko sigurne SSL veze.

https://yourdomain.com/my/

Imajte na umu da je poruka koja ukazuje na nesigurnu vezu isključivo posljedica korištenja samopotpisanog certifikata. Da biste nastavili, kliknite na "Napredno" i potvrdite sigurnosni izuzetak.

Zaključak

Čestitamo! Uspješno ste instalirali PhpMyAdmin sa Apacheom na svoj RHEL, CentOS Stream, Rocky Linux ili AlmaLinux sistem. Ovaj alat zasnovan na webu pojednostavljuje upravljanje vašim bazama podataka, čineći zadatke poput kreiranja baze podataka, upita i upravljanja podacima lakim.