PHPMyAdmin (PMA) - отличный бесплатный веб-клиент с открытым исходным кодом, который может использоваться для более простого взаимодействия с MySQL и базами данных приложений.
В дополнение к визуальному графическому интерфейсу для операций с базой данных возможно запускать команды SQL из командной строки через браузер без необходимости входа на сервер через SSH.
1. Добавим репозиторий Astra Linux 1.7
su -
sudo apt -y install gnupg wget apt-transport-https ca-certificates
sudo cat << EOF > /etc/apt/sources.list
deb https://dl.astralinux.ru/astra/stable/1.7_x86-64/repository-main/ 1.7_x86-64 main contrib non-free
deb https://dl.astralinux.ru/astra/stable/1.7_x86-64/repository-update/ 1.7_x86-64 main contrib non-free
deb https://dl.astralinux.ru/astra/stable/1.7_x86-64/repository-base/ 1.7_x86-64 main contrib non-free
deb https://dl.astralinux.ru/astra/stable/1.7_x86-64/repository-extended/ 1.7_x86-64 main contrib non-free
deb https://dl.astralinux.ru/astra/stable/1.7_x86-64/repository-extended/ 1.7_x86-64 astra-ce
deb https://dl.astralinux.ru/astra/stable/1.7_x86-64/uu/last/repository-update/ 1.7_x86-64 main contrib non-free
EOF
2. Чтобы изменения вступили в силу запускаем команду обновления пакетов:
sudo apt update
3. Установим необходимые пакеты:
apt-get -y install lsb-release ca-certificates curl
4. Добавляем репозиторий PHP:
sudo cat << EOF > /etc/apt/sources.list.d/php.list
deb https://packages.sury.org/php/ buster main
EOF
5. Скачиваем ключ репозитория:
wget -O /tmp/apt.gpg https://packages.sury.org/php/apt.gpg
6. Добавляем ключ:
apt-key add /tmp/apt.gpg
7. Обновляем наш репозиторий:
sudo apt-get update
8. Разрешаем нашей ОС использовать пакеты НЕ ТОЛЬКО СВОЕГО РЕЛИЗА:
Комментируем содержимое /etc/apt/preferences.d/smolensk
cat << EOF > /etc/apt/preferences.d/smolensk
#Package: *
#Pin: release n=1.7_x86-64
#Pin-Priority: 900
EOF
9. Установим необходимые пакеты:
sudo apt install mariadb-server gnupg2 apache2 php php-imagick php-phpseclib php-php-gettext php-common php-gd php-imap php-json php-curl php-zip php-xml php-mbstring php-bz2 php-intl php-gmp php-mysql -fy
10. Выключаем режим Astra
sudo echo "AstraMode off" >> /etc/apache2/apache2.conf
11. Перезапускаем службы Apache2 и mysql
sudo systemctl restart mysql apache2
12. Скачиваем Архив с phpmyadmin:
sudo wget -O /usr/share/phpmyadmin.tar.gz https://files.phpmyadmin.net/phpMyAdmin/5.2.1/phpMyAdmin-5.2.1-all-languages.tar.gz
13. Распаковываем архив в директорию:
sudo tar xzf /usr/share/phpmyadmin.tar.gz -C /usr/share
И переносим ее в папку просто phpmyadmin:
sudo mv /usr/share/phpMyAdmin-5.2.1-all-languages /usr/share/phpmyadmin
14. Назначаем владельца www-data:
sudo chown -R www-data:www-data /usr/share/phpmyadmin
15. Приводим файл конфигурации сайта phpmyadmin в apache2 к такому виду:
sudo cat << EOF > /etc/apache2/conf-available/phpmyadmin.conf
# 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>
# 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>
EOF
16. Включаем веб-интерфейс phpmyadmin:
sudo a2enconf phpmyadmin.conf
17. Создаем папку по умолчанию для временных файлов:
sudo mkdir -p /var/lib/phpmyadmin/tmp
18. Перезагружаем службу apache2:
sudo service apache2 reload
19. Переходим к настройке MySQL сервера для самого PhpMyAdmin.
sudo mysql -u root
mysql> use mysql;
mysql> select Host, User, plugin from user where user="root";
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'p@$$word';
mysql> FLUSH PRIVILEGES;
mysql> quit;
20. Перезапускаем службы Apache2 и mysql:
sudo systemctl restart mysql apache2
21. Открываем веб-интерфейс панели управления phpmyadmin:
xdg-open 'http://localhost/phpmyadmin'