Установка MariaDB
Устанавливаем репозитарий MariaDB.
# curl -LsS https://r.mariadb.com/downloads/mariadb_repo_setup | sudo bash
Устанавливаем свежую стабильную версию MariaDB. На момент написания - это 10.9.3.
# yum install mariadb-server
Добавляем в автозапуск и запускаем сервис:
# systemctl enable mariadb.service
# systemctl start mariadb.service
Запускаем скрипт, инициализирующий удаление лишних тестовых баз и гостевых пользователей. Следующие ответы позволят задать root пароль для базы данных и позволить подключаться в базе с паролем root
# mariadb-secure-installation
Switch to unix_socket authentication [Y/n] Y
Change the root password? [Y/n] Y
New password: <вводим пароль>
Re-enter new password: <вводим пароль еще раз>
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] n
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y
Открываем возможность доступа к Mariadb по сети:
# firewall-cmd --permanent --add-service=mysql
# firewall-cmd --reload
Установка Apache
# yum install httpd
# nano /etc/httpd/conf/httpd.conf
Имя сервера прописывается в директиве ServerName
ServerName serv.domain.ru:80
Добавляем сервер Apache в скрипт автозапуска и запускам сервис
# systemctl enable httpd.service
# systemctl start httpd.service
Открываем порт 80 в файрволл:
# firewall-cmd --permanent --add-service=http
# firewall-cmd --reload
Проверяем работу Apache обратившись к серверу так: http://<IP-сервера>
Установка PHP 8.1.11
# dnf install https://rpms.remirepo.net/enterprise/remi-release-9.rpm
# dnf module reset php
# dnf module install php:remi-8.1
# dnf install php-gd php-odbc php-mysqlnd php-mysqli php-bcmath php-ctype php-json
Перезапускаем web-сервер
# systemctl restart httpd.service
Создаем файл для проверки работы PHP
# nano /var/www/html/info.php
вписываем туда
<?php phpinfo(); ?>
Теперь при запросе страницы Info.php (http://<IP-сервера>/info.php ) можно увидеть информацию о модуле PHP
Установка PHPMYADMIN.
# dnf install phpmyadmin
# nano /etc/httpd/conf.d/phpMyAdmin.conf
Добавляем Require all granted под Require local
<Directory /usr/share/phpMyAdmin/>
AddDefaultCharset UTF-8
Require local
Require all granted
</Directory>
Перезапускаем сервер Apache
# systemctl restart httpd.service
Теперь к странице phpmyadmin можно обратиться так: http://<IP-сервера>/phpmyadmin
Для добавления настроек, включающих дополнительные возможности PHPMYADMIN выполняем следующее:
Создаем базу данных для служебной информации:
# mysql < /usr/share/phpMyAdmin/sql/create_tables.sql -u root -p
Раскомментируем дополнительные возможности phpmyadmin в конфигурационном файле config.inc.php:
# nano /etc/phpMyAdmin/config.inc.php
Раскомментируем стоки:
// Это логин пользователя, который можно сменить
$cfg['Servers'][$i]['controluser'] = 'pma';
// Пароль по умолчанию pmapass, который нужно обязательно заменить
$cfg['Servers'][$i]['controlpass'] = 'pmapass123';
$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';
Подключаемся к консоли mysql и создаем пользователя pma с правами на базу данных phpmyadmin:
# mysql -uroot -p
>GRANT USAGE ON mysql.* TO 'pma'@'localhost' IDENTIFIED BY 'pmapass123';
>GRANT SELECT (
Host, User, Select_priv, Insert_priv, Update_priv, Delete_priv,
Create_priv, Drop_priv, Reload_priv, Shutdown_priv, Process_priv,
File_priv, Grant_priv, References_priv, Index_priv, Alter_priv,
Show_db_priv, Super_priv, Create_tmp_table_priv, Lock_tables_priv,
Execute_priv, Repl_slave_priv, Repl_client_priv
) ON mysql.user TO 'pma'@'localhost';
>GRANT SELECT ON mysql.db TO 'pma'@'localhost';
>GRANT SELECT (Host, Db, User, Table_name, Table_priv, Column_priv)
ON mysql.tables_priv TO 'pma'@'localhost';
>GRANT SELECT, INSERT, UPDATE, DELETE ON phpmyadmin.* TO 'pma'@'localhost';
После данных манипуляций нужно выйти и заново зайти на страницу http://<IP-сервера>/phpmyadmin. Теперь можно пользоваться дополнительными возможностями программы.