Как установить phpmyadmin centos 7

Обновлено: 06.07.2024

Система управления базами данных mysql набрала огромной популярности в последнее время. Она используется на большинстве веб-серверов, поскольку для работы современных веб-технологий нужно быстрое и надежное хранилище данных.

Время от времени нам нужно вручную внести изменения в хранимые данные, но по умолчанию mysql поддерживает работу только через терминал. Это достаточно сложно, поэтому был разработан веб-интерфейс phpmyadmin. В этой статье мы рассмотрим как выполняется установка Phpmyadmin CentOS 7 и как все настроить для максимально правильной работы.

Установка Phpmyadmin CentOS 7

В репозиториях, которые поставляются по умолчанию вместе с дистрибутивом Phpmyadmin нет. Он находится в репозитории EPEL или Extra Packages for Enterprise Linux. Поэтому сначала нам нужно установить этот репозиторий:

Затем обновляем списки доступных пакетов из нового репозитория. В CentOS это делать не обязательно в отличие от Ubuntu, но будет так будет более правильно:

sudo yum -y update

Заодно команда установит все доступные обновления. Дальше можно устанавливать Phpmyadmin:

sudo yum -y install phpmyadmin

Установка новой версии Phpmyadmin

Но, таким образом, вы получите старую версию phpmyadmin 4.4, которая работает на php 5.4. Если вы хотите php 7 и самый свежий phpmyadmin, то его можно установить из репозитория remi. Сначала добавляем репозиторий в систему:

Обновляем доступные пакеты, как и выше:

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

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. Сначала создадим зашифрованный пароль:

Полученное значение нужно скопировать. Дальше создайте файл /etc/nginx/passwords и поместите в него имя пользователя и пароль через двоеточие, например:

sudo vi /etc/nginx/passwords

Теперь добавьте такой location в файл настройки вашего сайта, адрес pppma, в случае, если вы меняли название ссылки:

location /pppma auth_basic "Admin Login";
auth_basic_user_file /etc/nginx/passwords;
>

Теперь при запросе этого адреса будет спрашиваться пароль.

И только после ввода этого пароля и пароля базы данных вы сможете войти в интерфейс управления.

Настройка phpmyadmin Apache

Дальше редактируем файл настроек:

Добавьте в секцию <Directory> такие строки:

Теперь, как и в предыдущем варианте, при попытке открыть phpmyadmin вы увидите запрос пароля.

Как удалить Phpmyadmin

Удаление Phpmyadmin выполняется такой командой:

sudo yum remove phpmyadmin

Не забудьте после этого удалить оставшиеся символические ссылки и конфигурации.

Выводы

В этой небольшой статье мы рассмотрели как выполняется установка Phpmyadmin Centos 7. Теперь вы знаете как установить самую новую версию программы и как заставить ее работать в вашей системе. Надеюсь эта информация была полезной, если у вас остались вопросы, спрашивайте в комментариях!


Управление базами данных MariaDB или MySQL можно осуществлять через командную строку. Однако такой вариант подходит не для всех пользователей, особенно начинающих. Чтобы облегчить эту задачу, можно воспользоваться веб-интерфейсом phpMyAdmin для управления БД.

В данном руководстве рассмотрено, как установить phpMyAdmin на CentOS 7 с веб-сервером Nginx, а также защитить его от потенциальных злоумышленников. Данный способ также подходит для версий CentOS 6 и CentOS 8.

Подготовка к установке

Технические требования к установке PhpMyAdmin

Установка phpMyAdmin на сервер возможна в случае, если на CentOS уже установлен и настроен стек LEMP (Linux, Nginx, MariaDB и PHP). Данный комплекс программ необходим для запуска, работы и дополнительной настройки веб-интерфейса PhpMyAdmin.

Установка дополнительных репозиториев

В официальных репозиториях CentOS 7 пакет phpMyAdmin отсутствует. Проблема решается добавлением в систему дополнительного репозитория EPEL (Extra Packages for Enterprise Linux). В нем имеется огромное количество дополнительных пакетов для установки разного ПО, включая phpMyAdmin.

Установка EPEL репозитория выполняется командой:

Установка phpMyAdmin

Инсталляция PhpMyAdmin производится командой:

После непродолжительной установки файлы PhpMyAdmin будут распакованы по пути /usr/share/phpMyAdmin/. Даже после установки пакетов, PhpMyAdmin не будет работать, так как отсутствуют необходимые параметры в настройках хоста Nginx.

