Как установить phpmyadmin ubuntu
Установка PhpMyAdmin в Ubuntu 20.04
В этой статье мы рассмотрим, как выполняется установка phpMyAdmin на Ubuntu 20.04 с веб-сервером Apache. Прежде чем приступать к установке phpMyAdmin, у вас уже заранее должны быть установлены такие компоненты, как Apache, MySQL и PHP. Если ещё нет, то сначала посмотрите статью установка LAMP Ubuntu 20.04.
Установка phpMyAdmin в Ubuntu 20.04
Прежде чем мы сможем установить phpMyAdmin Ubuntu, необходимо убедиться, что у вас установлено расширение php для работы с текстовыми строками в формате юникода. Для его установки выполните в терминале команду:
Теперь можно установить сам пакет phpMyAdmin при помощи команды:
Установщик спросит вас, какой веб-сервер будет использоваться для работы программы. Отметьте с помощью кнопки Пробел пункт apache2, а затем с помощью Tab и Enter нажмите кнопку Ок:
Далее установщик предложит создать базу данных для phpMyAdmin, в которой будет находиться служебная информация программы и необходимые настройки, необходимо согласиться выбрав пункт Yes:
На следующем этапе необходимо придумать пароль для пользователя phpmyadmin, который будет использоваться программой для доступа к собственной базе данных:
Далее программа попросит вас повторить заданный ранее пароль:
После этого установка phpMyAdmin Ubuntu 20.04 завершена.
Настройка phpMyAdmin в Ubuntu
Теперь phpMyAdmin будет доступен по адресу ip_вашего_сервера/phpmyadmin. Вы можете проверить, всё ли работает, просто открыв этот адрес в браузере:
1. Создание пользователя для phpMyAdmin
По умолчанию, вы не сможете авторизоваться в phpMyAdmin от пользователя root, потому что по умолчанию данная особенность отключена. В целях безопасности включать данную опцию не рекомендуется. В данном случае необходимо создать нового пользователя и наделить его полномочиями root. Для создания нового пользователя перейдите в консоль MySQL введя команду в терминале:
После ввода пароля root пользователя MySQL, введите следующие команды:
CREATE USER ‘test’@’localhost’ IDENTIFIED BY ‘пароль’;
GRANT ALL PRIVILEGES ON *.* TO ‘test’@’localhost’;
При помощи первых двух команд был создан новый пользователь с именем test, ему был присвоен пароль и предоставлены все возможные привилегии (такие как создание, удаление, редактирование баз данных, таблиц и т.д.). Третья команда обновляет заданные ранее привилегии.
Теперь необходимо авторизоваться в phpMyAdmin при помощи созданного пользователя:
2. Защита phpMyAdmin
Если phpMyAdmin установлен на производственном сервере, который доступен из сети, то его необходимо обезопасить, добавив авторизацию. Для этого создайте файл /usr/share/phpmyadmin/.htaccess со следующим содержимым:
sudo vi /usr/share/phpmyadmin/.htaccess
AuthType Basic
AuthName «Restricted Files»
AuthUserFile /etc/phpmyadmin/.htpasswd
Require valid-user
Данные строки означают:
Далее создайте новый пароль для своего пользователя:
sudo vi /etc/apache2/apache2.conf
AllowOverride All
Require all granted
Сохраните изменения и закройте файл. Далее перезапустите apache:
sudo systemctl restart apache2
Теперь, если вы попытаетесь открыть phpMyAdmin, то вам необходимо пройти авторизацию:
Как удалить phpMyAdmin с Ubuntu
Чтобы удалить phpMyAdmin, необходимо выполнить команду:
sudo apt purge phpmyadmin
После выполнения этой команды программа будет удалена с вашего компьютера.
Выводы
В этой небольшой статье мы рассмотрели, как установить PhpMyAdmin на Ubuntu 20.04. Как видите, всё стало намного проще, чем в предыдущих версиях, когда нам нужно было вручную включать различные модули и настраивать местоположение файлов программы.
Установка PhpMyAdmin с Nginx в Ubuntu 20.04
В этой статье мы рассмотрим, как выполняется установка phpMyAdmin на Ubuntu 20.04 с веб-сервером Nginx. Прежде чем приступать к установке phpMyAdmin, у вас уже заранее должны быть установлены такие компоненты, как Nginx, MariaDB или MySQL и PHP. Если ещё нет, то сначала посмотрите статьи про установку Nginx c PHP-FPM и статью по установке MySQL
Установка phpMyAdmin в Ubuntu 20.04
1. Установка нужных компонентов
Прежде чем мы сможем установить phpMyAdmin на Ubuntu, необходимо убедиться, что у вас установлен сам интерпретатор языка программирования PHP и необходимые расширения для PHP. Для установки всех необходимых пакетов выполните в терминале команду:
На момент написания статьи (1 августа 2021) актуальной версией PHP в официальных репозиториях Ubuntu считалась версия 7.4. Самая же последняя официальная версия PHP от разработчиков 8.0.9 (по состоянию на 29 июля 2021 года).
2. Установка phpMyAdmin
Теперь можно установить сам пакет phpMyAdmin при помощи команды:
Установщик спросит вас, какой веб-сервер будет использоваться для работы программы. Так как веб-сервер Nginx отсутствует в списке, в таком случае отмечать ничего не надо. Нажмите на клавишу Tab далее на Enter чтобы продолжить установку:
Далее установщик предложит создать базу данных для phpMyAdmin, в которой будет находиться служебная информация программы и необходимые настройки, необходимо согласиться выбрав пункт Yes:
На следующем этапе необходимо придумать пароль для пользователя phpmyadmin, который будет использоваться программой для доступа к собственной базе данных:
Далее программа попросит вас повторить заданный ранее пароль:
После этого установка phpMyAdmin в Ubuntu завершена.
3. Настройка PhpMyAdmin в Nginx с помощью символической ссылки
Для того чтобы Nginx смог правильно открыть phpMyAdmin, необходимо выполнить следующие действия. Для начало настройте PHP-FPM для обслуживания веб-приложений или сайтов на основе PHP в файле конфигурации /etc/php/7.4/fpm/php.ini.
sudo nano /etc/php/7.4/fpm/php.ini
Найдите пункт cgi.fix_pathinfo = 1 и измените его значение на 0 чтобы получилось cgi.fix_pathinfo = 0:
Для получения доступа к веб-интерфейсу phpMyAdmin, необходимо создать символическую ссылку на каталог с файлами PhpMyAdmin в каталог вашего веб-сервера. По умолчанию в Ubuntu веб-сервер получает файлы из /var/www/html. Для этого используйте команду:
sudo nano /etc/nginx/sites-available/default
Найдите строку, содержащую комментарий # Add index.php to the list if you are using PHP и добавьте index.php в строку ниже:
После внесения изменений перезапустите Nginx, чтобы применить внесенные изменения:
sudo systemctl restart nginx
После выполнения данных действий, phpMyAdmin будет доступен по адресу ip_вашего_сервера/phpmyadmin. Вы можете проверить, всё ли работает, просто открыв этот адрес в браузере:
4. Настройка Nginx для PhpMyAdmin с помощью root
Это альтернативный способ настройки Nginx. Для его работы вам достаточно добавить код ниже в конфигурацию любого виртуального хоста. Например, того же /etc/nginx/sites-enabled/default:
sudo nano /etc/nginx/sites-enabled/default
Для location /phpmyadmin устанавливается корневая папка /usr/share где находятся файлы PhpMyAdmin. Этот способ использовать предпочтительнее, поскольку именно с ним вы сможете настроить авторизацию. После внесения изменений проверьте конфигурацию Nginx и перезапустите веб-сервер:
sudo systemctl restart nginx
5. Настройка Nginx для PhpMyadmin с помощью alias
Если вы хотите задать для PhpMyAdmin свой путь, предыдущий вариант работать не будет. Но вы можете использовать другой вариант конфигурации, основанный на директиве alias:
sudo nano /etc/nginx/sites-available/default
Здесь аналогично предыдущему пункту вам необходимо сохранить изменения, проверить конфигурацию веб-сервера и перезапустить Nginx.
6. Создание пользователя для phpMyAdmin
По умолчанию, вы не сможете авторизоваться в phpMyAdmin от пользователя root, потому что данная особенность отключена. В целях безопасности включать данную опцию не рекомендуется. В данном случае необходимо создать нового пользователя и наделить его полномочиями root. Для создания нового пользователя перейдите в консоль MySQL введя команду в терминале:
После ввода пароля root пользователя MySQL, введите следующие команды:
CREATE USER ‘test’@’localhost’ IDENTIFIED BY ‘пароль’;
GRANT ALL PRIVILEGES ON *.* TO ‘test’@’localhost’;
При помощи первых двух команд был создан новый пользователь с именем test, ему был присвоен пароль и предоставлены все возможные привилегии (такие как создание, удаление, редактирование баз данных, таблиц и т.д.). Третья команда обновляет заданные ранее привилегии.
Теперь необходимо авторизоваться в phpMyAdmin при помощи созданного пользователя:
7. Защита phpMyAdmin
Если phpMyAdmin установлен на производственном сервере, который доступен из сети, то его необходимо обезопасить, добавив авторизацию.
Чтобы добавить аутентификацию, необходимо создать файл для хранения учетных записей, которые будут использоваться для аутентификации. В Nginx пароли шифруются при помощи встроенной функции crypt. Для шифрования паролей будет использоваться пакет OpenSSL, который уже должен быть установлен на вашем сервере. Для проверки на наличии данной программы введите в терминале команду openssl:
Если пакет у вас присутствует, то приглашение командной строки изменится на OpenSSL. Если пакет у вас отсутствует, установите его при помощи команды:
Для создания зашифрованного пароля введи в терминале команду:
На первом этапе вам будет предложено придумать и ввести пароль. После его ввода его необходимо ввести еще раз. Далее утилита отобразит зашифрованную версию пароля. Скопируйте значение, которое получилось на выходе, так как оно будет использоваться далее. Теперь создайте файл аутентификации. Для примера назовем этот файл pma_pass и поместим его в каталог конфигурации Nginx:
sudo nano /etc/nginx/pma_pass
В этом файле укажите имя пользователя, которое будет использоваться для аутентификации, далее поставьте символ двоеточие (:), и вставьте зашифрованную версию пароля, которую вы получили на выходе от команды openssl passwd. В итоге файл должен быть приведен к следующему виду:
Здесь test1 это имя пользователя, которое будет использоваться для аутентификации, а avltQWsa5wSSw – зашифрованный пароль который вы получили от команды openssl passwd.
Сохраните и закройте файл. Теперь необходимо прописать настройки аутентификации. В качестве настройки будет использовать конфигурационный файл по умолчанию, который находиться в /etc/nginx/sites-available. Откройте данный файл для редактирования при помощи любого текстового редактора:
sudo nano /etc/nginx/sites-available/default
Найдите директиву server и в нем блок location, который вы создали для PhpMyAdmin на шаге 4 или 5 и добавьте в него такие строчки:
auth_basic «Admin Login»;
auth_basic_user_file /etc/nginx/pma_pass;
Где auth_basic – сообщение, которое будет отображаться при аутентификации. Можно написать все что угодно. А в auth_basic_user_file – указывается путь до файла содержащий логин и пароль. Если вы использовали вариант со символической ссылкой, то сделать авторизацию только для PhpMyAdmin не получится. После внесения изменений сохраните и закройте файл.
Всегда, как только вы внесли какие-либо изменения в конфигурационные файлы Nginx, запускайте команду для проверки файлов на наличие ошибок:
Если в выводе команды отобразились следующие строчки:
Это означает что ошибок нет. В противном случае будет выведен текст с ошибкой, а также указан номер строки, в которой была обнаружена ошибка. Далее перезапустите веб-сервер nginx:
sudo systemctl restart nginx
После перезапуска перейдите по адресу ip адрес/имя сервера/phpMyAdmin и вы увидите окно с авторизацией, где необходимо ввести ранее созданный логин и пароль:
Как удалить phpMyAdmin с Ubuntu
Чтобы удалить phpMyAdmin, необходимо выполнить команду:
sudo apt purge phpmyadmin
Команда purge позволяет удалить не только пакеты, но и их конфигурационные файлы. Если вы хотите оставить конфигурационные файлы, используйте команду remove.
Выводы
В этой небольшой статье мы рассмотрели, как выполняется установка и настройка phpMyAdmin в операционной системе Ubuntu 20.04. Как видите, всё стало намного проще, чем в предыдущих версиях, когда нам нужно было вручную включать различные модули и настраивать местоположение файлов программы.
Как установить и настроить phpMyAdmin в Ubuntu 16.04
Published on February 26, 2017
Введение
Несмотря на то, что многие пользователи испытывают потребность в системе управления базами данных вроде MySQL, работа с MySQL только с помощью средств командной строки может вызывать дискомфорт.
phpMyAdmin был создан для того, чтобы пользователи могли управлять базой данных MySQL с помощью веб-интерфейса. В этой статье мы расскажем о том, как установить и настроить phpMyAdmin для безопасной работы с вашими базами данных в Ubuntu 16.04.
Перед установкой
Перед тем, как мы начнём, убедитесь, что у вас есть всё необходимое.
Прежде всего, мы будем исходить из того, что у вас есть не-рутовый (non-root) пользователь с привилегиями sudo. Настроить такую учётную запись пользователя можно следуя шагам 1-4 в статье о первичной настройке сервера на Ubuntu 16.04.
Мы также будем считать, что вы завершили настройку стека LAMP (Linux, Apache, MySQL и PHP) на вашем сервере с Ubuntu 16.04. Если вы ещё не сделали этого, вы можете ознакомиться с этим процессом в статье об установке стека LAMP на Ubuntu 16.04.
И, наконец, необходимо иметь в виду некоторые вопросы безопасности при использовании phpMyAdmin, поскольку он:
По этим причинам, а также потому, что phpMyAdmin является одним из наиболее распространённых и атакуемых PHP приложений, вам не стоит запускать phpMyAdmin на удалённых машинах с простым соединением HTTP. Если у вас ещё нет домена с настроенным SSL/TLS сертификатом, рекомендуем ознакомиться со статьёй Делаем Apache безопаснее с помощью Let’ Encrypt на Ubuntu 16.04.
После выполнения описанных выше мероприятий, вы можете начать следовать шагам, указанным в этой статье.
Сначала установим phpMyAdmin из репозиториев Ubuntu по умолчанию.
Для этого обновим наш локальный индекс пакетов, а затем используем систему управления пакетами apt для загрузки и установки необходимых файлов:
В процессе установки вам будет задано несколько вопросов по конфигурации.
Внимание:
Во время первого диалога apache2 подсвечен, но не выбран. Если вы не нажмёте Пробел для выбора Apache, установщик не переместит необходимые файлы в процессе установки. Нажмите Пробел, Tab, а затем Enter для выбора Apache.
В процессе установки в директорию /etc/apache2/conf-enabled/ будет добавлен файл конфигурации phpMyAdmin для Apache.
Единственное, что мы должны сделать вручную, так это включить расширения PHP mcrypt и mbstring следующими командами:
Далее перезапустим Apache для применения изменений:
Теперь вы можете осуществить доступ к веб-интерфейсу phpMyAdmin введя имя домена или публичного IP адреса вашего сервера и строки /phpmyadmin :
Теперь вы можете войти в веб-интерфейс используя имя пользователя root и пароль, заданный в процессе установки MySQL.
После входа вы увидите похожий интерфейс пользователя:
Установка phpMyAdmin осуществляется достаточно просто. Тем не менее, мы ещё не закончили. Из-за того, что phpMyAdmin используется большим количеством пользователей, он представляет собой популярную цель для злоумышленников. Нам необходимо предпринять некоторые шаги для предотвращения неавторизованного доступа.
Мы будем редактировать файл в нашей конфигурационной директории Apache:
Нам необходимо добавить директиву AllowOverride All в секцию конфигурационного файла:
После того, как вы добавили эту строку, сохраните и закройте файл.
Для применения изменений перезапустите Apache:
Файл необходимо создать в директории приложения. Мы можем создать необходимый файл и открыть его для редактирования следующей командой:
Теперь введём следующую информацию:
Введённые нами строки означают следующее:
После ввода указанных строк, сохраните и закройте файл.
Для того, чтобы это сделать, нам понадобится установить дополнительный пакет из стандартных репозиториев:
Вам будет предложено выбрать и подтвердить пароль для созданного пользователя. После этого файл будет создан и в него будет добавлен хэш указанного вами пароля.
Теперь, когда вы настроили доступ к поддиректории phpMyAdmin, при попытке входа в phpMyAdmin вам будет предложено ввести логин и пароль пользователя:
После ввода логина и пароля вы будете перенаправлены на страницу аутентификации phpMyAdmin. Таким образом, мы создали дополнительный слой защиты для вашего phpMyAdmin.
Заключение
Теперь у вас есть phpMyAdmin, готовый к работе на вашем сервере с Ubuntu 16.04. Используя его интерфейс вы можете легко создавать базы данных, пользователей, таблицы и многое другое, а также выполнять обычные операции модификации или удаления хранимых данных.
Установка и обеспечение безопасности phpMyAdmin в Ubuntu 20.04
Published on May 21, 2020
Предыдущая версия данного руководства была написана Бреннаном Бернсом.
Введение
Хотя многим пользователям требуются функциональные возможности систем управления базами данных, например, MySQL, им может показаться неудобным взаимодействие с системой исключительно с помощью командной строки MySQL
phpMyAdmin был создан, чтобы пользователи могли взаимодействовать с MySQL через веб-интерфейс. В этом руководстве мы расскажем, как выполнить установку и обеспечить безопасность phpMyAdmin, чтобы вы могли безопасно использовать данный инструмент для управления своими базами данных в Ubuntu 20.04.
Предварительные требования
Для выполнения этого руководства вам потребуется следующее:
Наконец, существует ряд важных соображений безопасности при использовании таких программных средств, как phpMyAdmin, поскольку phpMyAdmin:
По этим причинам, и поскольку это широко применяемое PHP приложение, которое часто становится мишенью для атак, вы ни при каких условиях не должны запускать phpMyAdmin на удаленных системах, используя обычное HTTP-соединение.
Если у вас нет существующего домена с настроенным SSL/TLS сертификатом, вы можете воспользоваться следующим руководством по обеспечению безопасности Apache с помощью Let’s Encrypt в Ubuntu 20.04. Для этого вам потребуется зарегистрировать доменное имя, создать DNS запись для вашего сервера и настроить виртуальный хост Apache.
Шаг 1 — Установка phpMyAdmin
Вы можете использовать APT для установки phpMyAdmin из репозиториев Ubuntu по умолчанию.
Обновите индекс пакетов вашего сервера от имени пользователя без прав root с привилегиями sudo:
Запустите следующую команду для установки этих пакетов в систему. Обратите внимание, что процесс установки требует, чтобы вы ответили на ряд вопросов для корректной настройки phpMyAdmin. Мы кратко пробежимся по этим параметрам:
Здесь представлены параметры, которые вы должны выбрать при запросе для корректной настройки вашей установки:
Примечание. Если вы установили MySQL, следуя указаниям шага 2 с предварительными требования из руководства для стека LAMP, вы, возможно, активировали плагин Validate Password. На момент написания этого руководства активация этого компонента будет вызывать ошибку при попытке задать пароль пользователя phpmyadmin:
Для устранения этой проблемы выберите опцию abort для остановки процесса установки. Затем откройте командную строку MySQL:
Либо, если вы активировали аутентификацию по паролю для пользователя с правами root MySQL, запустите эту команду, а затем введите пароль при запросе:
Из командной строки запустите следующую команду для отключения компонента Validate Password. Обратите внимание, что в этом случае выполняется не удаление, а простая остановка загрузки компонента на ваш сервер MySQL:
После этого вы можете закрыть клиент MySQL:
Перезапустите Apache для вступления изменений в силу.
Теперь phpMyAdmin установлен и настроен для работы с Apache. Однако, прежде чем вы сможете войти и начать взаимодействие с базами данных MySQL, вам нужно убедиться, что у пользователей MySQL есть права, необходимые для взаимодействия с программой.
Шаг 2 — Настройка аутентификации и прав пользователя
При установке phpMyAdmin на ваш сервер автоматически создал пользователь базы данных с именем phpmyadmin, который отвечает за определенные базовые процессы программы. Вместо того, чтобы выполнять вход с помощью этого пользователя и пароля администратора, которые вы задали при установке, рекомендуется войти с использованием вашего пользователя root MySQL или пользователя, предназначенного для управления базами данных через интерфейс phpMyAdmin.
Настройка доступа по паролю для учетной записи root в MySQL
В системах Ubuntu при запуске MySQL 5.7 (и более поздние версии) для пользователя root MySQL по умолчанию устанавливается аутентификация с помощью плагина aut h_socket, а не пароля. Это позволяет обеспечить большую безопасность и удобство во многих случаях, однако это также может осложнить ситуацию, когда вам нужно предоставить внешней программе, например, phpMyAdmin, доступ к пользователю.
Чтобы войти в phpMyAdmin с пользователем root MySQL, вам нужно переключить метод аутентификации с auth_socket на метод. использующий пароль, если вы еще не сделали этого. Для этого откройте командную строку MySQL через терминал:
Затем проверьте, какой метод аутентификации используют ваши аккаунты пользователей MySQL с помощью следующей команды:
Затем проверьте методы аутентификации, применяемые для каждого из ваших пользователей, чтобы подтвердить, что пользователь root больше не использует для аутентификации плагин auth_socket :
В этом выводе вы можете увидеть, что пользователь root user будет использовать аутентификацию по паролю. Теперь вы можете выполнить вход в интерфейс phpMyAdmin с помощью пользователя root с паролем, который вы задали ранее.
Настройка доступа по паролю для выделенного пользователя MySQL
Некоторые могут посчитать, что для их рабочего процесса лучше подходит подключение к phpMyAdmin с помощью специально выделенного пользователя. Чтобы сделать это, снова откройте командную строку MySQL:
Если вы активировали аутентификацию по паролю для вашего пользователя root, как описано в предыдущем разделе, вам нужно запустить следующую команду и ввести пароль при запросе для подключения:
Создайте нового пользователя и придумайте для него надежный пароль:
Примечание. В зависимости от версии PHP, которую вы установили, вы можете задать для вашего нового пользователя аутентификацию с помощью mysql_native_password вместо caching_sha2_password :
Затем предоставьте вашему новому пользователю соответствующие права. Например, вы можете предоставить пользователю права доступа ко всем таблицам в базе данных, а также можете добавлять, изменять и удалять права пользователя с помощью этой команды:
После этого закройте командную строку MySQL:
Теперь вы можете получить доступ к веб-интерфейсу, набрав доменное имя или открытый IP-адрес вашего сервера и добавив /phpmyadmin :
Выполните вход в интерфейс с помощью пользователя root или с новым именем пользователя и паролем, которые вы только что задали.
При входе вы увидите пользовательский интерфейс, который будет выглядеть следующим образом:
Теперь, когда вы можете подключаться и взаимодействовать с phpMyAdmin, осталось только установить более жесткие правила безопасности системы, чтобы защитить ее от атак.
Шаг 3 — Обеспечение безопасности phpMyAdmin
Перезапустите Apache, чтобы изменения вступили в силу.
Чтобы этот файл мог использоваться, он должен находиться в каталоге приложения. Вы можете создать необходимый файл и открыть его в текстовом редакторе с привилегиями root с помощью следующей команды:
В этом файле введите следующую информацию:
Вот что означает каждая из этих строк:
После завершения редактирования сохраните и закройте файл.
Вам будет предложено выбрать и подтвердить пароль для пользователя, которого вы создаете. В результате будет создан файл с хэшированным паролем, который вы добавили.
Теперь, когда вы можете получить доступ к подкаталогу phpMyAdmin, вам будет предложено указать дополнительное имя учетной записи и пароль, которые вы только что задали:
После выполнения аутентификации в Apache вы перейдете на стандартную страницу аутентификации phpMyAdmin для ввода ваших учетных данных MySQL. Добавив дополнительный набор учетных данных, не используемый MySQL, вы обеспечиваете для вашей базы данных дополнительный слой защиты. Это желательно, поскольку в прошлом phpMyAdmin часто становился объектом использующих уязвимости атак.
Заключение
Вы успешно настроили phpMyAdmin и теперь можете использовать phpMyAdmin на вашем сервере Ubuntu 20.04. Используя этот интерфейс, вы можете легко создавать базы данных, пользователей, таблицы и т. д., а также выполнять стандартные операции, например удалять и изменять структуры и данные.