Jak nainstalovat phpMyAdmin na Ubuntu 24.04, 22.04 nebo 20.04

phpMyAdmin je bezplatný a open-source administrační nástroj pro MySQL a MariaDB. Jako přenosná webová aplikace napsaná v PHP se stala jedním z nejoblíbenějších nástrojů pro správu MySQL, zejména pro webhostingové služby. Tento nástroj poskytuje uživatelsky přívětivé webové rozhraní pro přístup a správu vašich databází.

Zde jsou klíčové funkce a přednosti, díky kterým je phpMyAdmin vhodnou volbou pro správu databází:

  • Webové rozhraní: Přístup k databázím a jejich správa odkudkoli prostřednictvím webového prohlížeče.
  • Komplexní správa databáze: Provádění různých činností, včetně procházení databází, tabulek, sloupců, vztahů, indexů, uživatelů, oprávnění a provádění příkazů SQL.
  • Import a export dat: Snadno importujte data z CSV a SQL a exportujte data do různých formátů, jako jsou CSV, SQL, XML, PDF, ISO/IEC 26300—OpenDocument Text and Spreadsheet, Word, Excel, LATEX a další.
  • Vlastnosti MySQL: Plná podpora funkcí MySQL, včetně správy databází, tabulek, sloupců, vztahů, indexů, uživatelů a oprávnění.
  • Pokročilé dotazování: Funkce Query-by-example (QBE) vytváří složité dotazy.
  • Vizualizace: Generujte vizuální reprezentace vašich databází a jejich struktur.
  • PHP kompatibilita: Plně napsáno v PHP, zajišťující kompatibilitu se systémy PHP.
  • Vícejazyčná podpora: K dispozici v 78 jazycích, díky čemuž je přístupný uživatelům po celém světě.

Tyto funkce zvýrazňují schopnost phpMyAdmin efektivně zpracovávat různé úlohy správy databází, což vyhovuje začátečníkům i zkušeným uživatelům. Dále se pojďme ponořit do technických kroků k instalaci a konfiguraci phpMyAdmin s Nginx na Ubuntu.

Aktualizujte Ubuntu před instalací LEMP

Pro hladký průběh instalace a předcházení konfliktům před zahájením kurzu aktualizujte svůj systém nejnovějšími balíčky:

sudo apt update && sudo apt upgrade

Nainstalujte LEMP Stack pro phpMyAdmin

Nainstalujte část Nginx LEMP

Chcete-li nastavit zásobník LEMP, začněte instalací Nginx pomocí příkazu níže:

sudo apt install nginx

Služba je obvykle po instalaci standardně povolena. Vždy však ověřte a ujistěte se, že funguje správně:

systemctl status nginx

Pokud server není aktivován, aktivujte jej pomocí následujícího příkazu a nastavte automatické spouštění Nginx při každém restartu:

sudo systemctl enable nginx --now

Nainstalujte část MariaDB LEMP

Druhá fáze instalace LEMP zahrnuje instalaci komponenty databáze. MariaDB je obvykle preferovanou volbou v LEMP stacku před MySQL kvůli jeho lepšímu výkonu a dalším výhodám. Pokud dáváte přednost instalaci jiné verze MariaDB z oficiálních úložišť poskytovaných MariaDB.org, najdete našeho průvodce na instalace MariaDB 11.x nebo 10.x na Ubuntu.

Chcete-li nainstalovat MariaDB, spusťte ve svém terminálu následující příkaz.

sudo apt install mariadb-server mariadb-client

Po instalaci ověřte stav služby MariaDB, jako jste to udělali pro Nginx, abyste se ujistili, že je povolena a funguje správně bez chyb.

systemctl status mariadb

Pokud server není aktivován, použijte následující příkaz k aktivaci a spuštění MariaDB při restartu:

sudo systemctl enable mariadb --now

Spusťte MariaDB Post Installation Security Script na Ubuntu

Spusťte bezpečnostní skript instalace během procesu instalace MariaDB, abyste zabezpečili svou instalaci a zabránili potenciálnímu zneužití nebo vniknutí škodlivých aktérů. Průmysl velmi doporučuje tento skript, protože nové verze MariaDB často přicházejí s výchozím nastavením, které je považováno za slabé a riskantní.