Настройка Nginx

PhpMyAdmin состоит из веб-страниц, написанных на языке PHP. Чтобы они стали доступны по определённому веб-адресу, нужно в настройки хоста Nginx добавить директиву «location», указывающую на каталог с веб-интерфейсом PhpMyAdmin, а так же набор необходимых параметров для работы с PHP.

Для внесения параметров необходимо открыть конфигурационный файл Nginx с настройками хоста. По умолчанию это файл «default.conf» (/etc/nginx/conf.d/default.conf).

Открыть конфигурационный файл можно с помощью редактора Nano при помощи следующей команды:

В открывшемся файле нужно найти главную директиву «server» и добавить следующий блок «location»:

В приведенном выше блоке « 127.0.0.1:9000 » – порт TCP порта для подключения к PHP.

Примечание. В CentOS, по умолчанию, PHP-FPM слушает Nginx через TCP порт. В случае, если сервер настроен на работу с PHP через сокет PHP-FPM, нужно изменить строку «fastcgi_pass 127.0.0.1:9000; » на «fastcgi_pass unix: /run/php-fpm/php-fpm.sock ;» Где « /run/php-fpm/php-fpm.sock; » – путь до UNIX сокета.

Настройка Nginx

Чтобы сохранить и закрыть файл, нужно нажать «Ctrl+X», потом «Y» и подтвердить изменения нажатием «Enter».

Проверить корректность введённый параметров можно командой:

Должен появится следующий вывод.


Примечание. Если вывод отличается от представленного, нужно проверить правильность внесенного кода в файл конфигурации Nginx. Вполне возможно, что были допущены ошибки при введении параметров или расстановке скобок «>» в конфигурационном файле.

Для применения параметров нужно перезагрузить Nginx:

Проверка работоспособности PhpMyAdmin

Проверить работоспособность PhpMyAdmin можно, введя в адресной строке браузера IP-адрес сервера и добавив «/phpmyadmin»:

Вместо « 194.61.0.6 » нужно ввести актуальный IP-адрес сервера или домена.

После перехода по веб-адресу должна открыться приветственная страница PhpMyAdmin.

Примечание. При возникновении ошибок 403, 502 и подобных стоит проверить правильность указанного в конфиге Nginx пути до UNIX сокета PHP-FPM. Если все параметры указаны верно, можно попробовать перенастроить PHP .


Чтобы выполнить вход, следует воспользоваться актуальным логином и паролем пользователя системы управления базой данных MySQL.

В случае, если пользователь MySQL не создан, выполнить регистрацию можно введя пару команд из оболочки MySQL.

Войти в оболочку MySQL можно командой:

Примечание. После ввода команды программа запросит пароль root пользователя MySQL. Если пароль не задан, нужно оставить поле «Enter password» пустым и нажать «Enter».

Для создания пользователя со всеми привилегиями нужно последовательно ввести следующие команды в оболочку MySQL:

  • « user » – логин создаваемой учётной записи.
  • « mypassword » – пароль создаваемой учётной записи.

Теперь можно выполнить вход в PhpMyAdmin от имени созданного пользователя. После входа будет открыто окно с интерфейсом PhpMyAdmin.

На этом установка на сервер phpMyAdmin будет закончена. Далее следует защитить к нему доступ от возможности входа сторонних лиц.

Защита phpMyAdmin

Сразу же после установки phpMyAdmin дает сторонним лицам без особых трудностей получить доступ к базе данных сайта. После установки окно авторизации в веб-интерфейс PhpMyAdmin не имеет защиты и представляет собой большую уязвимость в безопасности. Это позволяет злоумышленнику использовать эксплойты или подбор паролей (брутфорс) для доступа к учётной записи MySQL.

Обеспечить безопасность можно с помощью двух несложных действий:

  1. Изменить стандартное местоположение phpMyAdmin на другое. Так боты не смогут отследить путь к веб-интерфейсу.
  2. Создать еще одно окно авторизации, но уже на уровне сервера. Только после его прохождения, появится возможность открыть окно входа в phpMyAdmin.

Изменение местоположения PhpMyAdmin

При настройке Nginx задается стандартный путь до PhpMyAdmin – «/phpmyadmin». Чтобы избежать многочисленных атак ботов, рекомендуется изменить этот адрес на уникальный.

