Установка и настройка phpmyadmin ubuntu 18 04

Обновлено: 06.07.2024

phpMyAdmin позволяет управлять базами данных MySQL, учетными записями и привилегиями пользователей, выполнять SQL-операторы, импортировать и экспортировать данные в различных форматах данных и многое другое.

В этом руководстве описаны шаги, необходимые для установки и защиты phpMyAdmin с Apache в Ubuntu 18.04.

Подготовка

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

  • Установите LAMP (Linux, Apache, MySQL и PHP) на свой сервер Ubuntu .
  • Вы вошли в систему как пользователь с привилегиями sudo .

Установка phpMyAdmin

Чтобы установить phpMyAdmin на свой сервер Ubuntu 18.04, выполните следующие действия:

Обновите индекс пакета и обновите системные пакеты до последних версий:

Установите пакет phpMyAdmin из репозиториев Ubuntu по умолчанию с помощью следующей команды:

Установщик предложит вам выбрать веб-сервер, который должен быть автоматически настроен для запуска phpMyAdmin, выберите apache, нажав Space а затем Enter .

Затем вас спросят, использовать ли dbconfig-common для настройки базы данных, выберите « Yes и нажмите Enter .

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

Вам будет предложено подтвердить пароль, ввести тот же пароль, выбрать OK и нажать Enter .

После завершения процесса установки перезапустите Apache, чтобы изменения вступили в силу:

Создайте администратора MySQL

В системах Ubuntu под управлением MySQL 5.7 (и более поздних версий) пользователь root по умолчанию настроен на использование auth_socket аутентификации auth_socket .

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

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

Мы будем использовать этого пользователя для входа в панель управления phpMyAdmin и выполнения административных задач на нашем сервере MySQL или MariaDB.

Начните с входа на сервер MySQL в качестве пользователя root:

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

В нашем примере мы назвали администратора padmin . Вы можете использовать любое имя, только не забудьте установить надежный пароль.

Доступ к phpMyAdmin

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

Введите учетные данные пользователя с правами администратора, которые вы создали ранее, и нажмите « Go .

После входа в систему вы увидите панель управления phpMyAdmin, которая будет выглядеть примерно так:

Защита phpMyAdmin

Чтобы добавить дополнительный уровень безопасности, мы защитим паролем каталог phpMyAdmin, настроив базовую аутентификацию.

Сначала мы создадим файл паролей с пользователями, используя инструмент htpasswd , который поставляется с пакетом Apache. Мы будем хранить файл .htpasswd каталоге /etc/phpmyadmin :

В этом примере мы создаем пользователя с именем padmin . Вы можете выбрать любое имя пользователя, оно не обязательно должно совпадать с именем администратора MySQL.

Приведенная выше команда предложит вам ввести и подтвердить пароль пользователя.

Если вы хотите добавить дополнительного пользователя, вы можете использовать ту же команду без флага -c :

Следующим шагом является настройка Apache для защиты паролем каталога phpMyAdmin и использования файла .htpasswd .

Для этого откройте файл phpmyadmin.conf который был автоматически создан во время установки phpMyAdmin:

И отредактируйте / вставьте следующие строки, выделенные желтым:

Сохраните и закройте файл и перезапустите Apache, чтобы изменения вступили в силу:

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

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

Также рекомендуется изменить псевдоним /phpmyadmin на более уникальный и безопасный.

Выводы

Поздравляем, вы успешно установили phpMyAdmin на свой сервер Ubuntu 18.04. Теперь вы можете начать создавать базы данных MySQL, пользователей и таблицы, а также выполнять различные запросы и операции MySQL.

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

phpMyAdmin был создан, чтобы пользователи могли взаимодействовать с MySQL через веб-интерфейс. В этом руководстве мы расскажем, как выполнить установку и обеспечить безопасность phpMyAdmin, чтобы вы могли безопасно использовать данный инструмент для управления своими базами данных в Ubuntu 18.04.

Предварительные требования

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

Во-первых, мы полагаем, что ваш сервер имеет пользователя user без root прав с привилегиями sudo , а также брандмауэр с ufw , как указано в руководстве по начальной настройке сервера для Ubuntu 18.04.

Мы также предполагаем, что вы выполнили установку LAMP (Linux, Apache, MySQL и PHP) на вашем сервере с Ubuntu 18.04. Если вы еще не сделали этого, вы можете воспользоваться данным руководством по установке стека LAMP на Ubuntu 18.04.

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

  • напрямую связывается с установленной у вас версией MySQL;
  • управляет аутентификацией, используя учетные данные MySQL;
  • исполняет и возвращает результаты для произвольных SQL запросов.

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

Шаг 1 — Установка phpMyAdmin

Во-первых, мы установим phpMyAdmin из репозиториев Ubuntu по умолчанию.

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

На этом этапе вам потребуется ответить на несколько вопросов для корректной настройки установки.

Предупреждение. При появлении первого диалогового окна вариант «apache2» выделен, но не выбран. Если вы не нажмете ПРОБЕЛ для выбора Apache, установщик не будет перемещать необходимые файлы при установке. Нажмите ПРОБЕЛ, затем TAB, а потом ENTER для выбора Apache.

  • Для выбора сервера нажмите apache2
  • Выберите Да при ответе на вопрос о том, необходимо ли использовать dbconfig-common для настройки базы данных.
  • Затем вам будет предложено выбрать и подтвердить пароль приложения MySQL для phpMyAdmin

В процессе установки будет добавлен файл конфигурации phpMyAdmin в каталог /etc/apache2/-enabled/ , где он будет считываться автоматически. От вас потребуется только явным образом активировать PHP расширение mbstring , что можно сделать с помощью следующей команды:

Перезапустите Apache для вступления изменений в силу.

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

Шаг 2 — Настройка аутентификации и прав пользователя

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

Настройка доступа по паролю для учетной записи root в MySQL

В системах Ubuntu при запуске MySQL 5.7 (и более поздние версии) для root пользователя MySQL по умолчанию устанавливается аутентификация с помощью плагина auth_socket , а не пароля. Это позволяет обеспечить большую безопасность и удобство во многих случаях, однако это также может осложнить ситуацию, когда вам нужно предоставить внешней программе, например, phpMyAdmin, доступ к пользователю.

Чтобы войти в phpMyAdmin с root пользователем MySQL, вам нужно переключить метод аутентификации с auth_socket на mysql_native_password , если вы еще не сделали этого. Для этого откройте командную строку MySQL через терминал:

Затем проверьте, какой метод аутентификации используют ваши аккаунты пользователей MySQL с помощью следующей команды:

В этом примере вы можете видеть, что root пользователь действительно использует метод аутентификации с помощью плагина auth_socket . Чтобы настроить для учетной записи root аутентификацию с помощью пароля, выполните следующую команду ALTER USER . Обязательно измените значение password на надежный пароль по вашему выбору:

Затем выполните команду FLUSH PRIVILEGES , которая просит сервер перезагрузить предоставленные таблицы и ввести в действие изменения:

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

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

Настройка доступа по паролю для выделенного пользователя MySQL

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

Примечание. Если вы активировали аутентификацию по паролю, как указано в предыдущем разделе, вам потребуются другие команды для доступа к командной строке MySQL. Следующая команда будет запускать ваш клиент MySQL с обычными правами пользователя, и вы получите права администратора внутри базы данных только с помощью аутентификации:

Создайте нового пользователя и придумайте для него надежный пароль:

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

После этого закройте командную строку MySQL:

Теперь вы можете получить доступ к веб-интерфейсу, набрав доменное имя или открытый IP-адрес вашего сервера и добавив /phpmyadmin:

phpMyAdmin login screen

Выполните вход в интерфейс с помощью root пользователя или с новым именем пользователя и паролем, которые вы только что задали.

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

phpMyAdmin user interface

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

Шаг 3 — Обеспечение безопасности phpMyAdmin

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

Чтобы сделать это, вы должны сначала активировать перезапись файла .htaccess , изменив файл конфигурации Apache.

Отредактируйте связанный файл, помещенный в каталог конфигурации Apache:

Добавьте директиву AllowOverride All в раздел файла конфигурации <Directory /usr/share/phpmyadmin> , например:

После добавления этой строки сохраните и закройте файл.

Перезапустите Apache, чтобы изменения вступили в силу.

Теперь, когда вы активировали использование .htaccess для вашего приложения, вам нужно создать этот файл для реализации этого уровня защиты.

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

В этом файле введите следующую информацию:

Вот что означает каждая из этих строк:

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

Вы использовали следующее местонахождение для вашего файла пароля /etc/phpmyadmin/.htpasswd . Теперь вы можете создать этот файл и передать его для первоначального пользователя с помощью утилиты htpasswd :

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

Если вы хотите ввести дополнительного пользователя, вам нужно сделать это без флага -c , например:

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

phpMyAdmin apache password

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

Заключение

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

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

В этой статье мы пошагово покажем, как установить и обезопасить phpMyAdmin Ubuntu 18.04/20.04.

Этап 1. Подготовка к установке

Создайте пользователя non-root с sudo-правами. Для этого выполните команду:

Где UserName — имя нового пользователя.

Система попросит ввести пароль для нового пользователя и дополнительную информацию.

Установите права доступа, чтобы новый пользователь мог использовать команду sudo. Для этого выполните команду:

Где UserName — имя созданного ранее пользователя.

Готово, подготовка завершена, далее установите phpMyAdmin.

Этап 2. Установка phpMyAdmin

