Skip to content
VDS · Databázy

phpMyAdmin a Adminer: databázové panely

Ako nainštalovať webový panel pre databázu na VDS a zabezpečiť ho, aby sa nestal vstupnou bránou: prístup cez heslo, obmedzenie adries, alternatívy.

Aktualizované 23. augusta 2026

Webový panel je pohodlný na jednorazové úpravy a prezeranie tabuliek. Je to však aj najčastejšia príčina kompromitácie servera: adresy /phpmyadmin sa automaticky brute-forceujú a prihlasovací formulár poskytuje priamy prístup k dátam.

Adminer: jediný súbor

Adminer je jediný PHP súbor a podporuje MySQL, PostgreSQL aj SQLite. Netreba nič inštalovať:

mkdir -p /var/www/tools
curl -L -o /var/www/tools/adminer.php \
  https://github.com/vrana/adminer/releases/latest/download/adminer.php
chown www-data:www-data /var/www/tools/adminer.php

Potrebuješ funkčný PHP-FPM. Najlepšie je premenovať súbor na niečo neobvyklé — nie je to ochrana, ale odstráni to hromadné skenovanie.

phpMyAdmin

apt install -y phpmyadmin

Balík sa k Apache pripojí automaticky; pre Nginx zadaj cestu ručne:

location /db-panel {
    alias /usr/share/phpmyadmin;
    index index.php;
    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_param SCRIPT_FILENAME $request_filename;
        fastcgi_pass unix:/run/php/php8.3-fpm.sock;
    }
}

Nevyhnutná ochrana

Nikdy neinštaluj panel bez týchto troch vecí.

Prístup len z tvojej adresy:

location /db-panel {
    allow 203.0.113.10;
    deny all;
}

Dodatočné heslo na úrovni webového servera:

apt install -y apache2-utils
htpasswd -c /etc/nginx/.htpasswd admin
auth_basic "Restricted";
auth_basic_user_file /etc/nginx/.htpasswd;

A tretia vec je iba HTTPS: certifikát Let's Encrypt. Bez neho sa heslo k databáze posiela v čistom texte.

Najlepšia možnosť: žiadny panel vystavený navonok

Ak je tvoja adresa dynamická, panel vôbec nevystavuj. Nastav SSH tunel a pracuj s desktopovým klientom — DBeaver, TablePlus, HeidiSQL:

ssh -L 3307:127.0.0.1:3306 root@YOUR_ADDRESS -N

Podrobnosti — vzdialený prístup. Takto nie je navonok vystavené nič okrem SSH a panel jednoducho nepotrebuješ.

Časté chyby

PríznakPríčina
Prehliadač stiahne adminer.phpPHP nie je pripojené k tejto ceste
#1045 Access deniedPoužívateľ databázy je naviazaný na iný hostiteľ
Import veľkého dumpu sa prerušíupload_max_filesize a max_execution_time sú príliš malé; lepšie je importovať z konzoly
Tisíce požiadaviek na /phpmyadmin v logochRutinné skenovanie — panel by mal byť zatvorený
Panel funguje, ale stránka nieZdieľaný PHP-FPM pool vyčerpávajú náročné požiadavky panela

Dumpty cez webový panel pri veľkých databázach vypršia. Skutočná záloha sa robí z konzoly podľa plánu — zálohy databázy.