Для установки phpMyAdmin нужен уже установленный и работающий веб-сервер httpd (апач) и php.
Подготовка
Проверим работу апач (httpd).
Заходим по адресу http://ip-адрес-сервера. Должны увидеть тестовую страницу апача. Все ок.
Проверим работу php.
В папке /var/www/html создаем файл index.php
mcedit /var/www/html/index.php
Туда заносим:
<?php phpinfo(); ?>
сохраняем.
Назначаем владельца apache на созданный файл:
chown apache. /var/www/html/index.php
Снова заходим по адресу http://ip-адрес-сервера, должна появиться следующая картина:
Значит php работает, все в порядке.
Всё готово для установки phpMyAdmin.
Установка
Команда установки:
yum install -y phpmyadmin
После установки в папке /etc/httpd/conf.d появится новый файл-конфиг phpMyAdmin.conf. Сделаем резервную копию на всякий случай:
cp /etc/httpd/conf.d/phpMyAdmin.conf /etc/httpd/conf.d/phpMyAdmin.conf.orig
Открываем на редактирование конфиг:
mcedit /etc/httpd/conf.d/phpMyAdmin.conf
Можно просто сделать так:
Находим эту секцию <Directory /usr/share/phpMyAdmin/> AddDefaultCharset UTF-8 <IfModule mod_authz_core.c> # Apache 2.4 <RequireAny> # Require ip 127.0.0.1 # Require ip ::1 Require all granted (и просто добавляем эту строчку, чтобы открыть доступ к phpMyAdmin извне) </RequireAny> </IfModule> <IfModule !mod_authz_core.c> (а эту секцию можно вообще удалить, если версия апача не 2.2) # Apache 2.2 Order Deny,Allow Deny from All # Order Allow,Deny # Require ip 127.0.0.1 # Require ip ::1 </IfModule> </Directory>
Сохраняем и перезапускаем апач.
systemctl restart httpd
По сути все, но чтобы было куда логиниться, должна быть предварительно установлена база данных.
Если вкратце, то выполняем последовательность команд:
yum install -y mariadb mariadb-server systemctl enable mariadb.service systemctl start mariadb /usr/bin/mysql_secure_installation
Безопасность панели
Классная фишка, берите на вооружение!
Панель пхпадмин можно закрыть от интернета, а точнее сделать так, чтобы дополнительно запрашивало к ней пароль. Крутая штука, чтобы не брутили вход в твою панель.
Если коротко, то создаем файл:
mcedit /usr/share/phpMyAdmin/.htaccess
Туда заносим:
AuthName "Enter Password" AuthType Basic Require valid-user AuthUserFile "/usr/share/phpMyAdmin/.htpasswd"
Теперь создадим файл, про который говорится в последней строчке, т.е. .htpasswd:
htpasswd -bc /usr/share/phpMyAdmin/.htpasswd user password
*где user и password – имя пользователя и пароль соответственно, придумайте сами.
Чтобы авторизация заработала, нужно открыть на редактирование файл:
mcedit /etc/httpd/conf.d/phpMyAdmin.conf
и добавить в секцию <Directory /usr/share/phpMyAdmin/> следующую строку AllowOverride All, т.е., чтобы получилось вот так:
<Directory /usr/share/phpMyAdmin/> AddDefaultCharset UTF-8 Require all granted AllowOverride All </Directory>
Перезапускаем Apache и проверяем:
systemctl restart httpd
Вроде как все.
Благодарности источникам:
- Огромное спасибо этой статье: https://serveradmin.ru/ustanovit-i-nastroit-phpmyadmin-na-centos-7/#_phpmyadmin
- http://msadmin.ru/centosweb/