Chcete-li začít, spusťte následující příkaz pro spuštění (mysql_secure_installation):

sudo mysql_secure_installation

Po spuštění skriptu mysql_secure_installation je dalším krokem konfigurace nastavení. To zahrnuje nastavení hesla uživatele root, omezení vzdáleného přístupu z externích zdrojů, odstranění anonymních uživatelských účtů a odstranění testovací databáze. Tyto kroky pomáhají zabezpečit vaši instalaci MariaDB a zabránit potenciálním bezpečnostním hrozbám.

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!

In order to log into MariaDB to secure it, we'll need the current
password for the root user. If you've just installed MariaDB, and
haven't set the root password yet, you should just press enter here.

Enter current password for root (enter for none): 
OK, successfully used password, moving on...

Setting the root password or using the unix_socket ensures that nobody
can log into the MariaDB root user without the proper authorisation.

You already have your root account protected, so you can safely answer 'n'.

Switch to unix_socket authentication [Y/n] Y <---- Type Y then press the ENTER KEY.
Enabled successfully!
Reloading privilege tables..
 ... Success!


You already have your root account protected, so you can safely answer 'n'.

Change the root password? [Y/n] Y <---- Type Y then press the ENTER KEY.
New password: 
Re-enter new password: 
Password updated successfully!
Reloading privilege tables..
 ... Success!


By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n] Y <---- Type Y then press the ENTER KEY.
 ... Success!

Normally, root should only be allowed to connect from 'localhost'.  This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] Y <---- Type Y then press the ENTER KEY.
 ... Success!

By default, MariaDB comes with a database named 'test' that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n] Y <---- Type Y then press the ENTER KEY.
 - Dropping test database...
 ... Success!
 - Removing privileges on test database...
 ... Success!

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n] Y <---- Type Y then press the ENTER KEY.
 ... Success!

Cleaning up...

All done!  If you've completed all of the above steps, your MariaDB
installation should now be secure.

Thanks for using MariaDB!

Nainstalujte PHP část LEMP

Dokončení instalačního procesu LEMP vyžaduje instalaci služby PHP, prostředníka mezi Nginx a MariaDB. Služba PHP-FPM a další moduly požadované phpMyAdminem to usnadňují. Pokud si přejete nainstalovat jinou verzi PHP, poraďte se náš průvodce instalací PHP 8.x na Ubuntu informace o instalaci verze PHP, která vyhovuje vašim potřebám.

Chcete-li nainstalovat PHP a PHP-FPM a potřebné moduly na váš systém Ubuntu, spusťte ve svém terminálu následující příkaz.

sudo apt install php-fpm php-mbstring php-bcmath php-xml php-mysql php-common php-gd php-cli php-curl php-zip php-gd

Po instalaci ověřte stav služby PHP, jako jste to udělali pro MariaDB, abyste se ujistili, že je povolena a běží správně bez chyb.

Příklad příkazu je specifický pro nainstalovanou verzi PHP; v tomto případě to bylo pro PHP 8.1.

systemctl status php8.1-fpm

Aktivujte službu PHP pomocí následujícího příkazu, pokud ještě není aktivní; tento příkaz také zajišťuje automatické spouštění služby při každém restartu.

sudo systemctl enable php-fpm --now

Nainstalujte phpMyAdmin Backend na Ubuntu

Tato část se bude zabývat stažením archivu PHPMyAdmin a vytvořením potřebných adresářů, oprávnění a položek databáze.

Vytvořte uživatelské jméno phpMyAdmin Super User

Přístup k phpMyAdmin standardně s uživatelem root. Z bezpečnostních důvodů však místo uživatele root vytvořte samostatného superuživatele, který je v souladu s používáním uživatele sudo v Linuxu namísto přihlašování jako root. Začněte přihlášením do rozhraní terminálu:

sudo mariadb -u root

Po přihlášení do terminálového rozhraní je dalším krokem vytvoření databáze v terminálu MariaDB.

CREATE USER PMAUSER IDENTIFIED BY 'password here change';

