GNU/Linux >> Znalost Linux >  >> Debian

Nainstalujte phpMyAdmin s Apache (LAMP) na Debian 10 Buster

Tento tutoriál vám ukáže, jak nainstalovat phpMyAdmin s Apache, MariaDB, PHP7.3 (zásobník LAMP) na Debian 10 Buster. 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. Také se naučíme, jak povolit dvoufaktorovou autentizaci na phpMyAdmin.

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 sledovat tento tutoriál, potřebujete operační systém Debian 10 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 názvy domén 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 Debian 10. Pokud ne, podívejte se prosím na následující tutoriál.

  • Jak nainstalovat zásobník LAMP (Apache, MariaDB, PHP7.3) na Debian 10 Buster

Při instalaci softwaru do Debianu musíte mít oprávnění root. Můžete přidat sudo na začátek příkazu nebo použijte su - příkaz pro přepnutí na uživatele root.

Když je to z cesty, začněme s instalací phpMyAdmin.

Krok 1:Stáhněte si phpMyAdmin na server Debian 10

phpMyAdmin není součástí softwarového úložiště Debian 10, takže musíme software stáhnout ručně. Přejděte na stránku stahování phpMyAdmin a zkontrolujte nejnovější stabilní verzi. Poté spusťte následující příkaz a stáhněte jej.

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

Tip:Ke stažení nejnovější stabilní verze phpMyAdmin můžete vždy použít výše uvedený formát adresy URL. Jednoduše nahraďte 4.9.0.1 nejnovějším číslem verze.

Poté jej extrahujte.

sudo apt install unzip

unzip phpMyAdmin-4.9.0.1-all-languages.zip

Přesuňte phpMyAdmin 4.9 do /usr/share/ adresář.

sudo mv phpMyAdmin-4.9.0.1-all-languages /usr/share/phpmyadmin

Poté nastavte uživatele webového serveru (www-data ) jako vlastníka tohoto adresáře.

sudo chown -R www-data:www-data /usr/share/phpmyadmin

Krok 2:Vytvoření databáze MariaDB a uživatele pro phpMyAdmin

Nyní se musíme přihlásit do konzole MariaDB a vytvořit databázi a uživatele pro phpMyAdmin. Ve výchozím nastavení používá balíček MaraiDB v Debianu unix_socket k ověření přihlášení uživatele, což v podstatě znamená, že můžete použít uživatelské jméno a heslo operačního systému pro přihlášení do konzoly MariaDB. Můžete tedy spustit následující příkaz a přihlásit se bez zadání hesla root MariaDB.

sudo mysql -u root

Dále vytvořte novou databázi pro phpMyAdmin pomocí následujícího příkazu SQL. Tento tutoriál jej pojmenuje phpmyadmin , můžete pro databázi použít jakýkoli název.

CREATE DATABASE phpmyadmin DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

Následující příkaz SQL vytvoří phpmyadmin uživatele databáze a nastavte heslo a zároveň udělte veškerá oprávnění nové databáze novému uživateli, aby mohl později phpMyAdmin zapisovat do databáze. Nahraďte červené texty svým preferovaným heslem.

GRANT ALL ON phpmyadmin.* TO 'phpmyadmin'@'localhost' IDENTIFIED BY 'your_preferred_password';

Vyprázdněte tabulku oprávnění a ukončete konzolu MariaDB.

FLUSH PRIVILEGES;

EXIT;

Krok 3:Nainstalujte požadované a doporučené moduly PHP.

Spuštěním následujícího příkazu nainstalujte moduly PHP požadované nebo doporučené phpMyAdmin.

sudo apt install php-imagick php-phpseclib php-php-gettext php7.3-common php7.3-mysql php7.3-gd php7.3-imap php7.3-json php7.3-curl php7.3-zip php7.3-xml php7.3-mbstring php7.3-bz2 php7.3-intl php7.3-gmp

Poté restartujte Apache.

sudo systemctl restart apache2

Krok 4:Vytvořte konfiguraci Apache pro phpMyAdmin