Для внесения изменений нужно открыть конфигурационный файл Nginx:


Примечание. Местоположение в данном примере — «/userphp». Его следует изменить на другое — соответствующее актуальному.

Остается проверить, все ли сделано правильно, для чего — перейти по старому адресу для входа:

Вместо окна авторизации должна появиться «ошибка 404». При этом открыть phpMyAdmin теперь возможно по новому адресу:

Двухэтапная авторизация PhpMyAdmin

Вторая мера, усиливающей безопасность phpMyAdmin — создание дополнительного требования пройти аутентификацию. Лишь после ее прохождения пользователь сможет открыть окно авторизации в веб-интерфейс PhpMyAdmin.

В Nginx такая функция доступна после установки. В данном случае, достаточно немного отредактировать конфигурационный файл Nginx. Однако, перед этим потребуется создать файл с базой паролей, где будут сохранены данные для авторизации.

Генерация зашифрованного пароля

Согласно требованиям Nginx, сохраненные пароли необходимо зашифровать функцией «crypt ()». Она включена в пакет OpenSSL, который устанавливается автоматически вместе с Nginx.

Для создания зашифрованных паролей в терминале используется команда:

Программа предложит задать пароль и ввести его повторно для подтверждения. Далее она покажет, как он выглядит в зашифрованном виде. Получится примерно следующее значение:


Примечание. Введённый в программу пароль будет использоваться для входа в дополнительное окно авторизации.

Полученное, после выполнения команды значение нужно сохранить, поскольку позже его потребуется добавить в создаваемый файл авторизации.

Создание файла авторизации

Можно переходить к созданию самого файла авторизации. В последующем он будет занесён в переменную Nginx «auth_basic_user_file» для обозначения логина и зашифрованного пароля. В этом примере файл авторизации будет назван «pma_pass» и сохранен в папке настроек Nginx:

В данном файле остается ввести логин пользователя, который будет использоваться. После него ставится двоеточие (:) и уже затем добавляется зашифрованный пароль, сгенерированный пакетом openssl passwd.

В приведенном выше примере:

По завершении ввода остается сохранить и закрыть текстовый редактор.

Настройка Nginx

Можно приступать к редактированию файла настроек веб-сервера Nginx. Его следует запустить в своем текстовом редакторе (в данном примере — Nano):

В приведенном выше примере:


Остается сохранить изменения и закрыть этот файл.

Чтобы дополнительный шлюз был запущен, потребуется выполнить перезагрузку веб-сервера командой:

Проверка работы двухэтапной аутентификации

При попытке перехода по веб-адресу phpMyAdmin, браузер покажет окно с запросом ввести логин и пароль, добавленные в файле «pma_pass».


При попытке авторизоваться с помощью несуществующего логина и пароля, сервер выдаст ошибку «403 Forbidden».

Установка phpMyAdmin в CentOS 7

Веб-интерфейс phpMyAdmin сейчас активно задействован пользователями баз данных MySQL, поскольку те поддерживают взаимодействие только через терминал. Установка дополнительного программного обеспечения с графическим интерфейсом позволит намного упростить процедуру работы с веб-серверами, однако для этого сначала придется произвести ряд действий, которые иногда вызывают трудности. Сегодня мы бы хотели максимально детально рассмотреть установку phpMyAdmin в операционной системе CentOS 7, разделив все важные действия на шаги. От вас же потребуется только следовать приведенным инструкциям и правильно вводить каждую команду.

Устанавливаем phpMyAdmin в CentOS 7

К сожалению, официального репозитория рассматриваемого приложения не существует, поэтому придется сначала добавить в систему пользовательское хранилище, из которого далее и выполняется сам процесс инсталляции. Кроме этого, на данный момент особой популярностью пользуются две версии phpMyAdmin, мы же расскажем об установке каждой из них и о дальнейшей настройке под веб-сервер Apache или Nginx.

Добавление компонентов phpMyAdmin

Конечно, при работе с новыми приложениями в Линукс всегда первоочередно происходит добавление их библиотек в систему, и phpMyAdmin не стал исключением. Давайте затронем тему двух доступных версий, начав с рекомендованной разработчиками.

Установка phpMyAdmin 4.4

Запуск терминала для дальнейшей установки phpMyAdmin в CentOS 7

Скачивание пакетов из репозитория для phpMyAdmin в CentOS 7