Dalším krokem je vytvoření uživatele a udělení příslušných oprávnění, jak je uvedeno níže:

GRANT ALL PRIVILEGES ON *.* TO 'PMAUSER'@'localhost' IDENTIFIED BY 'password here change' WITH GRANT OPTION;

Poznámka: Před provedením příkazů musíte změnit vzorové heslo „password here change“. Aktualizujte heslo namísto pouhého kopírování a vkládání.

Nastavte uživatele a oprávnění a poté oprávnění okamžitě aktivujte, aby se změny aktivovaly.

FLUSH PRIVILEGES;

Chcete-li opustit terminál MariaDB, použijte následující příkaz.

QUIT;

Stáhněte si zdroj phpMyAdmin

V této části se budeme zabývat stažení archivu zdroje pro phpMyAdmin. Pokud používáte terminál příkazového řádku, existuje pohodlný způsob stažení nejnovější verze všech jazyků.

Chcete-li stáhnout archiv phpMyAdmin, spusťte v terminálu následující příkaz.

DATA="$(wget https://www.phpmyadmin.net/home_page/version.txt -q -O-)"
URL="$(echo $DATA | cut -d ' ' -f 3)"
VERSION="$(echo $DATA | cut -d ' ' -f 1)"
wget https://files.phpmyadmin.net/phpMyAdmin/${VERSION}/phpMyAdmin-${VERSION}-all-languages.tar.gz

Pokud dáváte přednost stažení pouze anglické verze phpMyAdmin, nahraďte koncový řádek předchozího příkazu následujícím:

wget https://files.phpmyadmin.net/phpMyAdmin/${VERSION}/phpMyAdmin-${VERSION}-english.tar.gz

Po stažení archivu phpMyAdmin je dalším krokem jeho rozbalení provedením následujícího příkazu:

tar xvf phpMyAdmin-${VERSION}-all-languages.tar.gz

Nakonfigurujte phpMyAdmin

Následující krok zahrnuje přesun všech extrahovaných souborů do jejich konečného umístění ve standardním adresáři /var/www/ pomocí příkazu mv.

sudo mv phpMyAdmin-*/ /var/www/phpmyadmin

Instalace phpMyAdmin ze zdroje ve výchozím nastavení nevyžaduje adresář TMP. V důsledku toho musíte tento adresář vytvořit ručně.

sudo mkdir /var/www/phpmyadmin/tmp

Adresář phpMyAdmin obsahuje ukázkový soubor výchozí konfigurace. Přejmenujte tento soubor, aby jej phpMyAdmin rozpoznal. Pomocí příkazu CP zálohujte výchozí soubor a vytvořte jeho kopii v adresáři /var/www/phpmyadmin/.

Chcete-li zkopírovat soubor config.sample.inc.php do config.inc.php, spusťte následující příkaz:

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

Po zkopírování souboru jej otevřete pomocí preferovaného textového editoru. Nano textový editor je příkladem:

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

phpMyAdmin využívá šifru Blowfish. Pro přístup k tomuto nastavení přejděte dolů na řádek, který začíná $cfg['blowfish_secret'].

$cfg['blowfish_secret'] = ''; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */

V rámci jednoduchých uvozovek musíte přiřadit 32 náhodných znaků. Nejjednodušší způsob, jak vygenerovat tento řetězec, je pomocí programu pwgen. Chcete-li nainstalovat pwgen, spusťte následující příkaz terminálu:

sudo apt install pwgen 

Po instalaci spusťte následující příkaz:

pwgen -s 32 1

To vám poskytne řetězec 32 náhodných znaků, které můžete použít jako tajemství blowfish, například:

Příklad přidání šifry do konfiguračního souboru (Nekopírovat):

$cfg['blowfish_secret'] = 'GO4GpscnhJbzB3HN7dgqvRzdIvIxXaaq'

Většině uživatelů postačí výchozí nastavení. Pokud se však váš server nachází na jiném serveru ve vaší síti, vyhledejte a upravte řádek $cfg['Servers'][$i]['host'] tak, aby odrážel privátní IP adresu. Viz příklad níže:

$cfg['Servers'][$i]['host'] = '192.168.55.101';

