phpMyAdmin poskytuje pokročilý SQL editor, který usnadňuje vytváření a testování složitých SQL dotazů. Také vám umožňuje spravovat databáze, uživatele, import a export dat, uložené procedury a spouštěče, provádět a upravovat dotazy, prohledávat databázi globálně a mnohem více.
Tento tutoriál vysvětluje kroky pro instalaci phpMyAdminu s Apache na Debianu 10 (Buster).
Instalace PHP
PHP je hlavním softwarovým požadavkem pro spuštění phpMyAdmin. Nainstalujte jej pomocí příkazů.
sudo apt -y update
sudo apt -y install wget php php-cgi php-mysqli php-pear php-mbstring php-gettext libapache2-mod-php php-common php-phpseclib php-mysql
MariaDB & Apache Web Server
Již jsme si ukazovali při instalování LAMP balíčku.
Viz: VPS – Debian 10 – Instalace LAMP
Instalace phpMyAdmin
Stáhněte si nejnovější verzi phpMyAdmin s příkazem wget.
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
Extrahujeme stažený archiv:
tar xvf phpMyAdmin-${VERSION}-all-languages.tar.gz
Přesuňte výslednou složku do složky /usr/share/phpmyadmin
.
sudo mv phpMyAdmin-*/ /usr/share/phpmyadmin
Vytvořte adresář pro dočasné soubory phpMyAdmin.
sudo mkdir -p /var/lib/phpmyadmin/tmp
sudo chown -R www-data:www-data /var/lib/phpmyadmin
Vytvořte adresář pro konfigurační soubory phpMyAdmin, jako je například soubor htpass.
sudo mkdir /etc/phpmyadmin/
Vytvořte konfigurační soubor phpMyAdmin.
sudo cp /usr/share/phpmyadmin/config.sample.inc.php /usr/share/phpmyadmin/config.inc.php
Upravte soubor /usr/share/phpmyadmin/config.inc.php
a nastavte tajné přístupové heslo:
$cfg['blowfish_secret'] = 'H2OxcGXxflSd8JwrwVlh6KW6s2rER63i';
Nakonfigurujte adresář dočasný:
$cfg['TempDir'] = '/var/lib/phpmyadmin/tmp';
Konfigurace webového serveru Apache
Vytvořte konfigurační soubor phpMyAdmin Apache:
sudo nano /etc/apache2/conf-enabled/phpmyadmin.conf
A vložte do souboru následující obsah:
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>
Přístup z konkrétní adresy IP můžete omezit přidáním následujícího řádku:
Require ip 127.0.0.1 192.168.18.0/24
Zapnutí funkce & Restart apache server
sudo a2enconf phpmyadmin
sudo systemctl restart apache2
Navštivte phpMyAdmin
Přístup k webovému rozhraní phpMyAdmin na adrese http://[IP|Domena]/phpmyadmin
.
K přihlášení použijte přihlašovací údaje k databázi – uživatelské jméno a heslo.
[!] phpMyAdmin na subdoméně
Nejprve deaktivujte konfigurační soubor phpMyAdmin, který mapuje /phpmyadmin na /usr/share/phpmyadmin:
sudo a2disconf phpmyadmin
Poté vytvořte nového virtuálního hostitele (/etc/apache2/sites-available/pma.domena.tdl.conf
) s následujícím obsahem:
<VirtualHost *:80>
ServerAdmin admin@domena.tdl
ServerName pma.domena.tdl
ServerAlias www.pma.domena.tdl
DocumentRoot /usr/share/phpmyadmin
<Directory /usr/share/phpmyadmin>
Options FollowSymLinks
DirectoryIndex index.php
AllowOverride All
<IfModule mod_php5.c>
<IfModule mod_mime.c>
AddType application/x-httpd-php .php
</IfModule>
<FilesMatch ".+\.php$">
SetHandler application/x-httpd-php
</FilesMatch>
php_flag magic_quotes_gpc Off
php_flag track_vars On
php_flag register_globals Off
php_admin_flag allow_url_fopen Off
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/javascript/:/usr/share/php/tcpdf/
</IfModule>
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Nakonec zapneme subdoménu & restartujte Apache:
sudo a2ensite pma.domena.tdl
sudo a2disconf phpmyadmin