Pokud byste chtěli přistupovat k webovému rozhraní phpMyAdmin z podadresáře, vytvořte konfigurační fragment pomocí následujícího příkazu.

sudo nano /etc/apache2/conf-available/phpmyadmin.conf

Do souboru vložte následující text.

# phpMyAdmin default Apache configuration

Alias /phpmyadmin /usr/share/phpmyadmin

<Directory /usr/share/phpmyadmin>
    Options SymLinksIfOwnerMatch
    DirectoryIndex index.php

    <IfModule mod_php5.c>
        <IfModule mod_mime.c>
            AddType application/x-httpd-php .php
        </IfModule>
        <FilesMatch ".+\.php$">
            SetHandler application/x-httpd-php
        </FilesMatch>

        php_value include_path .
        php_admin_value upload_tmp_dir /var/lib/phpmyadmin/tmp
        php_admin_value open_basedir /usr/share/phpmyadmin/:/etc/phpmyadmin/:/var/lib/phpmyadmin/:/usr/share/php/php-gettext/:/usr/share/php/php-php-gettext/:/usr/share/javascript/:/usr/share/php/tcpdf/:/usr/share/doc/phpmyadmin/:/usr/share/php/phpseclib/
        php_admin_value mbstring.func_overload 0
    </IfModule>
    <IfModule mod_php.c>
        <IfModule mod_mime.c>
            AddType application/x-httpd-php .php
        </IfModule>
        <FilesMatch ".+\.php$">
            SetHandler application/x-httpd-php
        </FilesMatch>

        php_value include_path .
        php_admin_value upload_tmp_dir /var/lib/phpmyadmin/tmp
        php_admin_value open_basedir /usr/share/phpmyadmin/:/etc/phpmyadmin/:/var/lib/phpmyadmin/:/usr/share/php/php-gettext/:/usr/share/php/php-php-gettext/:/usr/share/javascript/:/usr/share/php/tcpdf/:/usr/share/doc/phpmyadmin/:/usr/share/php/phpseclib/
        php_admin_value mbstring.func_overload 0
    </IfModule>

</Directory>

# Disallow web access to directories that don't need it
<Directory /usr/share/phpmyadmin/templates>
    Require all denied
</Directory>
<Directory /usr/share/phpmyadmin/libraries>
    Require all denied
</Directory>
<Directory /usr/share/phpmyadmin/setup/lib>
    Require all denied
</Directory>

Uložte a zavřete soubor. Poté povolte tento fragment konfigurace.

sudo a2enconf phpmyadmin.conf

Potřebujeme také vytvořit dočasnou složku phpMyAdmin.

sudo mkdir -p /var/lib/phpmyadmin/tmp
sudo chown www-data:www-data /var/lib/phpmyadmin/tmp

Znovu načtěte Apache, aby se změny projevily.

sudo systemctl reload apache2

Nyní máte přístup k webovému rozhraní phpMyAdmin na adrese

your-server-ip/phpmyadmin

Pokud je na vašem místním počítači Debian nainstalován phpMyAdmin, 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 spustit následující příkaz k otevření portu TCP 80 a 443.

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 http
sudo ufw allow https

Krok 5:Přístup k phpMyAdmin ze subdomény

Někdy můžete chtít použít subdoménu pro přístup k webovému rozhraní phpMyAdmin. 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

Přidejte následující řádky na začátek tohoto souboru. Nahraďte pma.example.com svou 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řidejte následující řádek na konec tohoto souboru.

</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 6: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ě Debian 10.

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]

Vysvětlení:

  • –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í :Přidejte 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 7:Spusťte instalační skript phpMyAdmin

Do adresního řádku prohlížeče zadejte následující.

your-server-ip/phpmyadmin/setup

nebo

pma.example.com/setup

Klikněte na New Server tlačítko pro konfiguraci serveru.

Poté jednoduše klikněte na Apply tlačítko.

Poté kliknutím na tlačítko Zobrazit zobrazte konfigurační soubor.

