GNU/Linux >> Znalost Linux >  >> Debian

Jak nainstalovat a zabezpečit phpMyAdmin na Debian 11

phpMyAdmin je bezplatná, open-source a webová aplikace používaná pro správu databází MySQL a MariaDB z webového rozhraní. Vytváření a správa databáze z rozhraní příkazového řádku je pro začínající uživatele velmi obtížné. phpMyAdmin poskytuje snazší způsob správy databází MySQL, uživatelských účtů a oprávnění, spouštění příkazů SQL, importu a exportu dat prostřednictvím webového prohlížeče.

V tomto příspěvku vám ukážeme, jak nainstalovat a zabezpečit nástroj pro správu databáze phpMyAdmin na Debian 11.

Předpoklady

  • Server se systémem Debian 11.
  • Na serveru je nakonfigurováno heslo uživatele root.

Začínáme

Než začnete, je dobré aktualizovat systémové balíčky na nejnovější verzi. Všechny balíčky můžete aktualizovat pomocí následujícího příkazu:

apt-get update -y

Jakmile je váš systém aktualizován, můžete přejít k dalšímu kroku.

Instalovat LAMP Server

phpMyAdmin je aplikace založená na PHP a běží na webovém serveru. Takže budete muset nainstalovat server LAMP na váš server. Můžete jej nainstalovat pomocí následujícího příkazu:

apt-get install apache2 mariadb-server libapache2-mod-php php-cli php-mysql php-zip php-curl php-xml php-mbstring php-zip php-gd unzip -y

Jakmile jsou všechny balíčky nainstalovány, můžete přejít k dalšímu kroku.

Instalovat a konfigurovat phpMyAdmin

Nejprve si stáhněte nejnovější verzi phpMyAdmin z jejich oficiálních stránek pomocí následujícího příkazu:

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

Po dokončení stahování rozbalte stažený soubor pomocí následujícího příkazu:

unzip phpMyAdmin-5.1.1-all-languages.zip

Dále přesuňte extrahovaný adresář do /usr/share pomocí následujícího příkazu:

mv phpMyAdmin-5.1.1-all-languages /usr/share/phpmyadmin

Dále vytvořte požadovaný adresář pomocí následujícího příkazu:

mkdir -p /var/lib/phpmyadmin/tmp

Dále nastavte správné vlastnictví adresáře phpMyAdmin:

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

Dále zkopírujte vzorový konfigurační soubor phpMyAdmin:

cp /usr/share/phpmyadmin/config.sample.inc.php /usr/share/phpmyadmin/config.inc.php

Dále nainstalujte pwgen a vygenerujte tajný klíč pomocí následujícího příkazu:

apt-get install pwgen -y
pwgen -s 32 1

Výstup:

pau9t1SG6lmaeCFxKqeeaY5N4erIa25K

Dále upravte soubor config.inc.php a nakonfigurujte jej:

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

Definujte svůj tajný klíč a odkomentujte následující řádky:

$cfg['blowfish_secret'] = 'pau9t1SG6lmaeCFxKqeeaY5N4erIa25K'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */
$cfg['Servers'][$i]['controluser'] = 'pma';
$cfg['Servers'][$i]['controlpass'] = 'password';

$cfg['Servers'][$i]['pmadb'] = 'phpmyadmin';
$cfg['Servers'][$i]['bookmarktable'] = 'pma__bookmark';
$cfg['Servers'][$i]['relation'] = 'pma__relation';
$cfg['Servers'][$i]['table_info'] = 'pma__table_info';
$cfg['Servers'][$i]['table_coords'] = 'pma__table_coords';
$cfg['Servers'][$i]['pdf_pages'] = 'pma__pdf_pages';
$cfg['Servers'][$i]['column_info'] = 'pma__column_info';
$cfg['Servers'][$i]['history'] = 'pma__history';
$cfg['Servers'][$i]['table_uiprefs'] = 'pma__table_uiprefs';
$cfg['Servers'][$i]['tracking'] = 'pma__tracking';
$cfg['Servers'][$i]['userconfig'] = 'pma__userconfig';
$cfg['Servers'][$i]['recent'] = 'pma__recent';
$cfg['Servers'][$i]['favorite'] = 'pma__favorite';
$cfg['Servers'][$i]['users'] = 'pma__users';
$cfg['Servers'][$i]['usergroups'] = 'pma__usergroups';
$cfg['Servers'][$i]['navigationhiding'] = 'pma__navigationhiding';
$cfg['Servers'][$i]['savedsearches'] = 'pma__savedsearches';
$cfg['Servers'][$i]['central_columns'] = 'pma__central_columns';
$cfg['Servers'][$i]['designer_settings'] = 'pma__designer_settings';
$cfg['Servers'][$i]['export_templates'] = 'pma__export_templates';

$cfg['TempDir'] = '/var/lib/phpmyadmin/tmp';

Po dokončení uložte a zavřete soubor.

Vytvořit administrátora phpMyAdmin

Vždy se doporučuje vytvořit samostatného uživatele pro správu databáze prostřednictvím phpMyAdmin.

Nejprve importujte tabulky phpMyAdmin do databáze MariaDB pomocí následujícího příkazu:

mysql < /usr/share/phpmyadmin/sql/create_tables.sql

Dále se připojte k prostředí MariaDB pomocí následujícího příkazu:

mysql

Jakmile se připojíte, udělte všechna potřebná oprávnění databázi phpmyadmin pomocí následujícího příkazu:

