На кофе

Поиск

Поиск Яндекс

Вход

Веб сервер Apache-PHP-PHPMyAdmin-MySQL Astra Linux

Поделиться статьей

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'