Ako nainštalovať a zabezpečiť phpMyAdmin na Alma Linux 8


Na tejto stránke

  1. Predpoklady
  2. Nainštalujte LEMP Server
  3. Vytvorte používateľa pre phpMyAdmin
  4. Nainštalujte phpMyAdmin na Alma Linux 8
  5. Nakonfigurujte Nginx pre phpMyAdmin
  6. Nakonfigurujte bránu firewall
  7. Prístup k webovému používateľskému rozhraniu phpMyAdmin
  8. Záver

phpMyAdmin je bezplatná a open source aplikácia na správu databáz pre MySQL a MariaDB. Umožňuje vám spravovať, vykonávať rôzne úlohy súvisiace s databázou a vykonávať dotazy z webového rozhrania. Je napísaný v PHP a poskytuje robustné a užívateľsky prívetivé rozhranie na správu databáz cez webový prehliadač. Je multiplatformový a môže bežať na mnohých operačných systémoch vrátane Windows, MacOS, Linux a BSD.

V tomto návode sa naučíte, ako nainštalovať phpMyAdmin na Alma Linux 8.

Predpoklady

  • Server so systémom Alma Linux 8.
  • Platný názov domény označený IP adresou vášho servera.
  • Na serveri je nakonfigurované heslo root.

Nainštalujte LEMP Server

Najprv nainštalujte webový server Nginx a databázový server MariaDB pomocou nasledujúceho príkazu:

dnf install nginx mariadb -y

Ďalej nainštalujte úložisko Remi PHP pomocou nasledujúceho príkazu:

dnf -y install http://rpms.remirepo.net/enterprise/remi-release-8.rpm

Ďalej deaktivujte predvolený modul PHP a povoľte modul Remi PHP pomocou nasledujúceho príkazu:

dnf module -y reset php
dnf module install php:remi-7.4 -y

Ďalej nainštalujte PHP s ďalšími požadovanými rozšíreniami pomocou nasledujúceho príkazu:

dnf install php php-cli php-common php-fpm php-curl php-gd php-mbstring php-process php-snmp php-xml php-zip php-memcached php-mysqlnd php-json php-mbstring php-pdo php-pdo-dblib php-xml unzip wget -y

Po nainštalovaní všetkých balíkov upravte konfiguračný súbor PHP-FPM:

nano /etc/php-fpm.d/www.conf

Zmeňte používateľa a skupinu z Apache na Nginx:

user = nginx
group = nginx

Uložte a zatvorte súbor, potom spustite a povoľte služby Nginx, MariaDB a PHP-FPM pomocou nasledujúceho príkazu:

systemctl start nginx php-fpm mariadb
systemctl enable nginx php-fpm mariadb

Vytvorte používateľa pre phpMyAdmin

Ďalej sa odporúča vytvoriť samostatného používateľa pre phpMyAdmin na vykonávanie všetkých úloh správy databázy. Najprv zabezpečte MariaDB spustením nasledujúceho príkazu:

mysql_secure_installation

Tento skript nastaví heslo používateľa root, odstráni anonymných používateľov, zakáže vzdialené prihlásenie používateľa root a odstráni testovaciu databázu, ako je uvedené nižšie:

Set root password? [Y/n] n
Remove anonymous users? [Y/n] y
Disallow root login remotely? [Y/n] y
Remove test database and access to it? [Y/n] y
Reload privilege tables now? [Y/n] y

Ďalej sa prihláste do MariaDB pomocou nasledujúceho príkazu:

mysql

Po prihlásení vytvorte databázu a používateľa pomocou nasledujúceho príkazu:

MariaDB [(none)]> CREATE DATABASE phpmyadmin CHARACTER SET utf8 COLLATE utf8_unicode_ci;
MariaDB [(none)]> CREATE USER 'phpmyadmin'@'%' IDENTIFIED BY 'password';

Ďalej udeľte všetky privilégiá správcovi:

MariaDB [(none)]> GRANT ALL PRIVILEGES ON *.* TO 'phpmyadmin'@'%';

Potom vyprázdnite privilégiá a ukončite konzolu MariaDB pomocou nasledujúceho príkazu:

MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;

Nainštalujte phpMyAdmin na Alma Linux 8

Ďalej si stiahnite najnovšiu verziu phpMyAdmin z ich oficiálnej webovej stránky:

wget https://files.phpmyadmin.net/phpMyAdmin/5.1.3/phpMyAdmin-5.1.3-all-languages.zip

Po dokončení sťahovania rozbaľte stiahnutý súbor pomocou nasledujúceho príkazu:

unzip phpMyAdmin-5.1.3-all-languages.zip

Ďalej presuňte extrahovaný adresár do koreňového webového adresára Nginx:

mv phpMyAdmin-5.1.3-all-languages /usr/share/nginx/phpmyadmin

Potom skopírujte vzorový konfiguračný súbor pomocou nasledujúceho príkazu:

cp /usr/share/nginx/phpmyadmin/config{.sample,}.inc.php

Potom upravte konfiguračný súbor pomocou nasledujúceho príkazu:

