Вот и вышла стабильная версия Linux Debian 10 Buster (10.0.0).
Попробовал поднять стандартный LAMP:
- Apache/2.4.38 (Debian)
- PHP Version 7.3.4
- MariaDB 10.3
Однако пакета phpMyAdmin не оказалось в кандидатах на установку, пришлось собирать вручную. Надеюсь скоро появится в репозиториях Debian.
Установка phpMyAdmin на Debian 10 (или сборка phpMyAdmin вручную)
1. Переходим на сайт проекта phpMyAdmin — https://www.phpmyadmin.net/downloads/ и копируем ссылку на актуальную версию.
2. Скачиваем и разархивируем:
wget https://files.phpmyadmin.net/phpMyAdmin/4.9.0.1/phpMyAdmin-4.9.0.1-all-languages.tar.gz
tar xvf phpMyAdmin-4.9.0.1-all-languages.tar.gz
rm phpMyAdmin*.gz
3. Переносим папку phpmyadmin в /usr/share/phpmyadmin:
mv phpMyAdmin-* /usr/share/phpmyadmin
4. Создаем папку для временных файлов phpMyAdmin и задаем соответствующие права:
mkdir -p /var/lib/phpmyadmin/tmp
chown -R www-data:www-data /var/lib/phpmyadmin
5. Создаем конфигурационный файл phpMyAdmin и редактируем:
cp /usr/share/phpmyadmin/config.sample.inc.php
/usr/share/phpmyadmin/config.inc.php
nano /usr/share/phpmyadmin/config.inc.php
# Парольная фраза (можно сгенерировать тут - https://phpsolved.com/phpmyadmin-blowfish-secret-generator/
$cfg['blowfish_secret'] = 'H2OxcGXxflSd8JwrwVlh6KW6s2rER63i';
# папка временных файлов
$cfg['TempDir'] = '/var/lib/phpmyadmin/tmp';
6. Создаем базу в MySQL для phpMyAdmin:
mysql < /usr/share/phpmyadmin/sql/create_tables.sql -u root
7. Создайте каталог для файлов конфигурации phpMyAdmin, таких как файл htpass:
mkdir /etc/phpmyadmin/
8. Создаем конфигурационный файл для алиаса phpMyAdmin в Apache:
touch /etc/apache2/conf-available/phpmyadmin.conf
ln -s /etc/apache2/conf-available/phpmyadmin.conf /etc/apache2/conf-enabled/phpmyadmin.conf
nano /etc/apache2/conf-available/phpmyadmin.conf
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>
# 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>
9. Включаем конфигурацию:
a2enconf phpmyadmin.conf
10. Перезапускаем наш Apache:
systemctl reload apache2
11. Создаем привилегированного пользователя для phpMyAdmin и MySQL, под этим пользователем и будем логиниться в phpMyAdmin:
mysql -u root
GRANT ALL PRIVILEGES ON *.* TO 'admin_user'@'localhost' IDENTIFIED BY 'admin_password' WITH GRANT OPTION;
FLUSH PRIVILEGES;
EXIT;
Готово. Теперь phpMyAdmin доступен по адресу http://IP_our_domain/phpmyadmin.