V /usr/share/phpmyadmin/ adresáře, vytvořte soubor config.inc.php.

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

Zkopírujte obsah config.inc.php ze stránky nastavení phpMyAdmin a vložte je do /usr/share/phpmyadmin/config.inc.php soubor.

Krok 8:Odstraňování problémů s chybou přihlášení phpMyAdmin

Pokud se nyní 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'

a

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í.

Krok 9:Nastavení úložiště konfigurace phpMyAdmin

Nyní v ovládacím panelu phpMyAdmin můžete vidět varovnou zprávu.

The phpMyAdmin configuration storage is not completely configured, some extended features have been deactivated. Find out why. 
Or alternately go to 'Operations' tab of any database to set it up there.

Klikněte na odkaz Zjistit proč. Poté klikněte na odkaz Vytvořit a vytvořte tabulky v phpmyadmin databáze.

Krok 10:Omezení přístupu k adresáři /setup

Pro omezení přístupu do adresáře /setup můžeme povolit základní ověřování heslem na webovém serveru Apache. Spusťte následující příkaz a nastavte heslo pro uživatele admin . /etc/apache2/htpasswd soubor se používá k ukládání uživatelských jmen a hesel.

sudo htpasswd -c /etc/apache2/htpasswd admin

Poté upravte konfigurační soubor Apache pro phpMyAdmin

sudo nano /etc/apache2/sites-available/phpmyadmin-le-ssl.conf

nebo

sudo nano /etc/apache2/conf-available/phpmyadmin.conf

Přidejte následující řádky.

# Authorize for setup
<Directory /usr/share/phpmyadmin/setup>
    <IfModule mod_authz_core.c>
        <IfModule mod_authn_file.c>
            AuthType Basic
            AuthName "phpMyAdmin Setup"
            AuthUserFile /etc/apache2/htpasswd
        </IfModule>
        Require valid-user
    </IfModule>
</Directory>

Uložte a zavřete soubor. Poté znovu načtěte Apache, aby se změny projevily.

sudo systemctl reload apache2

Pokud znovu otevřete instalační skript phpMyAdmin, budete požádáni o zadání uživatelského jména a hesla.

Povolit dvoufaktorové ověřování

Můžete také posílit phpMyAdmin povolením dvoufaktorové autentizace, což je funkce přidaná ve verzi 4.8. Chcete-li to povolit, přihlaste se do phpMyAdmin. Poté přejděte do Settings -> Two-factor authentication a vyberte Aplikace ověřování (2FA) .

Po kliknutí na tlačítko Konfigurovat dvoufaktorové ověřování tlačítko, zobrazí se vám QR kód, který musíte naskenovat pomocí aplikace pro dvoufaktorovou autentizaci v telefonu.

Google Authenticator je oblíbená aplikace 2FA, ale doporučuji FreeOTP, což je open-source 2FA aplikace vyvinutá společností Red Hat. Jakmile zadáte ověřovací kód vygenerovaný vaší aplikací 2FA, aktivuje se dvoufaktorové ověřování. Pokud se nyní odhlásíte a znovu přihlásíte, musíte kromě uživatelského jména a hesla zadat také ověřovací kód.


Debian
  1. Nainstalovat phpMyAdmin s Apache na Debian 9 – proces krok za krokem?

  2. Nainstalujte phpMyAdmin na Ubuntu 20.04 s Apache

  3. Nainstalujte phpMyAdmin na Debian 11 s Apache

  1. Jak nainstalovat phpMyAdmin na Debian 10 (Buster)

  2. Jak nainstalovat Steam pomocí Steam Play na Debian 10 Buster

  3. Nainstalujte phpMyAdmin na Ubuntu 22.04 s Apache

  1. Jak nainstalovat Nextcloud na Debian 10 Buster Linux

  2. Jak nainstalovat a zabezpečit phpMyAdmin pomocí Apache na Debianu 9

  3. Nainstalujte WordPress 5 s Apache na Debian 9