nano /usr/share/nginx/phpmyadmin/config.inc.php

Definujte svoje tajomstvo, ako je uvedené nižšie:

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

Uložte a zatvorte súbor a potom zmeňte vlastníctvo adresára phpMyAdmin:

chown -R nginx:nginx /usr/share/nginx/phpmyadmin
chown -R nginx:nginx /var/lib/php/session/

Nakonfigurujte Nginx pre phpMyAdmin

Ďalej budete musieť vytvoriť konfiguračný súbor virtuálneho hostiteľa Nginx pre phpMyAdmin. Môžete ho vytvoriť pomocou nasledujúceho príkazu:

nano /etc/nginx/conf.d/phpmyadmin.conf

Pridajte nasledujúce riadky:

server {
    listen       80;
    server_name  phpmyadmin.example.com;
    root         /usr/share/nginx/phpmyadmin;
    
    access_log /var/log/nginx/phpmyadmin_access.log;
    error_log /var/log/nginx/phpmyadmin_error.log;

    index   index.php;

    location / {
        try_files    $uri $uri/ /index.php?$args;
    }
    location ~ \.php$ {
         try_files $uri =404;
         fastcgi_intercept_errors on;
         include        fastcgi_params;
         fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
         fastcgi_pass unix:/run/php-fpm/www.sock;
     }
}

Uložte a zatvorte súbor a potom pomocou nasledujúceho príkazu overte, či Nginx neobsahuje chybu konfigurácie syntaxe:

nginx -t

Získate nasledujúci výstup:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Potom reštartujte službu Nginx, aby ste použili zmeny:

systemctl restart nginx php-fpm

Teraz môžete overiť stav Nginx pomocou nasledujúceho príkazu:

systemctl status nginx

Mali by ste vidieť nasledujúci výstup:

? nginx.service - The nginx HTTP and reverse proxy server
   Loaded: loaded (/usr/lib/systemd/system/nginx.service; disabled; vendor preset: disabled)
  Drop-In: /usr/lib/systemd/system/nginx.service.d
           ??php-fpm.conf
   Active: active (running) since Fri 2022-04-15 10:06:39 UTC; 3s ago
  Process: 85445 ExecStart=/usr/sbin/nginx (code=exited, status=0/SUCCESS)
  Process: 85443 ExecStartPre=/usr/sbin/nginx -t (code=exited, status=0/SUCCESS)
  Process: 85442 ExecStartPre=/usr/bin/rm -f /run/nginx.pid (code=exited, status=0/SUCCESS)
 Main PID: 85449 (nginx)
    Tasks: 2 (limit: 11412)
   Memory: 3.8M
   CGroup: /system.slice/nginx.service
           ??85449 nginx: master process /usr/sbin/nginx
           ??85450 nginx: worker process

Apr 15 10:06:39 linux systemd[1]: nginx.service: Succeeded.
Apr 15 10:06:39 linux systemd[1]: Stopped The nginx HTTP and reverse proxy server.
Apr 15 10:06:39 linux systemd[1]: Starting The nginx HTTP and reverse proxy server...
Apr 15 10:06:39 linux nginx[85443]: nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
Apr 15 10:06:39 linux nginx[85443]: nginx: configuration file /etc/nginx/nginx.conf test is successful
Apr 15 10:06:39 linux systemd[1]: nginx.service: Failed to parse PID from file /run/nginx.pid: Invalid argument
Apr 15 10:06:39 linux systemd[1]: Started The nginx HTTP and reverse proxy server.

Nakonfigurujte bránu firewall

Ďalej budete musieť povoliť službu HTTP cez bránu firewall. Môžete to povoliť pomocou nasledujúceho príkazu:

firewall-cmd --permanent --zone public --add-service http

Potom znova načítajte bránu firewall, aby ste použili zmeny:

firewall-cmd --reload

Prístup k webovému používateľskému rozhraniu phpMyAdmin

Teraz otvorte webový prehliadač a prejdite do phpMyAdmin pomocou adresy URL http://phpmyadmin.example.com. Mali by ste vidieť prihlasovaciu stránku phpMyAdmin:

Zadajte svoje používateľské meno, heslo správcu a kliknite na tlačidlo Prejsť. Po prihlásení by ste mali vidieť hlavný panel phpMyAdmin:

Kliknite na tlačidlo Databázy. Mali by ste vidieť nasledujúcu stránku:

Zadajte názov databázy, ktorú chcete vytvoriť, a kliknite na tlačidlo Vytvoriť.

Vyberte databázy, ktoré chcete vymazať, a kliknutím na tlačidlo Drop vymažte databázu. Mali by ste vidieť nasledujúcu stránku:

Kliknutím na tlačidlo OK potvrďte a vymažte vybrané databázy.

Záver

Gratulujem! úspešne ste nainštalovali phpMyAdmin s Nginx na Alma Linux 8. Teraz môžete spravovať svoje databázy MySQL a MariaDB cez webový prehliadač. Ak máte nejaké otázky, neváhajte sa ma opýtať.