Nakonfigurujte oprávnění souboru phpMyAdmin

Nastavení oprávnění vlastníka adresáře na www-user je nezbytné pro zajištění kompatibility a bezpečnosti.

Chcete-li nastavit oprávnění chown:

sudo chown -R www-data:www-data /var/www/phpmyadmin/

Chcete-li nastavit oprávnění chmod:

sudo find /var/www/phpmyadmin/ -type d -exec chmod 755 {} \;
sudo find /var/www/phpmyadmin/ -type f -exec chmod 644 {} \;

Vytvořte blok serveru Nginx pro phpMyAdmin

Vytvořte blok serveru Nginx pro přístup k webovému rozhraní phpMyAdmin. Pro bezpečnost a předcházení útokům hrubou silou doporučujeme založit samostatnou subdoménu, kterou můžete pojmenovat podle svého uvážení.

Chcete-li začít, vytvořte a otevřete blok serveru pomocí textového editoru nano, jak je znázorněno níže:

sudo nano /etc/nginx/sites-available/phpmyadmin.conf

Po otevření souboru bloku serveru můžete do souboru vložit následující text. Nezapomeňte prosím nahradit adresu URL domény svou vlastní:

server {
  listen 80;
  listen [::]:80;
  server_name pma.example.com;
  root /var/www/phpmyadmin/;
  index index.php index.html index.htm index.nginx-debian.html;

  access_log /var/log/nginx/phpmyadmin_access.log;
  error_log /var/log/nginx/phpmyadmin_error.log;

  location / {
    try_files $uri $uri/ /index.php;
  }

  location ~ ^/(doc|sql|setup)/ {
    deny all;
  }

  location ~ \.php$ {
    fastcgi_pass unix:/run/php/php8.1-fpm.sock;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
    include snippets/fastcgi-php.conf;
  }

  location ~ /\.ht {
    deny all;
  }
}

Výše uvedený příklad obsahuje některé důležité poznámky:

  • /run/php/php8.1-fpm.sock; – Toto musí být změněno, aby odráželo vaši verzi PHP-FPM, jako je 8.0, 7.4 atd.
  • root /var/www/phpmyadmin/; – Toto je cesta nastavená v tutoriálu. Tento řádek musí být aktualizován, pokud umístíte phpMyAdmin na jiné místo.

Pokud jste jedinou osobou, která přistupuje k serveru ze statické adresy IP, můžete nad první položku umístění přidat následující kód. Příklad je uveden níže:

  allow <your ip address>;
  deny all; 

  location / {
    try_files $uri $uri/ /index.php;
  }
...........................................

To zablokuje všechny neoprávněné návštěvníky stránky s chybou 403 a umožní přístup pouze z vaší IP adresy. To může účinně zastavit útoky hrubou silou, ale nemusí být vhodné pro všechna nastavení. Pro uložení změn použijte (CTRL+O) a ukončete editor pomocí (CTRL+X).

Vytvořte symbolický odkaz z adresáře sites-available do adresáře sites-enabled pro uložení konfiguračního souboru.

sudo ln -s /etc/nginx/sites-available/phpmyadmin.conf /etc/nginx/sites-enabled/

Před restartováním služby Nginx je nezbytné provést test suchého běhu, zejména v živých prostředích, aby bylo zajištěno, že blokování serveru nebo jakékoli jiné změny vašich konfiguračních souborů nepovedou k chybám Nginx.

sudo nginx -t

Pokud je vaše konfigurace bezchybná, měli byste obdržet následující výstup:

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

Chcete-li implementovat změny, restartujte službu Nginx:

sudo systemctl restart nginx

Vstupte do webového uživatelského rozhraní phpMyAdmin

Pro přístup k webovému rozhraní otevřete preferovaný internetový prohlížeč a zadejte pma.example.com, kde „example“ nahraďte svou doménou. Měli byste se dostat na přihlašovací obrazovku phpMyAdmin, jak je uvedeno níže:

Zadejte své přihlašovací údaje a pokračujte na řídicí panel phpMyAdmin, jehož příklad můžete vidět níže.

Stojí za zmínku, že stránka statistik je k dispozici i pro nové uživatele phpMyAdmin.