MariaDB [(none)]> GRANT SELECT, INSERT, UPDATE, DELETE ON phpmyadmin.* TO 'pma'@'localhost' IDENTIFIED BY 'password';

Dále vytvořte uživatele admin pomocí následujícího příkazu:

MariaDB [(none)]> CREATE USER myadmin;

Dále udělte všechna oprávnění uživateli admin pomocí následujícího příkazu:

MariaDB [(none)]> GRANT ALL PRIVILEGES ON *.* TO 'myadmin'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;

Dále vyprázdněte oprávnění a ukončete prostředí MariaDB pomocí následujícího příkazu:

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

Jakmile budete hotovi, můžete přejít k dalšímu kroku.

Konfigurovat Apache pro phpMyAdmin

Dále budete muset vytvořit konfigurační soubor virtuálního hostitele Apache pro phpMyAdmin. Můžete jej vytvořit pomocí následujícího příkazu:

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

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

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>

# 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/phpmyadmin/htpasswd.setup
        </IfModule>
        Require valid-user
    </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>

Po dokončení uložte a zavřete soubor, poté povolte konfigurační soubor phpMyAdmin následujícím příkazem:

a2enconf phpmyadmin.conf

Dále znovu načtěte službu Apache, abyste použili změny:

systemctl reload apache2

Stav služby Apache můžete zkontrolovat pomocí následujícího příkazu:

systemctl status apache2

Měli byste vidět následující výstup:

? apache2.service - The Apache HTTP Server
     Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
     Active: active (running) since Tue 2021-08-17 10:16:28 UTC; 2s ago
       Docs: https://httpd.apache.org/docs/2.4/
    Process: 45027 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS)
   Main PID: 45031 (apache2)
      Tasks: 6 (limit: 2341)
     Memory: 14.6M
        CPU: 89ms
     CGroup: /system.slice/apache2.service
             ??45031 /usr/sbin/apache2 -k start
             ??45032 /usr/sbin/apache2 -k start
             ??45033 /usr/sbin/apache2 -k start
             ??45034 /usr/sbin/apache2 -k start
             ??45035 /usr/sbin/apache2 -k start
             ??45036 /usr/sbin/apache2 -k start

Aug 17 10:16:28 debian systemd[1]: Starting The Apache HTTP Server...

Přístup k phpMyAdmin

V tomto okamžiku je phpMyAdmin nainstalován a nakonfigurován. Nyní otevřete webový prohlížeč a přejděte do phpMyAdmin pomocí adresy URL http://ip-ip-vašeho-serveru/phpmyadmin . Měli byste vidět přihlašovací stránku phpMyAdmin:

Zadejte své uživatelské jméno a heslo správce a klikněte na Přejít knoflík. Na následující stránce byste měli vidět řídicí panel phpMyAdmin:

Bezpečný phpMyAdmin

Je dobré zabezpečit phpMyAdmin dvoufaktorovou autentizací. Můžete to provést pomocí funkcí ověřování a autorizace .htaccess.

Nejprve upravte konfigurační soubor phpMyAdmin:

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

Přidejte řádek "AllowOverride All" do následujícího bloku serveru:

<Directory /usr/share/phpmyadmin>
    Options FollowSymLinks
    DirectoryIndex index.php
    AllowOverride All

    <IfModule mod_php5.c>

Po dokončení uložte a zavřete soubor a restartujte službu Apache:

systemctl restart apache2

Dále vytvořte soubor .htaccess a definujte typ ověřování Apache:

nano /usr/share/phpmyadmin/.htaccess

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

AuthType Basic
AuthName "Restricted Files"
AuthUserFile /usr/share/phpmyadmin/.htpasswd
Require valid-user

Uložte a zavřete soubor a poté vytvořte uživatele pomocí následujícího příkazu:

htpasswd -c /usr/share/phpmyadmin/.htpasswd secureuser

Budete požádáni o nastavení hesla, jak je uvedeno níže:

New password: 
Re-type new password: 
Adding password for user secureuser

Ověřte phpMyAdmin

V tomto okamžiku je phpMyAdmin zabezpečen dodatečnou autentizací. Chcete-li to ověřit, otevřete webový prohlížeč a přejděte do phpMyAdmin pomocí adresy URL http://ip-vaseho-serveru/phpmyadmin . Budete požádáni o dodatečné uživatelské jméno a heslo, jak je uvedeno níže:

Po zadání vašeho uživatelského jména a hesla budete přesměrováni na běžnou přihlašovací stránku phpMyAdmin.

Závěr

Gratulujeme! úspěšně jste nainstalovali a zabezpečili phpMyAdmin na Debian 11. Nyní můžete prozkoumat phpMyAdmin a začít spravovat svou databázi z webového prohlížeče.


Debian
  1. Jak nainstalovat a zabezpečit MongoDB na Debian 11

  2. Jak nainstalovat a zabezpečit MariaDB na Debian 11

  3. Jak nainstalovat phpMyAdmin na Debian 9

  1. Jak nainstalovat a zabezpečit phpMyAdmin na Debian 9

  2. Jak nainstalovat a zabezpečit phpMyAdmin na Ubuntu

  3. Jak nainstalovat a používat Debian Backports

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

  2. Jak nainstalovat a nakonfigurovat Redis na Debian 9

  3. Jak nainstalovat a používat FFmpeg na Debianu 9