Ввод пароля для скачивания пакетов из репозитория phpMyAdmin в CentOS 7

Обновление системных пакетов для установки phpMyAdmin в CentOS 7

Установка программного обеспечения phpMyAdmin в CentOS 7

Установка последней версии phpMyAdmin

Некоторых пользователей интересует только последняя версия phpMyAdmin, для установки которой потребуется выполнить немного другие действия, дополнительно загрузив новые пакеты. В целом инструкция остается похожей, но с некоторыми изменениями.

Скачивание самой последней версии phpMyAdmin в CentOS 7 из репозитория

Обновление системных библиотек для установки последней версии phpMyAdmin в CentOS 7

Активировать совместимость с PHP 7 для phpMyAdmin в CentOS 7

Установить последнюю версию phpMyAdmin в CentOS 7

Настройка phpMyAdmin в Nginx

Некоторые пользователи предпочитают работать с веб-сервером Nginx, поскольку тот обеспечивает высокое быстродействие и производительность. Если вы являетесь сторонником этого программного обеспечения, после инсталляции phpMyAdmin придется совершить ряд настроек, чтобы наладить работоспособность всего механизма.

Первоочередно обратите внимание на то, чтобы сам веб-сервер уже добавлен в операционную систему, если это не так, поочередно впишите в консоль следующие команды:

sudo yum install epel-release
sudo yum install nginx
sudo systemctl start nginx

После этого следуйте такой инструкции:

    Включите phpMyAdmin в директорию веб-сервера с помощью строки sudo ln -s /usr/share/phpMyAdmin /var/www/html/phpmyadmin .

Создать папку с phpMyAdmin в Nginx для CentOS

Перезапустить сервер Nginx для установки phpMyAdmin в CentOS 7

Открыть конфигурационный файл Nginx для настройки phpMyAdmin в CentOS 7

Редактировать конфигурационный файл Nginx для phpMyAdmin в CentOS 7

Перезапустить сервер Nginx после установки phpMyAdmin в CentOS 7

Рекомендуется обезопасить веб-сервер путем создания случайного пароля. Для этого введите openssl passwd и скопируйте результат. Далее вам нужно будет запустить файл с паролями с помощью sudo vi /etc/nginx/passwords и внести туда новую строку в формате имя_пользователя:пароль , чтобы в итоге получилось, например, Admin:4B7fsek4L2.

Настройка phpMyAdmin в Apache

Хоть предыдущий веб-сервер и считается лучше в некоторых аспектах, Apache все еще остается достаточно популярным решением и используется в системе программного обеспечения LAMP. Его установка в CentOS производится буквально несколькими командами:

Если сервер уже добавлен или вы выполнили указанные выше команды, можно переходить непосредственно к самой настройке phpMyAdmin, а делается это следующим образом:

Задать пароль для сервера Apache phpMyAdmin в CentOS 7

Открыть конфигурационный файл Apache для настройки phpMyAdmin в CentOS 7

Редактировать конфигурационный файл Apache phpMyAdmin в CentOS 7

В этой статье вы были ознакомлены не только с процедурой добавления самих компонентов phpMyAdmin, но и узнали о первоначальной их настройке в двух разных веб-серверах. Во время выполнения каждой команды настоятельно рекомендуем читать уведомления, которые выводятся в консоль: иногда они могут свидетельствовать о возникновении ошибок, требующих оперативного решения.

Закрыть

Мы рады, что смогли помочь Вам в решении проблемы.

Отблагодарите автора, поделитесь статьей в социальных сетях.

Закрыть

Опишите, что у вас не получилось. Наши специалисты постараются ответить максимально быстро.

Для чего может пригодиться phpMyAdmin:

  1. Создание новых баз и пользователей, назначение прав.
  2. Экспорт или импорт баз не очень большого объема, до 50-ти мегабайт.
  3. Просмотр содержимого баз данных или информации о них.

Приступим к простой установке phpMyAdmin на CentOS 7.

2. Подготовка web-сервера apache.

Если на голом сервере выполнить:

Вы увидите полный список зависимостей, но в нем не будет самого web-сервера и интерпретатора php, только его модули. Web-сервер вам нужно предварительно установить и настроить самим.

Теперь установим php, без него панель администрирования не заработает:

Запускаем web-сервер, добавляем его в автозагрузку и проверяем работу:

Вы должны увидеть тестовую страницу Apache.