Обновите операционную систему до актуального состояния с помощью команды:

Установите расширения PHP, которые нужны для работы phpMyAdmin:

Включите расширение PHP mbstring. Для этого выполните команду:

Во всплывающем окне «Конфигурация phpMyAdmin» выберите apache2 и нажмите Ok:

Чтобы создать базу данных по умолчанию и начать конфигурацию, выберите Yes:

Задайте root-пароль и нажмите Ok:

Повторите пароль и нажмите Ok:

Если при активации расширения возникла ошибка, это значит, что расширение не установлено. Установить расширение можно командой:

7.4 — версию PHP, которая установлена на сервер. По умолчанию на Ubuntu 18.04 устанавливается версия 7.2, а на Ubuntu 20.04 — 7.4;

mbstring — нужное расширение.

Перезагрузите Apache командой:

Перейдите по адресу 123.123.123.123/phpmyadmin

Вместо 123.123.123.123 укажите IP-адрес вашего сервера.

phpMyAdmin установка

phpMyAdmin установка

Готово, установка phpMyAdmin завершена.

Этап 3. Настройка безопасности phpMyAdmin

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

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

Благодаря phpMyAdmin пользователи могут управлять системой MySQL через веб-интерфейс. Данный мануал содержит пошаговые инструкции по установке и защите веб-интерфейса phpMyAdmin.

Требования

При использовании программ вроде phpMyAdmin следует учитывать, что она:

  • Взаимодействует с MySQL напрямую;
  • Выполняет аутентификацию при помощи учётных данных MySQL;
  • Обрабатывает и возвращает результаты для произвольных запросов SQL.

1: Установка phpMyAdmin

Пакеты phpMyAdmin доступны в стандартном репозитории Ubuntu.

Обновите индекс пакетов и установите phpMyAdmin:

sudo apt update
sudo apt install phpmyadmin php-mbstring php-gettext

Чтобы настроить экземпляр, нужно ответить на ряд вопросов.

Примечание: В первом вопросе опция apache2 выделена, но не выбрана. Если вы не нажмёте пробел, чтобы выбрать Apache, инсталлятор не переместит необходимые файлы во время установки. Чтобы выбрать Apache, нажмите пробел, Tab и Enter.

  • В качестве веб-сервера выберите apache2.
  • На вопрос, нужно ли использовать dbconfig-common для настройки базы данных, ответьте yes.
  • Затем программа предложит выбрать и подтвердить пароль для phpMyAdmin.

Во время установки конфигурационный файл phpMyAdmin добавляется в каталог /etc/apache2/conf-enabled/, в котором он читается автоматически.

Теперь нужно явно включить PHP-расширение mbstring.

sudo phpenmod mbstring

Перезапустите Apache, чтобы обновить настройки:

sudo systemctl restart apache2

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

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

2: Защита phpMyAdmin

Из-за своей распространённости PhpMyAdmin часто подвергается атакам злоумышленников. На данном этапе необходимо обеспечить интерфейсу достаточный уровень защиты для предотвращения вредоносного использования.

Один из самых простых способ защиты phpMyAdmin – размещение шлюза безопасности. Это делается при помощи специальных файлов Apache под названием .htaccess.

Сначала нужно включить поддержку файлов .htaccess, отредактировав конфигурационный файл Apache.

sudo nano /etc/apache2/conf-available/phpmyadmin.conf

В раздел <Directory /usr/share/phpmyadmin> нужно добавить параметр AllowOverride All:

<Directory /usr/share/phpmyadmin>
Options FollowSymLinks
DirectoryIndex index.php
AllowOverride All
. . .

Сохраните и закройте файл.

sudo systemctl restart apache2

Теперь приложение поддерживает файлы .htaccess; нужно только создать такой файл.

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

sudo nano /usr/share/phpmyadmin/.htaccess

Вставьте в файл:

AuthType Basic
AuthName "Restricted Files"
AuthUserFile /etc/phpmyadmin/.htpasswd
Require valid-user

Рассмотрим эти строки подробнее:

Сохраните и закройте файл.

Теперь в каталоге, указанном в AuthUserFile, нужно создать файл паролей .htpasswd.

Файл с паролями нужно создать в каталоге, заданном в директиве AuthUserFile, в данном случае это /etc/phpmyadmin/.htpasswd.

sudo htpasswd -c /etc/phpmyadmin/.htpasswd username

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

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

sudo htpasswd /etc/phpmyadmin/.htpasswd additionaluser

Теперь при входе в подкаталог phpMyAdmin будут запрашиваться учетные данные пользователя:

Только после аутентификации пользователь сможет получить доступ к странице авторизации phpMyAdmin. Это установит дополнительный уровень безопасности, который защитит веб-интерфейс phpMyAdmin от атак методом подбора паролей.

Заключение

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

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