Další užitečnou stránkou, o které byste měli vědět, je systém poradců.

Poradce doporučuje počkat 24 hodin, ale zvažte minimálně 72 hodin. Nespoléhejte výhradně na stránku poradce; provést změny po důkladném zvážení a testování. Optimalizace konfiguračních souborů MySQL nebo MariaDB vyžaduje čas a k dosažení požadovaných výsledků možná budete muset několikrát upravit a otestovat.

Bezpečná instalace phpMyAdmin LEMP přes SSL

Spuštění Nginx na HTTPS s certifikátem SSL je ideální pro nejlepší zabezpečení. Nejjednodušší způsob, jak toho dosáhnout, je použít Let's Encrypt, bezplatnou, automatizovanou a otevřenou certifikační autoritu provozovanou neziskovou organizací Internet Security Research Group (ISRG).

Chcete-li začít, nainstalujte balíček certbot pomocí následujícího příkazu:

sudo apt install python3-certbot-nginx -y

Po instalaci balíčku certbot spusťte následující příkaz pro zahájení vytváření certifikátu:

sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email you@example.com -d pma.example.com

Během instalace certifikátu vás systém vyzve k přijímání e-mailů od EFF (Electronic Frontier Foundation). Zvolte A nebo N. Tato volba spustí automatickou instalaci a konfiguraci vašeho certifikátu TLS s optimálním nastavením. Tato nastavení zahrnují přesměrování HTTPS 301, hlavičku Strict-Transport-Security a sešívání OCSP, vše přizpůsobené vašemu e-mailu a názvu domény. Po instalaci se vaše adresa URL převede z HTTP://pma.example.com na zabezpečenou HTTPS://pma.example.com a automaticky přesměruje starou HTTP URL na zabezpečenou verzi.

Pro větší pohodlí můžete nastavit úlohu cron pro automatickou obnovu vašich certifikátů a Certbot poskytuje skript, který to automaticky zpracuje. Před nastavením můžete provést test chodu nasucho, abyste se ujistili, že vše funguje správně.

sudo certbot renew --dry-run

Chcete-li otevřít okno crontab, proveďte následující příkaz terminálu:

sudo crontab -e

Ujistěte se, že denně kontrolujete obnovení, abyste udrželi aktuální certifikát. Je-li nutné obnovení, skript aktualizuje certifikát automaticky.

00 00 */1 * * /usr/sbin/certbot-auto renew

Závěr

V této příručce jsme vás provedli instalací phpMyAdmin s Nginx na Ubuntu 24.04, 22.04 nebo 20.04 LTS, takže cesta od základů příkazového řádku k co nejhladšímu zprovoznění systému správy databází. Pamatujte, že udržování aktuálního softwaru a zabezpečení instalace phpMyAdmin jsou zásadní kroky, které byste neměli přehlížet. Dobře nakonfigurované nastavení zlepšuje váš pracovní postup a chrání vaše data před potenciálními hrozbami. Udělejte si proto chvilku a poplácejte se po zádech za přidání dalšího nástroje do vašeho arzenálu pro vývoj webu. Neváhejte se ponořit hlouběji do funkcí a funkcí, které phpMyAdmin nabízí. Šťastné řízení!

užitečné odkazy

Zde je několik cenných odkazů souvisejících s používáním phpMyAdmin a souvisejících nástrojů:

  • Oficiální stránky phpMyAdmin: Navštivte oficiální web phpMyAdmin, kde najdete informace o nástroji pro správu databáze, funkcích a možnostech stahování.
  • Dokumentace phpMyAdmin: Přístup ke komplexní dokumentaci s podrobnými průvodci instalací, konfigurací a používáním phpMyAdmin.
  • Témata phpMyAdmin: Prozkoumejte dostupná témata a přizpůsobte si vzhled phpMyAdmin.
  • phpMyAdmin úložiště GitHub: Vstupte do úložiště GitHub phpMyAdmin, kde můžete zobrazit zdrojový kód, nahlásit problémy a přispět k vývoji.

Související nástroje

Joshua James
Následuj mě
Nejnovější příspěvky uživatele Joshua James (vidět vše)

Napsat komentář