Теперь проверим, работает ли php. Создаем тестовую страничку в папке /var/www/html :

Назначаем владельца Apache на созданный файл:


Если видите такой же вывод, значит все в порядке, web-сервер готов для работы с phpMyAdmin. Приступаем к его установке.

3. Установка phpMyAdmin.

Перед установкой phpMyAdmin установите PHP по инструкции «CentOS 7: Установка PHP».

Устанавливаем phpMyAdmin со всеми зависимостями:

По-умолчанию, в конфиге закрыт доступ к панели управления для всех адресов, кроме 127.0.0.1. Чтобы открыть доступ для всех, приведите файл к следующему виду:

Я удалил все лишнее из файла, в том числе настройки, которые относились к версии apache 2.2.

Вы должны увидеть страницу логина:


Если у вас некуда подключаться, установите MariaDB.

Сейчас быстро ставим базу данных и запускаем ее по инструкции.

После этого можно еще раз открыть web-интерфейс phpMyAdmin и зайти под учетной записью root от системы базы данных. Откроется главная страница панели с общей информацией о сервере:


На этом установка закончена, web-панелью можно пользоваться. Некоторые полезные настройки мы рассмотрим далее в соответствующем разделе, а сейчас установим phpMyAdmin на веб сервере nginx.

4. Установка на nginx.

Настроим работу phpMyAdmin на web-сервере nginx + php-fpm. Рассмотрим общий случай быстрой и простой настройки phpMyAdmin на nginx.

Устанавливаем nginx:

Устанавливаем php-fpm:

Запускаем службы и добавляем в автозагрузку:


Дальше устанавливаем phpMyAdmin на web-сервер с nginx:

Редактируем конфигурационный файл nginx для добавления установленной web-панели управления:

Приводим секцию server <> к следующему виду:

Я взял стандартные параметры и добавил несколько новых строк для корректной работы. Теперь нам нужно сделать символьную ссылку (сим линк) из папки со скриптами phpmyadmin в корневой каталог web-сервера nginx:

Перезапускаем nginx:

Дальше по идее все должно работать, но у меня не работало, пришлось перезагрузить весь сервер, так как не работал модуль php mbstring, хотя он установлен и подключен. Перезапуск php-fpm тоже не помогал, а перезагрузка помогла. Проверил 2 раза, оба раза воспроизвел ошибку. Разбираться не стал в чем причина такого поведения, просто перезагрузите сервер и продолжайте.


Это связано с тем, что в папке /var/lib/php нет директории session .

Перезагружаем страницу, ошибка должна исчезнуть. Можно подключиться к mysql. Если сервер баз данных у вас не установлен, смотрите выше, как быстро его поставить и запустить. На этом установка закончена, рассмотрим несколько полезных настроек phpmyadmin.

5. Настройка phpMyAdmin.

Phpmyadmin готов к работе сразу после установки, дополнительные настройки не обязательны.

Рассмотрим сначала пример с web-сервером Apache. Будем использовать стандартное средство для ограничения доступа к каталогу с помощью .htaccees.

Создадим такой файл в папке со скриптами phpMyAdmin :

Теперь создадим файл с авторизационными данными:

Перезапускаем Apache и проверяем настройку. При обращении по адресу web-панели, должно выскочить окошко с авторизацией:


Проделаем то же самое на nginx. Так же создаем файл с паролем .htaccess:

Необходимой утилиты нет в системе. Установим htpasswd на сервер:

Снова создаем файл с паролем:

Отредактируем конфигурационный файл nginx, добавив в секцию server <> новый location :

Сохраняете конфиг, перезапускаете nginx и проверяете доступ к странице. Должно выскочить такое же, как и с apache, окно авторизации.

Рассмотрим еще несколько полезных настроек phpmyadmin.


Теперь можно идти в настройки и изменять их. Я обычно отключаю проверку новой версии. Они выходят достаточно часто, обновлять мне все равно их лень, поэтому информация о новых версиях мне не нужна. Так же отключаю логотип, можно загрузить свой. Сами полистайте настройки, посмотрите, что вам интересно. Все пункты неплохо задокументированы, можно почитать за что отвечают. Иногда бывает полезно вывести отдельный столбец в списке таблиц с информацией по дате создания и обновления. Это настраивается в разделе Настройки -> Основная панель -> Структура базы данных.

Читайте также: