Tento tutoriál vám ukáže, jak nainstalovat phpMyAdmin s Apache, MariaDB, PHP7.4 (zásobník LAMP) na Ubuntu 20.04 LTS. phpMyAdmin je bezplatný a open-source webový nástroj pro správu databází napsaný v PHP. Poskytuje uživatelům grafické webové rozhraní pro správu databáze MySQL nebo MariaDB.
phpMyAdmin umožňuje administrátorům:
- procházet databázemi a tabulkami;
- vytvářet, kopírovat, přejmenovávat, upravovat a rušit databáze;
- vytvářet, kopírovat, přejmenovávat, upravovat a rušit tabulky;
- provádět údržbu tabulek;
- přidávat, upravovat a rušit pole;
- provádět jakýkoli příkaz SQL, dokonce i více dotazů;
- vytvářet, měnit a rušit indexy;
- načíst textové soubory do tabulek;
- vytvářet a číst výpisy tabulek nebo databází;
- exportujte data do formátů SQL, CSV, XML, Word, Excel, PDF a LaTeX;
- spravovat více serverů;
- spravovat uživatele a oprávnění MySQL;
- zkontrolujte nastavení serveru a informace o běhu pomocí konfiguračních tipů;
- kontrola referenční integrity v tabulkách MyISAM;
- automaticky vytvářet složité dotazy pomocí jednotlivých příkladů (QBE)
- připojování požadovaných tabulek;
- vytvořit PDF grafiku rozložení databáze;
- globálně hledat v databázi nebo její podmnožině;
- transformovat uložená data do libovolného formátu pomocí sady předdefinovaných funkcí, jako je zobrazení dat BLOB jako obrázku nebo odkazu ke stažení;
- spravovat tabulky InnoDB a cizí klíče;
Předpoklady
Abyste mohli postupovat podle tohoto návodu, potřebujete operační systém Ubuntu 20.04 spuštěný na vašem místním počítači nebo na vzdáleném serveru.
Pokud hledáte VPS (virtuální soukromý server), můžete si vytvořit účet na Vultr přes můj odkaz na doporučení a získat kredit 50 $ zdarma (pouze pro nové uživatele). A pokud potřebujete nastavit phpMyAdmin s názvem domény, doporučuji zakoupit doménová jména od NameCheap, protože cena je nízká a poskytují ochranu soukromí whois zdarma.
Předpokládá se, že jste již nainstalovali zásobník LAMP na Ubuntu 20.04. Pokud ne, podívejte se prosím na následující návod.
- Jak nainstalovat zásobník LAMP (Apache, MariaDB, PHP7.4) na Ubuntu 20.04 LTS
Když je to z cesty, začněme s instalací phpMyAdmin.
Krok 1:Stáhněte a nainstalujte phpMyAdmin na Ubuntu 20.04
phpMyAdmin je součástí softwarového úložiště Ubuntu 20.04. takže jej můžeme snadno nainstalovat pomocí příkazu níže.
sudo apt update sudo apt install phpmyadmin
Výše uvedený příkaz nainstaluje všechny potřebné závislosti včetně rozšíření PHP7. Během instalace budete vyzváni k výběru webového serveru, který chcete nakonfigurovat. Stiskněte space
bar pro výběr apache2. (Hvězdička označuje, že je položka vybrána). Poté stiskněte Tab
a Enter
potvrďte svou volbu.
Na další obrazovce vyberte Yes
pro konfiguraci databáze pro phpMyAdmin pomocí dbconfig-common
.
Poté nastavte heslo pro phpmyadmin
uživatele v MariaDB/MySQL.
Po dokončení tohoto kroku se vytvoří nová databáze s názvem phpmyadmin
je vytvořen a uživatel databáze phpmyadmin
má potřebná oprávnění ke správě této databáze. Pokud jste zvědaví jako já, můžete se přihlásit do MariaDB a zkontrolovat, jaká oprávnění phpmyadmin
uživatel byl udělen.
Pro přihlášení k serveru MariaDB můžete použít následující příkaz.
sudo mysql -u root
Poté zkontrolujte oprávnění phpmyadmin
uživatel.
show grants for [email protected];
Výstup:
Jak můžete vidět, uživatel phpmyadmin
má všechna oprávnění k databázi phpmyadmin
. Nyní můžete ukončit spuštěním:
exit;
Nyní spusťte následující příkaz a zkontrolujte, zda /etc/apache2/conf-enabled/phpmyadmin.conf
soubor existuje.
file /etc/apache2/conf-enabled/phpmyadmin.conf
Pokud v procesu instalace nenastane žádná chyba, měli byste vidět následující výstup příkazu.
/etc/apache2/conf-enabled/phpmyadmin.conf: symbolic link to ../conf-available/phpmyadmin.conf
Pokud tento soubor na vašem serveru neexistuje, je pravděpodobné, že jste v průvodci nastavením phpMyAdmin nevybrali webový server Apache. Můžete to opravit pomocí následujících příkazů.
sudo ln -s /etc/phpmyadmin/apache.conf /etc/apache2/conf-available/phpmyadmin.conf sudo a2enconf phpmyadmin sudo systemctl reload apache2
Krok 2:Přístup k phpMyAdmin z podadresáře
Při instalaci phpMyAdmin je konfigurační soubor umístěn na /etc/apache2/conf-enabled/phpmyadmin.conf
, který nám umožňuje přístup k phpMyAdmin přes podadresář. Pokud jste na stejný server Ubuntu 20.04 nainstalovali další webové aplikace, jako je WordPress, jednoduše přidejte /phpmyadmin
za názvem vaší domény v adresním řádku prohlížeče.
example.com/phpmyadmin
Pokud je phpMyAdmin nainstalován na vašem místním počítači Ubuntu, můžete přistupovat k webovému rozhraní phpMyAdmin zadáním následujícího textu do adresního řádku prohlížeče.
localhost/phpmyadmin
Pokud je připojení odmítnuto nebo se nepodaří dokončit, je možné, že požadavky HTTP brání firewall. Pokud používáte bránu firewall iptables, musíte k otevření portu TCP 80 a 443 spustit následující příkazy.
sudo iptables -I INPUT -p tcp --dport 80 -j ACCEPT sudo iptables -I INPUT -p tcp --dport 443 -j ACCEPT
Pokud používáte firewall UFW, spusťte tento příkaz a otevřete port TCP 80 a 443.
sudo ufw allow 80,443/tcp
Nyní můžete pro přihlášení do phpMyAdmin použít uživatelské jméno a heslo MariaDB/MySQL. Pokud se nemůžete přihlásit jako root, přejděte ke kroku 5 a vyřešte tento problém.
Krok 3:Přístup k phpMyAdmin ze subdomény
Pokud váš server Ubuntu 20.04 nemá jiného virtuálního hostitele Apache, můžete pro přístup k webovému rozhraní phpMyAdmin použít subdoménu. Tímto způsobem můžete povolit HTTPS pro šifrování provozu.
Nejprve musíme vytvořit virtuálního hostitele Apache pro phpMyAdmin. Jako šablonu lze použít existující fragment konfigurace phpMyAdmin. Zkopírujeme to do nového souboru.
sudo cp /etc/apache2/conf-enabled/phpmyadmin.conf /etc/apache2/sites-available/phpmyadmin.conf
Poté upravte nový soubor pomocí textového editoru příkazového řádku, jako je Nano.
sudo nano /etc/apache2/sites-available/phpmyadmin.conf
Tento soubor postrádá <VirtualHost>
tagy, takže musíme na začátek tohoto souboru přidat následující řádky. Nahraďte pma.example.com
s vaší preferovanou subdoménou pro phpMyAdmin. Nezapomeňte pro tuto subdoménu vytvořit záznam DNS A.
<VirtualHost *:80> ServerName pma.example.com DocumentRoot /usr/share/phpmyadmin ErrorLog ${APACHE_LOG_DIR}/pma.error.log CustomLog ${APACHE_LOG_DIR}/pma.access.log combined
Přidáním následujícího řádku na konec tohoto souboru zavřete <VirtualHost>
tag.
</VirtualHost>
Uložte a zavřete soubor. (Chcete-li uložit soubor v textovém editoru Nano, stiskněte Ctrl+O
a poté stiskněte Enter pro potvrzení. Pro ukončení stiskněte Ctrl+X
.) Poté povolte tohoto virtuálního hostitele.
sudo a2ensite phpmyadmin.conf
Znovu načtěte webový server Apache, aby se tato změna projevila.
sudo systemctl reload apache2
Nyní byste měli mít přístup k webovému rozhraní phpMyAdmin přes
pma.example.com
Před zadáním přihlašovacích údajů uživatele do přihlašovacího formuláře povolme HTTPS.
Krok 4:Povolte HTTPS na phpMyAdmin s Apache
Pro zabezpečení webového rozhraní phpMyadmin můžeme nainstalovat bezplatný certifikát Let’s Encrypt TLS. Spuštěním následujícího příkazu nainstalujte klienta Let’s Encrypt (certbot) ze softwarového úložiště Ubuntu 20.04.
sudo apt install certbot python3-certbot-apache
Python3-certbot-apache
je plugin Apache pro Certbot. Nyní spusťte následující příkaz pro získání a instalaci certifikátu TLS.
sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --must-staple -d pma.example.com --email [email protected]
Kde:
- –apache: Použijte ověřovací a instalační program Apache
- –souhlasím :Souhlasíte s podmínkami služby Let’s Encrypt
- –přesměrování :Vynutit HTTPS přidáním trvalého přesměrování 301.
- –hsts :Ke každé odpovědi HTTP přidejte hlavičku Strict-Transport-Security.
- –staple-ocsp :Povolí sešívání OCSP.
- –nezbytné sešít :Přidá do certifikátu rozšíření OCSP Must Staple.
- -d za příznakem následuje seznam názvů domén oddělených čárkou. Můžete přidat až 100 názvů domén.
- –e-mail :E-mail používaný pro registraci a kontakt pro obnovení.
Budete dotázáni, zda chcete dostávat e-maily od EFF (Electronic Frontier Foundation). Po výběru Y nebo N bude váš certifikát TLS automaticky získán a nakonfigurován, což je indikováno níže uvedenou zprávou.
Krok 5:Odstraňování problémů s chybou přihlášení phpMyAdmin
Pokud se pokusíte přihlásit do phpMyAdmin pomocí root účtu MariaDB, může se zobrazit následující chyba.
#1698 - Access denied for user 'root '@'localhost'
nebo
mysqli_real_connect(): (HY000/1698): Access denied for user 'root '@'localhost'
Pokud se přihlásíte pomocí uživatele phpmyadmin
, neuvidíte výše uvedenou chybu. Nicméně uživatel phpmyadmin
lze použít pouze ke správě phpmyadmin
databáze. Příčinou chyby je, že uživatel root MariDB je ve výchozím nastavení autentizován prostřednictvím pluginu unix_socket namísto použití mysql_native_password
zapojit. Abychom tento problém vyřešili, můžeme vytvořit dalšího administrátora a udělit mu všechna oprávnění.
Přihlaste se k serveru MariaDB z příkazového řádku.
sudo mysql -u root
Vytvořte administrátora s ověřením pomocí hesla.
create user [email protected] identified by 'your-preferred-password';
Udělte všechna oprávnění pro všechny databáze.
grant all privileges on *.* to [email protected] with grant option;
Vyprázdnit oprávnění a odejít;
flush privileges; exit;
Nyní se můžete přihlásit do phpMyAmin pomocí admin
účet a správu všech databází.