Система управления базами данных mysql набрала огромной популярности в последнее время. Она используется на большинстве веб-серверов, поскольку для работы современных веб-технологий нужно быстрое и надежное хранилище данных.
Время от времени нам нужно вручную внести изменения в хранимые данные, но по умолчанию mysql поддерживает работу только через терминал. Это достаточно сложно, поэтому был разработан веб-интерфейс phpmyadmin. В этой статье мы рассмотрим как выполняется установка Phpmyadmin CentOS 7 и как все настроить для максимально правильной работы.
Установка Phpmyadmin CentOS 7
В репозиториях, которые поставляются по умолчанию вместе с дистрибутивом Phpmyadmin нет. Он находится в репозитории EPEL или Extra Packages for Enterprise Linux. Поэтому сначала нам нужно установить этот репозиторий:
sudo rpm -iUvh http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
Затем обновляем списки доступных пакетов из нового репозитория. В CentOS это делать не обязательно в отличие от Ubuntu, но будет так будет более правильно:
sudo yum -y update
Заодно команда установит все доступные обновления. Дальше можно устанавливать Phpmyadmin:
sudo yum -y install phpmyadmin
Если вы используете веб-сервер Apache, то вам осталось перезапустить его и phpmyadmin будет доступен по адресу:
Установка новой версии Phpmyadmin
Но, таким образом, вы получите старую версию phpmyadmin 4.4, которая работает на php 5.4. Если вы хотите php 7 и самый свежий phpmyadmin, то его можно установить из репозитория remi. Сначала добавляем репозиторий в систему:
sudo rpm -Uvh http://rpms.remirepo.net/enterprise/remi-release-7.rpm
Обновляем доступные пакеты, как и выше:
sudo yum update
Включаем поддержку новой версии PHP 7.1:
yum-config-manager --enable remi-php71
И теперь осталось только установить phpmyadmin Centos 7, нужную версию php он возьмет сам:
sudo yum install phpmyadmin
Дальше phpmyadmin будет доступен по тому же адресу при условии, что вы используете Apache.
Настройка Phpmyadmin Nginx
Если же вы используете Nginx, то перед тем, как вы сможете открыть веб-интерфейс, вам будет необходимо его включить. Для этого выполните команду:
sudo ln -s /usr/share/phpMyAdmin /var/www/html/phpmyadmin
Тут /var/www/html/phpmyadmin — это папка с вашим проектом. Затем перезапустите php-fpm:
sudo systemctl restart php-fpm
В основной конфигурационный файл nginx.conf, в секцию http добавьте такую команду, это включит поддержку перехода по символическим ссылкам:
sudo vi /etc/nginx/nginx.conf
И еще, если у вас ISPManager поищите строчку disable_symlinks if_not_owner в настройке сайта и удалите ее иначе тоже ничего не заработает. Перезапустите nginx:
sudo nginx -s reload
Теперь вы сможете получить доступ к phpmyadmin добавив его адрес к адресу вашего рабочего проекта. Дальше про безопасность. Нам нужно, чтобы к этому адресу могли получить доступ только вы. Несмотря на то, что интерфейс запрашивает пароль, его можно пытаться перебрать, а это для нас очень нежелательно. Во-первых, вы можете переименовать ссылку во что-то более непонятное, например:
mv /var/www/html/phpmyadmin /var/www/html/pppma
Но для большей надежности можно использовать аутентификацию Nginx. Сначала создадим зашифрованный пароль:
openssl passwd
Полученное значение нужно скопировать. Дальше создайте файл /etc/nginx/passwords и поместите в него имя пользователя и пароль через двоеточие, например:
sudo vi /etc/nginx/passwords
Теперь добавьте такой location в файл настройки вашего сайта, адрес pppma, в случае, если вы меняли название ссылки:
Теперь при запросе этого адреса будет спрашиваться пароль.
И только после ввода этого пароля и пароля базы данных вы сможете войти в интерфейс управления.
Настройка phpmyadmin Apache
Радует то, что при работе с Apache Phpmyadmin будет доступен сразу же, без необходимости выполнять кучу дополнительных настроек. Но безопасность настраивать все же надо. Настройки phpmyadmin для Apache находится в файле /etc/httpd/conf.d/phpMyAdmin.conf нам будет достаточно добавить несколько строк. Но сначала создаем пароль:
htpasswd -c /etc/httpd/passwords admin
Дальше редактируем файл настроек:
vi /etc/httpd/conf.d/phpMyAdmin.conf
Добавьте в секцию <Directory> такие строки:
Теперь, как и в предыдущем варианте, при попытке открыть phpmyadmin вы увидите запрос пароля.
Как удалить Phpmyadmin
Удаление Phpmyadmin выполняется такой командой:
sudo yum remove phpmyadmin
Не забудьте после этого удалить оставшиеся символические ссылки и конфигурации.