- Установка и обеспечение безопасности phpMyAdmin в Ubuntu 20.04
- Установка и обеспечение безопасности phpMyAdmin в Ubuntu 18.04
- Установка apache2 + php + mysql + phpmyadmin на ubuntu 16.04
- ⚙КАК УСТАНОВИТЬ PHPMYADMIN UBUNTU 19.04
- Установка phpMyAdmin на Nginx в Ubuntu 12.04 / Debian / Ubuntu / Howitmake.ru
- Как установить phpmyadmin on Ubuntu 18.04 Server
- Установка phpmyadmin на ubuntu 14.04 — flops.ru
- Как установить и защитить phpMyAdmin в Ubuntu 16.04
- Установите MySQL с phpMyAdmin на Ubuntu
- Как установить MySQL с phpMyAdmin в Ubuntu 14.04
- Как установить phpMyAdmin в Ubuntu 18.04
- Как установить phpmyadmin на ubuntu 12.04
- Включите свой VPS с помощью phpMyAdmin в Ubuntu! Пошаговое руководство
- Как установить и защитить PhpMyAdmin в Ubuntu 20.04?
- Зачем использовать phpMyAdmin?
- Особенности phpMyAdmin:
- Предварительные требования для установки phpMyAdmin в Ubuntu 20.04
- Установите PhpMyAdmin в Ubuntu 20.04
- Настроить брандмауэр для phpMyAdmin
- Доступ к PhpMyAdmin через подкаталог
- Настройка VirtualHost для PhpMyAdmin
- Безопасный PhpMyAdmin в Ubuntu 20.04
- Протестируйте phpMyAdmin в Ubuntu 20.04
Установка и обеспечение безопасности phpMyAdmin в Ubuntu 20.04
Предыдущая версия данного руководства была написана Бреннаном Бернсом.
Введение
Хотя многим пользователям требуются функциональные возможности систем управления базами данных, например, MySQL, им может показаться неудобным взаимодействие с системой исключительно с помощью командной строки MySQL
phpMyAdmin был создан, чтобы пользователи могли взаимодействовать с MySQL через веб-интерфейс. В этом руководстве мы расскажем, как выполнить установку и обеспечить безопасность phpMyAdmin, чтобы вы могли безопасно использовать данный инструмент для управления своими базами данных в Ubuntu 20.04.
Предварительные требования
Для выполнения этого руководства вам потребуется следующее:
- Сервер Ubuntu 20.04 Этот сервер должен иметь пользователя без прав root с правами администратора, а также брандмауэр, настроенный с помощью
ufw
. Чтобы выполнить настройку, воспользуйтесь руководством по начальной настройке сервера Ubuntu 20.04.
Наконец, существует ряд важных соображений безопасности при использовании таких программных средств, как phpMyAdmin, поскольку phpMyAdmin:
- напрямую связывается с установленной у вас версией MySQL;
- управляет аутентификацией, используя учетные данные MySQL;
- исполняет и возвращает результаты для произвольных SQL запросов.
По этим причинам, и поскольку это широко применяемое PHP приложение, которое часто становится мишенью для атак, вы ни при каких условиях не должны запускать phpMyAdmin на удаленных системах, используя обычное HTTP-соединение.
Если у вас нет существующего домена с настроенным SSL/TLS сертификатом, вы можете воспользоваться следующим руководством по обеспечению безопасности Apache с помощью Let’s Encrypt в Ubuntu 20.04. Для этого вам потребуется зарегистрировать доменное имя, создать DNS запись для вашего сервера и настроить виртуальный хост Apache.
Шаг 1 — Установка phpMyAdmin
Вы можете использовать APT для установки phpMyAdmin из репозиториев Ubuntu по умолчанию.
Обновите индекс пакетов вашего сервера от имени пользователя без прав root с привилегиями sudo:
После этого вы можете установить пакет phpmyadmin
. Помимо этого пакета, официальная документация также рекомендует установить несколько расширений PHP на ваш сервер для возможности использования определенной функциональности и улучшения производительности.
Если вы выполнили предварительное требования руководства для стека LAMP, ряд из этих модулей уже был установлен вместе с пакетом php
. Однако рекомендуется также установить следующие пакеты:
php-mbstring
: модуль для работы с строками, не поддерживающими кодировку ASCII, и конвертации таких строк в другие кодировкиphp-zip
: это расширение поддерживает загрузку файлов.zip
в phpMyAdminphp-gd
php-json
: поддержка сериализации JSON для PHPphp-curl
: позволяет PHP взаимодействовать с разными типами серверов, используя разные протоколы
Запустите следующую команду для установки этих пакетов в систему. Обратите внимание, что процесс установки требует, чтобы вы ответили на ряд вопросов для корректной настройки phpMyAdmin. Мы кратко пробежимся по этим параметрам:
- sudo apt install phpmyadmin php-mbstring php-zip php-gd php-json php-curl
Здесь представлены параметры, которые вы должны выбрать при запросе для корректной настройки вашей установки:
- Для выбора сервера вы можете выбрать
apache2
Предупреждение. При появлении запроса вариант «apache2» выделен, но не выбран. Если вы не нажметеПРОБЕЛ
для выбора Apache, установщик не будет перемещать необходимые файлы при установке. НажмитеПРОБЕЛ
, затемTAB
, а потомENTER
для выбора Apache. - Выберите
Да
при ответе на вопрос о том, необходимо ли использоватьdbconfig-common
для настройки базы данных. - Затем вам будет предложено выбрать и подтвердить пароль приложения MySQL для phpMyAdmin
Примечание. Если вы установили MySQL, следуя указаниям шага 2 с предварительными требования из руководства для стека LAMP, вы, возможно, активировали плагин Validate Password. На момент написания этого руководства активация этого компонента будет вызывать ошибку при попытке задать пароль пользователя
Для устранения этой проблемы выберите опцию abort для остановки процесса установки. Затем откройте командную строку MySQL:
Либо, если вы активировали аутентификацию по паролю для пользователя с правами root MySQL, запустите эту команду, а затем введите пароль при запросе:
Из командной строки запустите следующую команду для отключения компонента Validate Password. Обратите внимание, что в этом случае выполняется не удаление, а простая остановка загрузки компонента на ваш сервер MySQL:
- UNINSTALL COMPONENT "file://component_validate_password";
После этого вы можете закрыть клиент MySQL:
Затем попробуйте еще раз установить пакет phpmyadmin
, после чего все будет работать ожидаемым образом:
- sudo apt install phpmyadmin
После установки phpMyAdmin вы можете открыть командную строку MySQL еще раз с помощью sudo mysql
или mysql -u root -p
, а затем запустить следующую команду для повторной активации компонента Validate Password:
- INSTALL COMPONENT "file://component_validate_password";
В процессе установки будет добавлен файл конфигурации phpMyAdmin в каталог /etc/apache2/conf-enabled/
, где он будет считываться автоматически. Для завершения настройки Apache и PHP для работы с phpMyAdmin выполните последнюю оставшуюся задачу этого раздела руководства и явно активируйте расширение PHP mbstring
с помощью следующей команды:
Перезапустите Apache для вступления изменений в силу.
- sudo systemctl restart apache2
Теперь 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 с помощью следующей команды:
- SELECT user,authentication_string,plugin,host FROM mysql.user;
Output
+------------------+-------------------------------------------+-----------------------+-----------+ | user | authentication_string | plugin | host | +------------------+-------------------------------------------+-----------------------+-----------+ | root | | auth_socket | localhost | | mysql.session | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | caching_sha2_password | localhost | | mysql.sys | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | caching_sha2_password | localhost | | debian-sys-maint | *8486437DE5F65ADC4A4B001CA591363B64746D4C | caching_sha2_password | localhost | | phpmyadmin | *5FD2B7524254B7F81B32873B1EA6D681503A5CA9 | caching_sha2_password | localhost | +------------------+-------------------------------------------+-----------------------+-----------+ 5 rows in set (0.00 sec)
В этом примере вы можете видеть, что пользователь root действительно использует метод аутентификации с помощью плагина
. Чтобы настроить для учетной записи root аутентификацию с помощью пароля, выполните следующую команду ALTER USER
. Обязательно измените значение password
на надежный пароль по вашему выбору:
- ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'password';
Примечание. Предыдущее выражение ALTER USER
устанавливает аутентификацию пользователя root MySQL с помощью плагина caching_sha2_password
. Согласно официальной документации MySQL, caching_sha2_password
считается предпочтительным плагином аутентификации MySQL, так как он обеспечивает более защищенное шифрование пароля, чем более старая, но все еще широко используемая версия mysql_native_password
.
Однако некоторые версии PHP работают ненадежно с caching_sha2_password
. Как сообщается, эта проблема была устранена в версии PHP 7.4, но если вы получите ошибку при попытке выполнить вход в phpMyAdmin позднее, вы можете задать для root аутентификацию с помощью mysql_native_password
:
- ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
Затем проверьте методы аутентификации, применяемые для каждого из ваших пользователей, чтобы подтвердить, что пользователь root больше не использует для аутентификации плагин auth_socket
:
- SELECT user,authentication_string,plugin,host FROM mysql.user;
Output
+------------------+-------------------------------------------+-----------------------+-----------+
| user | authentication_string | plugin | host |
+------------------+-------------------------------------------+-----------------------+-----------+
| root | *DE06E242B88EFB1FE4B5083587C260BACB2A6158 | caching_sha2_password | localhost |
| mysql.session | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | caching_sha2_password | localhost |
| mysql.sys | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | caching_sha2_password | localhost |
| debian-sys-maint | *8486437DE5F65ADC4A4B001CA591363B64746D4C | caching_sha2_password | localhost |
| phpmyadmin | *5FD2B7524254B7F81B32873B1EA6D681503A5CA9 | caching_sha2_password | localhost |
+------------------+-------------------------------------------+-----------------------+-----------+
5 rows in set (0.00 sec)
В этом выводе вы можете увидеть, что пользователь root user будет использовать аутентификацию по паролю. Теперь вы можете выполнить вход в интерфейс phpMyAdmin с помощью пользователя root с паролем, который вы задали ранее.
Настройка доступа по паролю для выделенного пользователя MySQL
Некоторые могут посчитать, что для их рабочего процесса лучше подходит подключение к phpMyAdmin с помощью специально выделенного пользователя. Чтобы сделать это, снова откройте командную строку MySQL:
Если вы активировали аутентификацию по паролю для вашего пользователя root, как описано в предыдущем разделе, вам нужно запустить следующую команду и ввести пароль при запросе для подключения:
Создайте нового пользователя и придумайте для него надежный пароль:
- CREATE USER 'sammy'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'password';
Примечание. В зависимости от версии PHP, которую вы установили, вы можете задать для вашего нового пользователя аутентификацию с помощью mysql_native_password
вместо caching_sha2_password
:
- ALTER USER 'sammy'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
Затем предоставьте вашему новому пользователю соответствующие права. Например, вы можете предоставить пользователю права доступа ко всем таблицам в базе данных, а также можете добавлять, изменять и удалять права пользователя с помощью этой команды:
- GRANT ALL PRIVILEGES ON *.* TO 'sammy'@'localhost' WITH GRANT OPTION;
После этого закройте командную строку MySQL:
Теперь вы можете получить доступ к веб-интерфейсу, набрав доменное имя или открытый IP-адрес вашего сервера и добавив /phpmyadmin
:
https://your_domain_or_IP/phpmyadmin
Выполните вход в интерфейс с помощью пользователя root или с новым именем пользователя и паролем, которые вы только что задали.
При входе вы увидите пользовательский интерфейс, который будет выглядеть следующим образом:
Теперь, когда вы можете подключаться и взаимодействовать с phpMyAdmin, осталось только установить более жесткие правила безопасности системы, чтобы защитить ее от атак.
Шаг 3 — Обеспечение безопасности phpMyAdmin
Из-за своей вездесущности phpMyAdmin часто становится мишенью для атак, поэтому вам нужно дополнительно позаботиться о предотвращении несанкционированного доступа. Один из способов — это размещение шлюза перед всем приложением с помощью встроенного в Apache функционала авторизации и аутентификации через .htaccess
.
Чтобы сделать это, вы должны сначала активировать перезапись файла .htaccess
, изменив файл конфигурации Apache вашей установки phpMyAdmin.
Воспользуйтесь предпочитаемым текстовым редактором для редактирования файла phpmyadmin.conf
, который находится в каталоге конфигурации Apache. Мы будем использовать nano
:
- sudo nano /etc/apache2/conf-available/phpmyadmin.conf
Добавьте директиву AllowOverride All
в раздел файла конфигурации <Directory /usr/share/phpmyadmin>
, например:
/etc/apache2/conf-available/phpmyadmin.conf
<Directory /usr/share/phpmyadmin>
Options FollowSymLinks
DirectoryIndex index.php
AllowOverride All
. . .
После добавления этой строки сохраните и закройте файл. Если вы использовали nano
для редактирования файла, нажмите CTRL + X
, Y
, а затем ENTER
.
Перезапустите Apache, чтобы изменения вступили в силу.
- sudo systemctl restart apache2
Теперь, когда вы активировали использование файлов .htaccess
для вашего приложения, вам нужно создать этот файл для реализации этого уровня защиты.
Чтобы этот файл мог использоваться, он должен находиться в каталоге приложения. Вы можете создать необходимый файл и открыть его в текстовом редакторе с привилегиями root с помощью следующей команды:
- sudo nano /usr/share/phpmyadmin/.htaccess
В этом файле введите следующую информацию:
/usr/share/phpmyadmin/.htaccess
AuthType Basic
AuthName "Restricted Files"
AuthUserFile /etc/phpmyadmin/.htpasswd
Require valid-user
Вот что означает каждая из этих строк:
AuthType Basic
: эта строка указывает тип аутентификации, используемый вами. Данный тип подразумевает использование аутентификации по паролю с помощью файла пароля.AuthName
: данная строка устанавливает сообщение для диалогового окна аутентификации. Вы должны указывать только общую информацию, чтобы неавторизованные пользователи не получили никакой информации о том, что вы защищаете.AuthUserFile
: указывает местоположение файла пароля, который будет использоваться для аутентификации. Он должен находиться вне обслуживаемых каталогов. Скоро мы создадим этот файл.Require valid-user
: указывает, что только выполнившие аутентификацию пользователи должны иметь доступ к этому ресурсу. Благодаря этому параметру неавторизованные пользователи не смогут выполнить вход.
После завершения редактирования сохраните и закройте файл.
Вы использовали следующее местонахождение для вашего файла пароля /etc/phpmyadmin/.htpasswd
. Теперь вы можете создать этот файл и передать его для первоначального пользователя с помощью утилиты htpasswd
:
- sudo htpasswd -c /etc/phpmyadmin/.htpasswd username
Вам будет предложено выбрать и подтвердить пароль для пользователя, которого вы создаете. В результате будет создан файл с хэшированным паролем, который вы добавили.
Если вы хотите ввести дополнительного пользователя, вам нужно сделать это без флага -c
, например:
- sudo htpasswd /etc/phpmyadmin/.htpasswd additionaluser
Теперь, когда вы можете получить доступ к подкаталогу phpMyAdmin, вам будет предложено указать дополнительное имя учетной записи и пароль, которые вы только что задали:
https://domain_name_or_IP/phpmyadmin
После выполнения аутентификации в Apache вы перейдете на стандартную страницу аутентификации phpMyAdmin для ввода ваших учетных данных MySQL. Добавив дополнительный набор учетных данных, не используемый MySQL, вы обеспечиваете для вашей базы данных дополнительный слой защиты. Это желательно, поскольку в прошлом phpMyAdmin часто становился объектом использующих уязвимости атак.
Заключение
Вы успешно настроили phpMyAdmin и теперь можете использовать phpMyAdmin на вашем сервере Ubuntu 20.04. Используя этот интерфейс, вы можете легко создавать базы данных, пользователей, таблицы и т. д., а также выполнять стандартные операции, например удалять и изменять структуры и данные.
Установка и обеспечение безопасности phpMyAdmin в Ubuntu 18.04
Предыдущая версия данного руководства была написана Бреннаном Бернсом.
Введение
Хотя многим пользователям требуются функциональные возможности систем управления базами данных, например, 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 запросов.
По этим причинам, и поскольку это широко применяемое PHP приложение, которое часто становится мишенью для атак, вы ни при каких условиях не должны запускать phpMyAdmin на удаленных системах, используя обычное HTTP-соединение. Если у вас нет существующего домена с настроенным SSL/TLS сертификатом, вы можете воспользоваться следующим руководством по обеспечению безопасности Apache с помощью Let’s Encrypt в Ubuntu 18.04. Для этого вам потребуется зарегистрировать доменное имя, создать DNS запись для вашего сервера и настроить виртуальный хост Apache.
После завершения этих шагов вы будете готовы начать работу с данным руководством.
Шаг 1 — Установка phpMyAdmin
Во-первых, мы установим phpMyAdmin из репозиториев Ubuntu по умолчанию.
Это делается с помощью обновления индекса пакета вашего сервера, после чего с помощью системы управления пакетами APT
загружаются файлы и устанавливаются в вашей системе.
- sudo apt update
- sudo apt install phpmyadmin php-mbstring php-gettext
На этом этапе вам потребуется ответить на несколько вопросов для корректной настройки установки.
Предупреждение. При появлении первого диалогового окна вариант «apache2» выделен, но не выбран. Если вы не нажмете ПРОБЕЛ
для выбора Apache, установщик не будет перемещать необходимые файлы при установке. Нажмите ПРОБЕЛ,
затем TAB,
а потом ENTER
для выбора Apache.
- Для выбора сервера нажмите
apache2
- Выберите
Да
при ответе на вопрос о том, необходимо ли использоватьdbconfig-common
для настройки базы данных. - Затем вам будет предложено выбрать и подтвердить пароль приложения MySQL для phpMyAdmin
В процессе установки будет добавлен файл конфигурации phpMyAdmin в каталог /etc/apache2/-enabled/
, где он будет считываться автоматически. От вас потребуется только явным образом активировать PHP расширение mbstring
, что можно сделать с помощью следующей команды:
Перезапустите Apache для вступления изменений в силу.
- sudo systemctl restart apache2
После этого 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 с помощью следующей команды:
- SELECT user,authentication_string,plugin,host FROM mysql.user;
Output
+------------------+-------------------------------------------+-----------------------+-----------+
| user | authentication_string | plugin | host |
+------------------+-------------------------------------------+-----------------------+-----------+
| root | | auth_socket | localhost |
| mysql.session | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| mysql.sys | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| debian-sys-maint | *8486437DE5F65ADC4A4B001CA591363B64746D4C | mysql_native_password | localhost |
| phpmyadmin | *5FD2B7524254B7F81B32873B1EA6D681503A5CA9 | mysql_native_password | localhost |
+------------------+-------------------------------------------+-----------------------+-----------+
5 rows in set (0.00 sec)
В этом примере вы можете видеть, что root пользователь действительно использует метод аутентификации с помощью плагина auth_socket
. Чтобы настроить для учетной записи root аутентификацию с помощью пароля, выполните следующую команду ALTER USER
. Обязательно измените значение password
на надежный пароль по вашему выбору:
- ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
Затем выполните команду FLUSH PRIVILEGES
, которая просит сервер перезагрузить предоставленные таблицы и ввести в действие изменения:
Проверьте методы аутентификации, применяемые для каждого из ваших пользователей, чтобы подтвердить, что root пользователь больше не использует для аутентификации плагин auth_socket
:
- SELECT user,authentication_string,plugin,host FROM mysql.user;
Output
+------------------+-------------------------------------------+-----------------------+-----------+
| user | authentication_string | plugin | host |
+------------------+-------------------------------------------+-----------------------+-----------+
| root | *DE06E242B88EFB1FE4B5083587C260BACB2A6158 | mysql_native_password | localhost |
| mysql.session | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| mysql.sys | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| debian-sys-maint | *8486437DE5F65ADC4A4B001CA591363B64746D4C | mysql_native_password | localhost |
| phpmyadmin | *5FD2B7524254B7F81B32873B1EA6D681503A5CA9 | mysql_native_password | localhost |
+------------------+-------------------------------------------+-----------------------+-----------+
5 rows in set (0.00 sec)
В этом выводе вы можете увидеть, что пользователь root будет использовать аутентификацию по паролю. Теперь вы можете выполнить вход в интерфейс phpMyAdmin с помощью root пользователя с паролем, который вы задали ранее.
Настройка доступа по паролю для выделенного пользователя MySQL
Некоторые могут посчитать, что для их рабочего процесса лучше подходит подключение к phpMyAdmin с помощью специально выделенного пользователя. Чтобы сделать это, снова откройте командную строку MySQL:
Примечание. Если вы активировали аутентификацию по паролю, как указано в предыдущем разделе, вам потребуются другие команды для доступа к командной строке MySQL. Следующая команда будет запускать ваш клиент MySQL с обычными правами пользователя, и вы получите права администратора внутри базы данных только с помощью аутентификации:
Создайте нового пользователя и придумайте для него надежный пароль:
- CREATE USER 'sammy'@'localhost' IDENTIFIED BY 'password';
Затем предоставьте вашему новому пользователю соответствующие права. Например, вы можете предоставить пользователю права доступа ко всем таблицам в базе данных, а также можете добавлять, изменять и удалять права пользователя с помощью этой команды:
- GRANT ALL PRIVILEGES ON *.* TO 'sammy'@'localhost' WITH GRANT OPTION;
После этого закройте командную строку MySQL:
Теперь вы можете получить доступ к веб-интерфейсу, набрав доменное имя или открытый IP-адрес вашего сервера и добавив /phpmyadmin:
http://your_domain_or_IP/phpmyadmin
Выполните вход в интерфейс с помощью root пользователя или с новым именем пользователя и паролем, которые вы только что задали.
При входе вы увидите пользовательский интерфейс, который будет выглядеть следующим образом:
Теперь, когда вы можете подключаться и взаимодействовать с phpMyAdmin, осталось только установить более жесткие правила безопасности системы, чтобы защитить ее от атак.
Шаг 3 — Обеспечение безопасности phpMyAdmin
Из-за своей вездесущности phpMyAdmin часто становится мишенью для атак, поэтому вам нужно дополнительно позаботиться о предотвращении несанкционированного доступа. Один из самых простых способов – поместить шлюз перед всем приложением, используя встроенный в Apache метод аутентификации .htaccess
и функции авторизации.
Чтобы сделать это, вы должны сначала активировать перезапись файла .htaccess
, изменив файл конфигурации Apache.
Отредактируйте связанный файл, помещенный в каталог конфигурации Apache:
- sudo nano /etc/apache2/conf-available/phpmyadmin.conf
Добавьте директиву AllowOverride All
в раздел файла конфигурации <Directory /usr/share/phpmyadmin>
, например:
/etc/apache2/conf-available/phpmyadmin.conf
<Directory /usr/share/phpmyadmin>
Options FollowSymLinks
DirectoryIndex index.php
AllowOverride All
. . .
После добавления этой строки сохраните и закройте файл.
Перезапустите Apache, чтобы изменения вступили в силу.
- sudo systemctl restart apache2
Теперь, когда вы активировали использование .htaccess
для вашего приложения, вам нужно создать этот файл для реализации этого уровня защиты.
Чтобы этот файл мог использоваться, он должен находиться в каталоге приложения. Вы можете создать необходимый файл и открыть его в текстовом редакторе с помощью следующей команды:
- sudo nano /usr/share/phpmyadmin/.htaccess
В этом файле введите следующую информацию:
/usr/share/phpmyadmin/.htaccess
AuthType Basic
AuthName "Restricted Files"
AuthUserFile /etc/phpmyadmin/.htpasswd
Require valid-user
Вот что означает каждая из этих строк:
AuthType Basic
: эта строка указывает тип аутентификации, используемый вами. Данный тип подразумевает использование аутентификации по паролю с помощью файла пароля.AuthName
: данная строка устанавливает сообщение для диалогового окна аутентификации. Вы должны указывать только общую информацию, чтобы неавторизованные пользователи не получили никакой информации о том, что вы защищаете.AuthUserFile
: указывает местоположение файла пароля, который будет использоваться для аутентификации. Он должен находиться вне обслуживаемых каталогов. Скоро мы создадим этот файл.Require valid-user
: указывает, что только выполнившие аутентификацию пользователи должны иметь доступ к этому ресурсу. Благодаря этому параметру неавторизованные пользователи не смогут выполнить вход.
После завершения редактирования сохраните и закройте файл.
Вы использовали следующее местонахождение для вашего файла пароля /etc/phpmyadmin/.htpasswd
. Теперь вы можете создать этот файл и передать его для первоначального пользователя с помощью утилиты htpasswd
:
- sudo htpasswd -c /etc/phpmyadmin/.htpasswd username
Вам будет предложено выбрать и подтвердить пароль для пользователя, которого вы создаете. В результате будет создан файл с хэшированным паролем, который вы добавили.
Если вы хотите ввести дополнительного пользователя, вам нужно сделать это без флага -c
, например:
- sudo htpasswd /etc/phpmyadmin/.htpasswd additionaluser
Теперь, когда вы можете получить доступ к подкаталогу phpMyAdmin, вам будет предложено указать дополнительное имя учетной записи и пароль, которые вы только что задали:
https://domain_name_or_IP/phpmyadmin
После выполнения аутентификации в Apache вы перейдете на стандартную страницу аутентификации phpMyAdmin для ввода ваших учетных данных MySQL. Эта настройка добавляет дополнительный уровень безопасности, который желательно использовать, поскольку phpMyAdmin ранее страдал от уязвимостей.
Заключение
Вы успешно настроили phpMyAdmin и теперь можете использовать phpMyAdmin на вашем сервере Ubuntu 18.04. Используя этот интерфейс, вы можете легко создавать базы данных, пользователей, таблицы и т. д., а также выполнять стандартные операции, например удалять и изменять структуры и данные.
Установка apache2 + php + mysql + phpmyadmin на ubuntu 16.04
Решил поделиться с вами опытом установки софта на Ubuntu 16.04.
Напомню, все ниже описанные операции нужно выполнять под рутом (sudo su -).
обновляем софт
ставим Apache2
настроим Apache2
nano /etc/apache2/apache2.conf ## фиксим предупреждения при перезапуске Apache ServerName localhost ## Включаем интерпретацию php AddType application / x-httpd-php .php .phtml ## Устанавливаем кодировку UTF-8 по умолчанию AddDefaultCharset UTF-8
nano /etc/apache2/apache2.conf
## фиксим предупреждения при перезапуске Apache ServerName localhost
## Включаем интерпретацию php AddType application / x-httpd-php .php .phtml
## Устанавливаем кодировку UTF-8 по умолчанию AddDefaultCharset UTF-8 |
перезапускаем Apache
Открываем http://localhost/ и радуемся.
Настраиваем виртуальные хосты (VirtualHost)
(только для локальных хостов) создать файл vhosts.sh со следующим содержимым:
#!/bin/bash echo «Creating Virtual Host» cd /etc/apache2/sites-available cat <<EOF >> «$1.conf» <VirtualHost *:80> ServerAdmin webmaster@localhost ServerName $1 ServerAlias www.$1 DocumentRoot «/var/www/$1″ <Directory /var/www/$1> Options All AllowOverride All </Directory> </VirtualHost> EOF mkdir «/var/www/$1″ cd /etc/apache2/sites-enabled ln -s «/etc/apache2/sites-available/$1.conf» «$1.conf» echo «Editing /etc/hosts» cat <<EOF >> «/etc/hosts» 127.0.0.1 $1 EOF echo «Set permissions» chmod 0777 -R «/var/www/$1″ echo «Restarting Apache2″ /etc/init.d/apache2 restart echo «Finished!» echo «Local address: /var/www/$1″ echo «Web address: http://$1»
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | #!/bin/bash echo «Creating Virtual Host» cd /etc/apache2/sites-available cat <<EOF >> «$1.conf» <VirtualHost *:80> ServerAdmin webmaster@localhost ServerName $1 ServerAlias www.$1 DocumentRoot «/var/www/$1» <Directory /var/www/$1> Options All AllowOverride All </Directory> </VirtualHost> EOF mkdir «/var/www/$1» cd /etc/apache2/sites-enabled ln -s «/etc/apache2/sites-available/$1.conf» «$1.conf» echo «Editing /etc/hosts» cat <<EOF >> «/etc/hosts» 127.0.0.1 $1 EOF echo «Set permissions» chmod 0777 -R «/var/www/$1» echo «Restarting Apache2» /etc/init.d/apache2 restart echo «Finished!» echo «Local address: /var/www/$1» echo «Web address: http://$1» |
Даете права на выполнение:
chmod + x /var/www/vhosts.sh
chmod + x /var/www/vhosts.sh |
Пример создания хоста:
sudo /var/www/vhosts.sh mysite.loc
sudo /var/www/vhosts.sh mysite.loc |
Все последующие шаги по virtualhosts можно пропускать.
В /etc/hosts прописываем наши хосты: (nano /etc/hosts)
Переходим в папку /etc/apache2/
Смотрим, что внутри:
root @ HP: /etc/apache2 # ls -l всего 88 -rw-r — r— 1 root root 7728 26 апреля 22:55 apache2.conf -rw-r — r— 1 root root 7691 26 апреля 22:34 apache2.conf ~ drwxr-xr-x 2 root root 4096 26 апреля 22:52 conf-available drwxr-xr-x 2 root root 4096 26 апреля 22:52 conf-enabled -rw-r — r— 1 root root 1782 3 января 16:48 envvars -rw-r — r— 1 root root 31063 3 января 16:48 magic drwxr-xr-x 2 root root 12288 26 апреля 22:27 mods-available drwxr-xr-x 2 root root 4096 26 апреля 22:27 mods-enabled -rw-r — r— 1 root root 320 7 января 15:23 ports.conf drwxr-xr-x 2 root root 4096 26 апреля 22:43 sites-available drwxr-xr-x 2 root root 4096 26 апреля 22:44 sites-enabled
root @ HP: /etc/apache2 # ls -l всего 88 -rw-r — r— 1 root root 7728 26 апреля 22:55 apache2.conf -rw-r — r— 1 root root 7691 26 апреля 22:34 apache2.conf ~ drwxr-xr-x 2 root root 4096 26 апреля 22:52 conf-available drwxr-xr-x 2 root root 4096 26 апреля 22:52 conf-enabled -rw-r — r— 1 root root 1782 3 января 16:48 envvars -rw-r — r— 1 root root 31063 3 января 16:48 magic drwxr-xr-x 2 root root 12288 26 апреля 22:27 mods-available drwxr-xr-x 2 root root 4096 26 апреля 22:27 mods-enabled -rw-r — r— 1 root root 320 7 января 15:23 ports.conf drwxr-xr-x 2 root root 4096 26 апреля 22:43 sites-available drwxr-xr-x 2 root root 4096 26 апреля 22:44 sites-enabled |
В папке sites-available хранятся кофниги доступных хостов, а в sites-enabled ссылки на активные хосты.
Переходим в доступные хосты и создаем конфиг для mysite.loc. Кстати, если ваш дефолтный конфиг заканчивается на .conf тогда создавайте конфиги с расширением * .conf.
nano sites-available/mysite.conf
nano sites-available/mysite.conf |
Пишем туда:
ServerName mysite.loc DocumentRoot /var/www/mysite.loc AllowOverride All
ServerName mysite.loc DocumentRoot /var/www/mysite.loc AllowOverride All |
Данной записи достаточно, чтобы работал ваш локальный хост. Теперь нужно создать ссылку на него в sites-enabled.
Ошибки: если в вас возникает ошибка и вы не можете создать ссылку. Тогда это сделать можно следующей записью:
ln /etc/apache2/sites-available/mysite.conf /etc/apache2/sites-enabled/
ln /etc/apache2/sites-available/mysite.conf /etc/apache2/sites-enabled/ |
Теперь нужно только перезагрузить настройки Apache2:
service apache2 reload ## или, если необходимо service apache2 restart
service apache2 reload ## или, если необходимо service apache2 restart |
Итак, Apache2 работает, первый хост добавлен!
ставим MySQL
MySQL содержится в репозиториях Ubuntu. Он разбит на несколько пакетов.
Для того чтобы установить MySQL сервер выполните команду:
sudo apt-get install mysql-server
sudo apt-get install mysql-server |
При установке конфигурации скрипт запросит пароль администратора (root) базы данных.
Ставим PHP 5.6
Сначала нужно удалить все старые версии, если есть
sudo apt-get purge `dpkg -l | grep php | awk ‘{print $ 2}’ | tr «\ n» «» `
sudo apt-get purge `dpkg -l | grep php | awk ‘{print $ 2}’ | tr «\ n» «» ` |
добавляем PPA
sudo add-apt-repository ppa:ondrej/php
sudo add-apt-repository ppa:ondrej/php |
обновляемся
ставим php
sudo apt-get install php5.6
sudo apt-get install php5.6 |
дополнительные модули
sudo apt-get install php5.6-mbstring php5.6-mcrypt php5.6-mysql php5.6-xml
sudo apt-get install php5.6-mbstring php5.6-mcrypt php5.6-mysql php5.6-xml |
Смотрим версию:
sudo php -v PHP 5.6.26-1 + deb.sury.org ~ xenial + 1 (cli) Copyright (c) 1997-2016 The PHP Group Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2016, by Zend Technologies
sudo php -v
PHP 5.6.26-1 + deb.sury.org ~ xenial + 1 (cli)
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2016, by Zend Technologies |
ставим PhpMyadmin
apt-get install phpmyadmin
apt-get install phpmyadmin |
Конфигурируем его под себя, — обозначаем что юзает Apache2, указываем пароль к БД, и пароль к phpmyadmin
Ошибки: http://localhost/phpmyadmin not found ubuntu
решение:
nano /etc/apache2/apache2.conf ## добавляем в конец файла Include /etc/phpmyadmin/apache.conf
nano /etc/apache2/apache2.conf ## добавляем в конец файла Include /etc/phpmyadmin/apache.conf |
Ошибки: http://localhost/phpmyadmin HTTP ERROR 500
sudo apt-get install php-mbstring php-gettext sudo phpenmod mcrypt sudo phpenmod mbstring sudo service apache2 restart
sudo apt-get install php-mbstring php-gettext sudo phpenmod mcrypt sudo phpenmod mbstring sudo service apache2 restart |
Если вы все выполнили правильно, то у вас будет готов настроен локальный сервер.
Если возникли проблемы, обращайтесь к нам за помощью, [email protected]
⚙КАК УСТАНОВИТЬ PHPMYADMIN UBUNTU 19.04
Использование баз данных является одним из наиболее распространенных способов управления большими объемами данных в организации, и поэтому у нас должны быть надежные, безопасные, стабильные приложения, которые предоставляют нам комплексные функции для каждой вводимой в него информации., Одной из самых популярных платформ баз данных является phpMyAdmin, которая отвечает всем ожиданиям на уровне производительности, архитектуры и функциональности. phpMyAdmin — это утилита, написанная на PHP, которая позволит нам управлять MySQL через Интернет. Среди наиболее распространенных задач — разрешения, управление пользователями и разрешениями, настройка базы данных, создание таблиц или столбцов и т. Д. Благодаря включенной документации пользователи могут делиться своими идеями и информацией, чтобы составить общее руководство.
Solvetic объяснит, как мы можем установить phpMyAdmin в Ubuntu 18.04 или 19.04 простым способом, и мы узнаем, как защитить доступ к этой платформе, чтобы избежать несанкционированных изменений.
Что такое phpMyAdmin
phpMyAdmin был разработан как бесплатный программный инструмент на основе PHP, задачей которого является управление администрированием MySQL через Интернет. phpMyAdmin поддерживает большое количество операций в MySQL и MariaDB. Там часто используемые операции, такие как управление базой данных, таблицы, столбцы, отношения, индексы, пользователи, разрешения и т. Д., Могут выполняться через пользовательский интерфейс, но он также может выполнять напрямую. любой оператор SQL из консоли.
phpMyAdmin доступен на 72 языках и совместим с языками LTR и RTL.
Особенности PhpMyAdmin
Среди наиболее выдающихся функций phpMyAdmin у нас есть:
- Имеет удобный веб-интерфейс.
- Возможность управлять различными серверами.
- Он генерирует графику по дизайну базы данных в нескольких форматах.
- Вы можете создавать сложные запросы, используя Query-by-example (запрос, например) (QBE).
- Выполнение глобального поиска в базе данных или ее подмножестве.
- Вы можете преобразовать сохраненные данные в любой формат, используя набор предопределенных функций.
- Это позволяет экспортировать данные в различные форматы, такие как CSV, SQL, XML, PDF, ISO / IEC 26300 — текстовые файлы и электронные таблицы OpenDocument, Word, LATEX и другие.
- Поддержка большинства функций MySQL, таких как управление базой данных, таблицами, представлениями, полями и индексами, создание, копирование, удаление, переименование и изменение баз данных, таблиц, полей и индексов, выполнение, редактирование и пометка любого оператора. SQL, управление учетными записями пользователей и привилегии MySQL и многое другое.
Теперь мы увидим, как установить и защитить phpMyAdmin в Ubuntu 18.04 или 19.04.
1. Установите phpMyAdmin в Ubuntu 19.04.Шаг 1
Первым шагом будет установка Apache и MySQL в системе, это действие можно выполнить с помощью следующей команды:
sudo apt-get установить apache2 mysql-server -y
Шаг 2
Как только этот процесс завершится, мы увидим следующее:
Шаг 3
По умолчанию phpMyAdmin недоступен в репозитории Ubuntu 18.04 или 19.04 по умолчанию, для этого необходимо добавить сторонний репозиторий PHP в систему, выполнив сначала следующую строку:
sudo apt-get установить software-properties-common -y
Шаг 4
Затем мы добавляем хранилище, запустив. Там мы нажимаем клавишу Enter и ждем завершения процесса.
sudo add-apt-repository ppa: ondrej / php
Шаг 5
Как только репозиторий будет добавлен, мы установим phpMyAdmin, выполнив следующую команду:
sudo apt-get установить phpmyadmin php-mbstring php-gettext -y
Шаг 6
В процессе установки будет отображаться следующее сообщение о том, что мы выбираем веб-сервер для автоматического использования:
Шаг 7
Там мы выбираем «Apache», нажимая пробел и нажимая Enter, теперь мы увидим следующее сообщение, связанное с базой данных для phpMyAdmin:
Шаг 8
Выберите «Да» и нажмите Enter, а затем вам нужно будет ввести пароль приложения:
Шаг 9
Нажмите на Принять, и мы должны подтвердить это:
Шаг 10
После завершения процесса установки phpMyAdmin мы должны включить расширение PHP mbstring с помощью следующей команды:
sudo phpenmod mbstring
Шаг 11
Затем мы перезапускаем Apache, чтобы применить изменения:
sudo systemctl перезапустить apache22. Настройте аутентификацию пользователя phpMyAdmin в Ubuntu 19.04
phpMyAdmin автоматически создает пользователя базы данных phpmyadmin с административным паролем, который мы вводим в процессе установки, но для безопасности рекомендуется создать отдельного пользователя для управления базами данных через веб-интерфейс phpMyAdmin.
В последней версии MariaDB пользователь root MySQL был настроен для аутентификации с использованием плагина auth_socket по умолчанию, поэтому, если вы хотите войти в phpMyAdmin как пользователь root MySQL, мы должны изменить метод аутентификации auth_socket к mysql_native_password.
Шаг 1
Во-первых, мы собираемся войти в MySQL Shell со следующей строкой:
sudo mysql
Шаг 2
Теперь давайте проверим метод аутентификации пользователя MySQL с помощью следующей команды:
ВЫБЕРИТЕ пользователя, authentication_string, плагин, хост FROM mysql.user;
Шаг 3
Мы видим, что пользователь root использует плагин auth_socket. Чтобы настроить пользователя root для аутентификации с помощью пароля, мы должны выполнить следующую команду:
ALTER USER 'root' @ 'localhost' ИДЕНТИФИЦИРОВАНО С mysql_native_password BY 'password';
примечание
пароль может быть заменен на желаемый пароль.
Шаг 4
Мы применяем изменения, выполняя:
ПРИВИЛЕГИИ ПРОМЫВКИ;
Шаг 5
Мы можем проверить метод аутентификации, выполнив:
ВЫБЕРИТЕ пользователя, authentication_string, плагин, хост FROM mysql.user;
Шаг 6
Мы видим, что метод аутентификации был изменен. Далее мы создадим отдельного пользователя, которого мы назовем «phpmyadminuser», чтобы подключиться к phpMyAdmin. Первый шаг — войти в MySQL с помощью следующей команды:
mysql -u root -p
Шаг 7
Там мы введем пароль, установленный на предыдущем шаге:
Шаг 8
Сначала мы создадим пользователя и назначим пароль:
СОЗДАТЬ ПОЛЬЗОВАТЕЛЯ 'phpmyadminuser' @ 'localhost', ИДЕНТИФИЦИРОВАННОГО 'password';
Шаг 9
Затем мы предоставляем правильные привилегии phpmyadminuser с помощью следующей команды:
Предоставить все права на *. * TO 'phpmyadminuser' @ 'localhost' с опцией GRANT;
Шаг 10
Наконец мы оставляем Shell запущенным:
выход;3. Доступ к phpMyAdmin в Ubuntu 19.04
Шаг 1
Теперь мы идем в браузер и вводим следующий синтаксис:
http: // IP_address / phpmyadmin
Шаг 2
Там мы будем использовать нужный язык и введем назначенное имя пользователя и пароль, затем нажмите кнопку «Продолжить» для доступа к phpMyAdmin:
Мы видим, что phpMyAdmin установлен и настроен, но в целях безопасности рекомендуется защитить экземпляр phpMyAdmin для предотвращения несанкционированного доступа. Можно защитить phpMyAdmin от использования функций аутентификации и авторизации .htaccess, встроенных в Apache.
Шаг 1
Для этого метода мы должны сначала разрешить использование переопределений файла .htaccess, отредактировав файл phpmyadmin.conf следующим образом:
sudo nano /etc/apache2/conf-available/phpmyadmin.conf
Шаг 2
Там мы добавим строку «AllowOverride All», чтобы структура была следующей:
Параметры SymLinksIfOwnerMatch DirectoryIndex index.php AllowOverride Все
Шаг 3
Мы сохраняем изменения, используя следующую комбинацию клавиш:
Ctrl + O
Мы покидаем редактор, используя:
Ctrl + X
Шаг 4
Далее мы должны перезапустить службу Apache, выполнив:
sudo systemctl перезапустить apache2
Шаг 5
Теперь мы собираемся создать файл .htaccess в каталоге phpmyadmin, выполнив:
sudo nano /usr/share/phpmyadmin/.htaccess
Шаг 6
В этом файле мы добавим следующее:
AuthType Basic AuthName «Ограниченные файлы» AuthUserFile /etc/phpmyadmin/.htpasswd Требуется действительный пользователь
Шаг 7
Мы сохраняем изменения и покидаем редактор. Теперь мы собираемся создать пользователя с именем admin с помощью утилиты htpasswd:
sudo htpasswd -c /etc/phpmyadmin/.htpasswd admin
Шаг 8
Там мы должны ввести и подтвердить пароль этого:
Шаг 9
Теперь, когда мы снова получим доступ, «появится следующее всплывающее окно, в которое мы введем учетные данные только что созданного пользователя-администратора:
Шаг 10
После ввода нажмите «Доступ», и мы окажемся в среде phpMyAdmin:
Таким образом, phpMyAdmin становится комплексным решением для всей работы с базами данных из Интернета в системах Linux Linux.
Установка phpMyAdmin на Nginx в Ubuntu 12.04 / Debian / Ubuntu / Howitmake.ru
Управлять сервером баз данных можно из командной строки, но это не всегда удобно, зачатую, хочется большего комфорта.Если вы в совершенстве знаете синтаксис запросов MySQL, то можно обойтись и без сторонних приложений, лично я, похвастаться этим не могу, по этому предпочитаю работать через WEB интерфейс, одним из лучших, хотя и не единственным, приложением, является phpMyAdmin, как явствует из названия, написанное на PHP.
Данная статья, является, логическим продолжением руководства по настройке WEB сервера, которую я описывал в стетье- Настройка Nginx с поддержкой PHP-FPM в Ubuntu 12.04, все дальнейшие действия будут выполняться на ее основе.
Если у вас установлен Web сервер Apache или Lighttpd, то установка phpMyAdmin сложностей не вызывает, набираем:
apt-get install phpmyadmin
И все установится автоматически.
К сожалению, если у вас используется Nginx, то так сделать все это, в автоматическом режиме, не получится, придется немного поработать руками, но результат получается не хуже, а за счет быстроты работы Nginx, то все совсем здорово «пуляет»…
Сама установка традиционная и не несет никаких сложностей:
apt-get install phpmyadmin
У нас просят -с какими серверами мы будем его использовать, оставляем все поля пустыми:
При инсталляции PhpMyAdmin нам предложат создать базу данных, которая требуется для его работы:
Указываем сначала пароль пользователя Root (Сервера MySQL), а затем пароль для базы данных PhpMyAdmin, на этом, установка данного пакета завершена./* /phpmyadmin last; } }
Перезапускаем nginx
/etc/init.d/nginx restart
И идем по адресу httр://example.org/phpmyadmin/
Должны увидеть следующее окно:
В принципе можно подключаться и работать.
Но мы на этом не остановимся т.к. зачастую, после подключения сервера к интернет, автоматические сканеры начинают искать phpMyAdmin и если он найден, то запускают процесс перебора паролей, что не очень хорошо…
Мы защитим доступ к данной странице с помощью логина и пароля, в Apache все это делалось через htpasswd, но данный вид файлов не поддерживается Nginx. Ситуация не тупиковая и вполне легко решается.
Добавляем HTTP авторизацию
Для начала, нам необходимо с генерировать хеш пароля, для этого можно установить утилиты, которые идут с сервером Apache и сгенерить все что нам нужно, но мы этого делать не будем, а воспользуемся Online генератором полученный хеш пароля, записываем.
Теперь создадим файл в котором у нас будет все это храниться, чтобы не путаться в дальнейшем, назовем его htpasswd
nano /home/example/htpasswd
Сам файл, мы будем хранить за пределами корневой директории сайта, но чтобы Nginx мог получить к нему доступ, на чтение, для примера, я укажу логин admin и захешированный пароль password, добавим это в файл htpasswd:
admin:ZIXt0E7AewSr2
Теперь нам необходимо добавить в секцию, которая отвечает за работу с директорией phpMyAdmin.
Следующее:
auth_basic "Enter Super Secret password";
auth_basic_user_file /home/example/htpasswd;
Где: вместо Enter Super Secret password можно указать текст своего сообщения (кириллица НЕ поддерживается!)
В результате, всех действий, у нас должен получиться файл следующего содержания:
server {
listen 80;
root /home/example/www;
access_log /home/example/logs/nginx.access.log; #расположение логов данного хоста
server_name example.org www.example.org;
location / {
index index.php index.html index.htm;
}
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
#Работа с phpMyAdmin
location /phpmyadmin {
#Секция отвечающая за аутентификацию пользователя
auth_basic "Enter Super Secret password!"; # Текст сообщения, которое увидит пользователь при попытке входа в указанную директорию
auth_basic_user_file /home/example/htpasswd;
root /usr/share/;
index index.php index.html index.htm;
location ~ ^/phpmyadmin/(./* /phpmyadmin last;
}
}
Перезапускам Nginx:
/etc/init.d/nginx restart
Снова переходим по адресу httр://example.org/phpmyadmin/, выскочит окно с предложением ввода логина и пароля, пишем логин admin пароль password и попадаем в phpMyAdmin
На этом установку можно завершить.
Обо всех найденных ошибках, а также, предложения по улучшению и просто возникших вопросах-прошу в комментарии.
Как установить phpmyadmin on Ubuntu 18.04 Server
Прочитано: 842
Для управления базами данных развернутыми на сервере можно использовать как консоль командной строки так и Web—интерфейс по управлению ими через приложение phpmyadmin. Вот его я сейчас и разберу на Ubuntu 18.04 Server его установку (делаю для себя). Заострять внимание что есть пакет phpmyadmin это обмусоливание того, что все и так должны знать — это инструмент, но лучше обходиться без него, через консоль хоть и труднее (сперва), но опыт получается отличным. Т.к. не всегда есть возможность использовать чтото стороннее, а нужно использовать что предлагается самой системой.
Удаляю из системы Ubuntu 18.04 Server пакет Cloud Init
ekzorchik@srv-bionic:~$ sudo rm -Rf /var/lib/apt/lists
ekzorchik@srv-bionic:~$ sudo apt-get update && sudo apt-get upgrade -y
На заметку: Я считаю, что важно разбирать все самим чтобы в последствии можно было разбирать более сложные вещи опираясь на уже имеющийся багаж. Может по началу это простенькие вещи от tutorial популярных ресурсов, но начинать нужно.
ekzorchik@srv-bionic:~$ sudo apt-get install -y mysql-server
ekzorchik@srv-bionic:~$ sudo mysqladmin -u root password 712mbddr@
ekzorchik@srv-bionic:~$ sudo mysql_secure_installation
ekzorchik@srv-bionic:~$ sudo apt install -y phpmyadmin php-mbstring php-gettext
Web server to reconfigure automatically:
apache2Configure database for phpmyadmin with dbconfig-common?
YesMySQL application password for phpmyadmin:
712mbddr@Password confirmation:
712mbddr@
ekzorchik@srv-bionic:~$ sudo phpenmod mbstring
ekzorchik@srv-bionic:~$ sudo systemctl restart apache2
http://IP&DNS/phpmyadmin
ekzorchik@srv-bionic:~$
sudo nano /etc/apache2/conf-available/phpmyadmin.conf
и добавляю в секцию (<Directory
/usr/share/phpmyadmin>) строку AllowOverride All
ekzorchik@srv-bionic:~$ sudo systemctl restart apache2
ekzorchik@srv-bionic:~$ sudo nano /usr/share/phpmyadmin/.htaccess
AuthType Basic
AuthName "Restricted Files"
AuthUserFile /etc/phpmyadmin/.htpasswd
Require valid-user
ekzorchik@srv-bionic:~$ sudo htpasswd -c /etc/phpmyadmin/.htpasswd ekzorchik
New password:
612mbddr@
Re-type new password: 612mbddr@
Adding password for user ekzorchik
На заметку: на всех сервисах установленные пароли должны быть отличными и не повторяться.
Проверяю, что если обратиться к URL адресу http://IP&DNS/phpmyadmin
должна отработать назначенная базовая защита:
А уже после предстанет окно авторизации в сервисе phpmyadmin где уже для аутентификации
используется связка: root от сервиса mysql и пароль.
На заметку: Не используете на не доверяемых рабочих станциях функцию браузера о
предложении сохранить логин и пароль на доступ их злоумышленник (или
Ваш начальник если он такой как у меня был на прошлом месте работы и подставить Вас) может извлечь.
Итого, я разобрал как установить сервис phpmyadmin по управлению Вашими базами данных развернутыми на системе через Web-интерфейс и как поставить базовую защиту от Web-сервиса Apache2. Не стоит пренебрегать дефолтными инструментами защиты, пусть это будет еще один шажок для злоумышленника. А вы как системный администратор просто так без боя не должны сдаваться и всячески усложнить ему задачу доступа к Вашим сервисам.
На этом у меня всё, с уважением автор блога Олло Александр aka ekzorchik.
Установка phpmyadmin на ubuntu 14.04 — flops.ru
Предполагается, что LEMP уже установлен и настроен.
Установка LEMP на ubuntu 14.04
Phpmyadmin будет настроен на домен pma.example.com, который должен указывать на IP сервера.
1. Установка необходимого ПО
#Установим git и необходимые модули php apt-get update && apt-get install git php5-mcrypt php5-json php5-gd
2. Создание нового виртуального хоста nginx
#Создаем root директорию для phpmyadmin mkdir -p /var/www/pma #Копируем конфигурацию по умолчанию в новый файл cp /etc/nginx/sites-available/default /etc/nginx/sites-available/pma.conf
Затем приводим конфигурационный файл /etc/nginx/sites-available/pma.conf к следующему виду:
server { listen 80; root /var/www/pma; index index.php; server_name pma.example.com; location / { try_files $uri $uri/ /index.php?$args; } location ~ \.php$ { try_files $uri =404; fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }
#Включаем созданную конфигурацию cd /etc/nginx/sites-enabled/ && ln -s ../sites-available/pma.conf pma.conf service nginx reload
3. Получение последней стабильной версии phpmyadmin
cd /var/www/pma/ && git clone --depth=1 --branch=STABLE https://github.com/phpmyadmin/phpmyadmin .
4. Настройка phpmyadmin
#Создаем файл конфигурации cd /var/www/pma/ cp config.sample.inc.php config.inc.php
#В файле config.inc.php необходимо заполнить элемент массива $cfg['blowfish_secret'] строкой из 32 символов $cfg['blowfish_secret'] = '3B9w3qCY0hINGWD84muoCduPIA7v6LDp'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */
5. Обновление phpmyadmin
Для обновления до последней стабильной версии достаточно выполнить следующую команду:
cd /var/www/pma/ && git pull origin STABLE
6. Закрываем phpmyadmin с помощью basic auth
#Устанавливем утилиту для генерации файла паролей apt-get install apache2-utils
#Создаем файл паролей и пользователя pma htpasswd -c /etc/nginx/.htpasswd pma
Добавляем в конфигурационный файл /etc/nginx/sites-available/pma.conf следующие строки:
auth_basic "Restricted"; auth_basic_user_file /etc/nginx/.htpasswd;
server { listen 80; auth_basic "Restricted"; auth_basic_user_file /etc/nginx/.htpasswd; root /var/www/pma; index index.php; ... ...
#Проверяем конфигурацию и перечитываем конфигурационный файл nginx -t && service nginx reload
Как установить и защитить phpMyAdmin в Ubuntu 16.04
Введение
Хотя многим пользователям нужны функциональные возможности системы управления базами данных, например MySQL, им может быть неудобно взаимодействовать с системой только из командной строки MySQL.
phpMyAdmin был создан, чтобы пользователи могли взаимодействовать с MySQL через веб-интерфейс. В этом руководстве мы обсудим, как установить и защитить phpMyAdmin, чтобы вы могли безопасно использовать его для управления своими базами данных из Ubuntu 16.04 система.
Предварительные требования
Прежде чем приступить к работе с этим руководством, необходимо выполнить несколько основных шагов.
Во-первых, предположим, что вы используете пользователя без полномочий root с привилегиями sudo, как описано в шагах 1–4 начальной настройки сервера Ubuntu 16.04.
Мы также предполагаем, что вы выполнили установку LAMP (Linux, Apache, MySQL и PHP) на своем сервере Ubuntu 16.04. Если это еще не сделано, вы можете следовать этому руководству по установке стека LAMP в Ubuntu 16.04.
Наконец, есть важные соображения безопасности при использовании программного обеспечения, такого как phpMyAdmin, поскольку оно:
- Обменивается данными напрямую с вашей установкой MySQL
- Обрабатывает аутентификацию с использованием учетных данных MySQL
- Выполняет и возвращает результаты для произвольных запросов SQL
По этим причинам, а также из-за того, что это широко распространенное приложение PHP, которое часто становится целью атак, никогда не следует запускать phpMyAdmin в удаленных системах через обычное HTTP-соединение.Если у вас нет существующего домена, настроенного с использованием сертификата SSL / TLS, вы можете следовать этому руководству по защите Apache с помощью Let’s Encrypt в Ubuntu 16.04.
Когда вы закончите с этими шагами, вы будете готовы приступить к работе с этим руководством.
Шаг первый — установка phpMyAdmin
Для начала мы установим phpMyAdmin из репозиториев Ubuntu по умолчанию.
Мы можем сделать это, обновив наш локальный индекс пакетов, а затем используя систему упаковки apt
, чтобы извлечь файлы и установить их в нашей системе:
- sudo apt-get update
- sudo apt-get install phpmyadmin php-mbstring php-gettext
Это задаст вам несколько вопросов для правильной настройки вашей установки.
Предупреждение: Когда появляется первое приглашение, выделяется apache2, но не выбран . Если вы не нажмете Space , чтобы выбрать Apache, установщик , а не переместит необходимые файлы во время установки. Нажмите Пробел , Tab , а затем Введите , чтобы выбрать Apache.
- Для выбора сервера выберите apache2 .
- Выберите yes , когда вас спросят, использовать ли
dbconfig-common
для настройки базы данных - Вам будет предложено ввести пароль администратора базы данных
- Затем вам будет предложено выбрать и подтвердить пароль для самого приложения
phpMyAdmin
В процессе установки фактически добавляется файл конфигурации Apache phpMyAdmin в каталог / etc / apache2 / conf-enabled /
, откуда он автоматически читается.
Единственное, что нам нужно сделать, это явно включить расширения PHP mcrypt
и mbstring
, что мы можем сделать, набрав:
- sudo phpenmod mcrypt
- Судо phpenmod mbstring
После этого вам необходимо перезапустить Apache, чтобы изменения были распознаны:
- sudo systemctl перезапустить apache2
Теперь вы можете получить доступ к веб-интерфейсу, посетив доменное имя вашего сервера или общедоступный IP-адрес, за которым следует / phpmyadmin
:
https: // имя_домена_или_IP / phpmyadmin
Теперь вы можете войти в интерфейс, используя имя пользователя root
и пароль администратора, который вы установили во время установки MySQL.
Когда вы войдете в систему, вы увидите пользовательский интерфейс, который будет выглядеть примерно так:
Шаг второй — Защитите свой экземпляр phpMyAdmin
Нам удалось довольно легко настроить и запустить интерфейс phpMyAdmin. Однако мы еще не закончили. Из-за своей повсеместности phpMyAdmin является популярной целью для злоумышленников. Мы должны предпринять дополнительные меры для предотвращения несанкционированного доступа.
Один из самых простых способов сделать это — разместить шлюз перед всем приложением.Мы можем сделать это с помощью встроенных в Apache функций аутентификации и авторизации .htaccess
.
Настройте Apache для разрешения переопределения .htaccess
Во-первых, нам нужно разрешить использование переопределений файла .htaccess
, отредактировав наш файл конфигурации Apache.
Мы отредактируем связанный файл, который был помещен в наш каталог конфигурации Apache:
- sudo nano /etc/apache2/conf-available/phpmyadmin.conf
Нам нужно добавить директиву AllowOverride All
в раздел
файла конфигурации, например:
/ и т.д. / apache2 / conf-available / phpmyadmin.conf
<Каталог / usr / share / phpmyadmin>
Параметры FollowSymLinks
DirectoryIndex index.php
AllowOverride All
. . .
После добавления этой строки сохраните и закройте файл.
Чтобы применить внесенные вами изменения, перезапустите Apache:
- sudo systemctl перезапустить apache2
Создайте файл .htaccess
Теперь, когда мы разрешили использование .htaccess
для нашего приложения, нам нужно создать его, чтобы фактически реализовать некоторую безопасность.
Для того, чтобы это было успешным, файл должен быть создан в каталоге приложения. Мы можем создать необходимый файл и открыть его в нашем текстовом редакторе с правами root, набрав:
- sudo nano /usr/share/phpmyadmin/.htaccess
В этом файле нам нужно ввести следующую информацию:
/usr/share/phpmyadmin/.htaccess
AuthType Basic
AuthName «Файлы с ограниченным доступом»
AuthUserFile / etc / phpmyadmin /.htpasswd
Требовать действительного пользователя
Давайте рассмотрим, что означает каждая из этих строк:
-
AuthType Basic
: В этой строке указывается тип аутентификации, который мы реализуем. Этот тип реализует аутентификацию по паролю с использованием файла паролей. -
AuthName
: устанавливает сообщение для диалогового окна аутентификации. Вы должны сохранить это общее, чтобы неавторизованные пользователи не получали никакой информации о том, что защищается. -
AuthUserFile
: устанавливает расположение файла паролей, который будет использоваться для аутентификации.Это должно быть за пределами обслуживаемых каталогов. Вскоре мы создадим этот файл. -
Требовать действительного пользователя
: это указывает, что только аутентифицированным пользователям должен быть предоставлен доступ к этому ресурсу. Это то, что на самом деле предотвращает проникновение неавторизованных пользователей.
Когда вы закончите, сохраните и закройте файл.
Создайте файл .htpasswd для аутентификации
Местоположение, которое мы выбрали для нашего файла паролей, было « / etc / phpmyadmin /.htpasswd
». Теперь мы можем создать этот файл и передать его начальному пользователю с помощью утилиты htpasswd
:
- sudo htpasswd -c /etc/phpmyadmin/.htpasswd имя пользователя
Вам будет предложено выбрать и подтвердить пароль для создаваемого пользователя. После этого создается файл с введенным вами хешированным паролем.
Если вы хотите ввести дополнительного пользователя, вам нужно сделать это без флага -c
, например:
- sudo htpasswd / etc / phpmyadmin /.htpasswd дополнительный пользователь
Теперь при доступе к подкаталогу phpMyAdmin вам будет предложено ввести имя дополнительной учетной записи и пароль, которые вы только что настроили:
https: // имя_домена_или_IP / phpmyadmin
После входа в аутентификацию Apache вы попадете на обычную страницу аутентификации phpMyAdmin, чтобы ввести другие свои учетные данные. Это добавит дополнительный уровень безопасности, поскольку phpMyAdmin в прошлом страдал от уязвимостей.
Заключение
Теперь у вас должен быть настроен и готов к использованию phpMyAdmin на вашем сервере Ubuntu 16.04. Используя этот интерфейс, вы можете легко создавать базы данных, пользователей, таблицы и т. Д., А также выполнять обычные операции, такие как удаление и изменение структур и данных.
Установите MySQL с phpMyAdmin на Ubuntu
Существуют сотни статей о том, как установить phpMyAdmin в Ubuntu. Однако ни один из них не показал мне безошибочного способа установки phpMyAdmin в моей системе.Эта статья для тех, кто хочет установить phpMyAdmin и MySQL без ошибок.
phpMyAdmin зависит от сервера Apache, PHP и MySQL. Поэтому я рекомендую установить их перед установкой phpMyAdmin.
Шаг 1:
Выполните следующую команду с терминала, чтобы установить сервер Apache.
Шаг 2:
Запустите сервер Apache с помощью следующей команды и посетите http: // localhost, чтобы узнать, работает ли сервер Apache. Если вы получили « Apache2 Ubuntu Default Page », ваш сервер Apache готов. sudo service apache2 start
Шаг 3:
Установите PHP вместе с дополнительными модулями, которые требуются phpMyAdmin.
sudo apt install php php-gettext libapache2-mod-php
Шаг 4:
Установите MySQL.
sudo apt install mysql-server
Шаг 5:
Попробуйте войти в MySQL, используя mysql -u root. Если вы получаете сообщение об ошибке «ERROR 1045 (28000): Access denied for user ‘root’ @ ‘localhost’ (using password: NO)», выполните этот шаг.В противном случае продолжите с Шаг 6 .
5.1: Войдите в MySQL с помощью sudo.
5.2: Выберите базу данных mysql.
5.3: Обновите базу данных, чтобы использовать плагин mysql_native_password
для пользователя root.
mysql> ОБНОВЛЕНИЕ пользователя SET plugin = 'mysql_native_password' WHERE User = 'root';
mysql> ПРИВИЛЕГИИ ПРОМЫВКИ;
5.4: Выйти из MySQL.
5.5: Перезапустите сервер MySQL.
sudo service mysql restart
Шаг 6:
Установите phpMyAdmin.
sudo apt install phpmyadmin
- Ответьте да на « Настроить базу данных для phpmyadmin с помощью dbconfig-common? »
- Выберите apache2 (нажав пробел), когда вас попросят выбрать « Веб-сервер для автоматической перенастройки »
Шаг 7:
Перезапустите сервер Apache.
sudo service apache2 restart
Шаг 8:
Посетите http: // localhost / phpmyadmin.
Если вы открыли сайт phpMyAdmin, все готово. Если при чтении этой статьи у вас возникнут какие-либо ошибки, не стесняйтесь оставлять комментарии ниже. Я постараюсь найти решение.
Бонусный совет:
Я ненавижу скучную тему phpMyAdmin по умолчанию. С другой стороны, для phpMyAdmin доступны несколько классных тем. В качестве бонуса я также объясняю здесь, как вы можете установить собственную тему для phpMyAdmin. Выполните следующие действия, чтобы изменить внешний вид вашего phpMyAdmin. Шаг 1:
Запишите вашу версию phpMyAdmin. Вы можете увидеть это в правом нижнем углу домашней страницы phpMyAdmin. В моем случае это версия 4.6.6deb5.
Шаг 2:
Посетите сайт тем phpMyAdmin и загрузите нужную тему, указанную под номером версии вашей установки. Допустим, вы скачали упавший файл-0.3.zip.
Шаг 3:
Откройте Терминал и измените каталог на / usr / share / phpmyadmin / themes /.
cd / usr / share / phpmyadmin / themes /
Шаг 4:
Распакуйте zip-файл в текущий каталог.
sudo unzip ~ / Downloads / fallen-0.3.zip
Шаг 5:
Перезагрузите сервер Apache и откройте phpMyAdmin. Если он уже открыт, обновите страницу. Чтобы перезапустить сервер Apache, введите следующую команду:
sudo service apache2 restart
Шаг 6:
Теперь выберите тему Fallen из раскрывающегося списка Theme.
Как установить MySQL с phpMyAdmin в Ubuntu 14.04
Обновлено , от Linode
Распространение: Ubuntu 14.04 Распространение: Ubuntu 14.04Traducciones al EspañolEstamos traduciendo nuestros guías y tutoriales al Español. Es posible que usted esté viendo una traducción generada automáticamente. Estamos trabajando con traductores profesionales para verificar las traducciones de nuestro sitio web. Este proyecto es un trabajo en curso.
phpMyAdmin — это веб-приложение, которое предоставляет графический интерфейс для помощи в администрировании базы данных MySQL. Он поддерживает несколько серверов MySQL и является надежной и простой альтернативой использованию клиента командной строки MySQL.
Примечание Это руководство написано для пользователя без полномочий root. Команды, требующие повышенных привилегий, имеют префиксsudo
. Если вы не знакомы с командойsudo
, вы можете проверить наши Руководство по пользователям и группам.
Перед началом работы
Убедитесь, что вы выполнили Начало работы и Безопасность вашего сервера направляющих и Linode’s имя хоста установлено.
Чтобы проверить имя хоста, запустите:
имя хоста имя хоста -f
Первая команда должна показать ваше короткое имя хоста, а вторая должна показать ваше полное доменное имя (FQDN).
Обновите свою систему:
sudo apt-get update && sudo apt-get upgrade -y
Установите рабочий стек LAMP. Пожалуйста, посмотрите LAMP в руководстве Ubuntu 14.04 при необходимости.
Примечание
Настройте Apache с SSL, чтобы ваши пароли не отправлялись в виде обычного текста. Для этого пройдите через SSL-сертификаты с Apache в руководстве Debian и Ubuntu.
Установите модуль
mcrypt
PHP:sudo apt-get install mcrypt
Перезапустить Apache:
sudo service apache2 restart
Настройка phpMyAdmin
Установите текущую версию phpMyAdmin:
sudo apt-get install phpmyadmin
Вам будет задан вопрос, для какого сервера автоматически настраивать phpMyAdmin.Выберите установленный вами веб-сервер. Если у вас установлено несколько веб-серверов, выберите лучший вариант для вашего развертывания. Выполните остальную часть пошагового установщика, чтобы установить пароли.
Для каждого виртуального хоста, которому вы хотите предоставить доступ к своей установке PHPMyAdmin, создайте символическую ссылку из корня документа на место установки phpMyAdmin (
/ usr / share / phpmyadmin
):cd / var /www/html/example.com/public_html sudo ln -s / usr / share / phpmyadmin
Это создаст символическую ссылку с именем
phpmyadmin
в корне вашего документа.
Защита phpMyAdmin
Файл .htaccess
Защитите свой каталог phpMyAdmin с помощью файла .htaccess
, который разрешает доступ к нему только указанным IP-адресам. Вы можете сделать это, создав файл .htaccess
в каталоге phpmyadmin
. Замените правильные пути и IP-адреса для вашей конкретной конфигурации:
- Файл: /var/www/example.com/public_html/phpmyadmin/.htaccess
1 2
приказ разрешить, отказать позволяют от 12.34.56.78
Принудительный SSL
Вы можете заставить phpMyAdmin использовать SSL в файле конфигурации phpMyAdmin /etc/phpmyadmin/config.inc.php
, добавив следующие строки под сервером (s ) конфигурация
раздел:
- Файл: /etc/phpmyadmin/config.inc.php
1
$ cfg ['ForceSSL'] = 'true';
Тестирование установки phpMyAdmin
Чтобы протестировать phpMyAdmin, откройте свой любимый браузер и перейдите по адресу https: // example.com / phpmyadmin
. Вам будет предложено ввести имя пользователя и пароль. Используйте имя пользователя «root» и пароль, который вы указали при установке MySQL. Кроме того, вы можете войти в систему, используя любого пользователя MySQL, и сохранить его разрешения.
Если вы успешно авторизуетесь, значит, phpMyAdmin установлен правильно.
Эта страница изначально была опубликована на
Как установить phpMyAdmin в Ubuntu 18.04
PhpMyAdmin — это графический интерфейс пользователя (GUI), который позволяет создавать, хранить и редактировать целые базы данных, созданные с помощью MySQL.
В этом руководстве вы узнаете, как установить phpMyAdmin и как защитить его доступ в Linux Ubuntu 18.04.
Сначала подключитесь к вашему серверу через SSH-соединение. Если вы еще не сделали этого, следуйте нашему руководству, чтобы безопасно подключиться по протоколу SSH. В случае локального сервера перейдите к следующему шагу и откройте терминал вашего сервера.Установка phpMyAdmin
PhpMyAdmin находится в стандартном репозитории Ubuntu.
Сначала обновите индекс apt, а затем загрузите и установите phpMyAdmin:
$ sudo apt update
$ sudo apt установить phpmyadmin php-mbstring php-gettext
Набрав Y и нажав Enter для подтверждения.
Появится следующий экран:
Выберите здесь apache, но будьте осторожны, красная черточка не выбирает apache 2. Чтобы выбрать его, нажмите пробел, а затем нажмите Enter. Если вы не нажмете пробел, файлы, необходимые для установки, не будут перенесены.
После нажатия Enter появится следующий экран:
Выберите Да и нажмите Enter.
Теперь вам необходимо ввести пароль для базы данных администратора.Введите новый пароль, нажмите Tab, чтобы выбрать OK, и нажмите Enter.
Теперь введите и подтвердите пароль для приложения.
Как и раньше, введите новый пароль, нажмите TAB, чтобы выбрать Ok, и нажмите Enter.
Подтвердите пароль.
После завершения установки сюда будет добавлен файл конфигурации phpMyAdmin:
/etc/apache2/conf-enabled/phpmyadmin.conf
Единственное, что вам нужно сделать, это активировать расширение PHP mbstring.Для этого введите:
$ sudo phpenmod mbstring
Чтобы применить все изменения, перезапустите Apache, набрав:
$ sudo systemctl перезапуск apache2
Управление правами доступа
Чтобы использовать phpMyAdmin, не входите в систему как пользователь, созданный автоматически во время установки. вместо этого войдите в систему как пользователь root или как менеджер баз данных через интерфейс phpMyAdmin.
Вы можете настроить только одного из этих двух пользователей или обоих.
Настройка пароля для учетной записи root MySQL
Для доступа в качестве пользователя root MySQL требуется аутентификация auth_socket вместо простого пароля. Чтобы войти в систему как root MySQL через phpMyAdmin, измените метод аутентификации.
Для этого откройте командную строку MySQL
$ sudo mysql
Проверьте методы аутентификации для каждого пользователя MySQL, набрав:
ВЫБЕРИТЕ пользователя, строку_аутентификации, плагин, хост ОТ mysql.Пользователь;
Теперь отображается список всех методов аутентификации для пользователей MySQL. Здесь вы можете ясно увидеть, как у пользователя root есть тип аутентификации auth_socket.
+ ------------------ + ---------------------------- --------------- + ----------------------- + ---------- - +
| пользователь | authentication_string | плагин | хост |
+ ------------------ + ------------------------------ ------------- + ----------------------- + ----------- +
| корень | | auth_socket | localhost |
| mysql.сессия | * ЭТОТ НЕДОСТАТОЧНЫЙ ПАРОЛЬ, ЧТО МОЖЕТ БЫТЬ ЗДЕСЬ | mysql_native_password | localhost |
| mysql.sys | * ЭТОТ НЕДОСТАТОЧНЫЙ ПАРОЛЬ, ЧТО МОЖЕТ БЫТЬ ЗДЕСЬ | mysql_native_password | localhost |
| debian-sys-maint | * 8486437DE5F65ADC4A4B001CA591363B64746D4C | mysql_native_password | localhost |
| phpmyadmin | * 5FD2B7524254B7F81B32873B1EA6D681503A5CA9 | mysql_native_password | localhost |
+ ------------------ + ------------------------------ ------------- + ----------------------- + ----------- +
5 рядов в наборе (0.00 сек)
Чтобы изменить тип аутентификации с auth_socket на mysql_native_password и использовать пароль для входа в систему под пользователем root, введите:
ИЗМЕНЕНИЕ ПОЛЬЗОВАТЕЛЯ 'root' @ 'localhost' ИДЕНТИФИКАЦИЯ mysql_native_password ПО 'паролю';
Вместо пароля введите пароль, который вам придется запомнить.
Подтвердите только что внесенные изменения, набрав:
ПРИВИЛЕГИИ ПРОМЫВКИ;
Таким образом, сервер будет уведомлен о том, что метод аутентификации для пользователя root должен быть обновлен.
Проверить, сохранены ли изменения, повторно набрав:
ВЫБЕРИТЕ пользователя, строку_атентификации, плагин, хост ОТ mysql.user;
Если все было сделано правильно, метод аутентификации для пользователя root будет изменен, и отображаемый экран будет похож на следующий:
+ ------------------ + ---------------------------- --------------- + ----------------------- + ---------- - +
| пользователь | authentication_string | плагин | хост |
+ ------------------ + ------------------------------ ------------- + ----------------------- + ----------- +
| корень | * DE06E242B88EFB1FE4B5083587C260BACB2A6158 | mysql_native_password | localhost |
| mysql.сессия | * ЭТОТ НЕДОСТАТОЧНЫЙ ПАРОЛЬ, ЧТО МОЖЕТ БЫТЬ ЗДЕСЬ | mysql_native_password | localhost |
| mysql.sys | * ЭТОТ НЕДОСТАТОЧНЫЙ ПАРОЛЬ, ЧТО МОЖЕТ БЫТЬ ЗДЕСЬ | mysql_native_password | localhost |
| debian-sys-maint | * 8486437DE5F65ADC4A4B001CA591363B64746D4C | mysql_native_password | localhost |
| phpmyadmin | * 5FD2B7524254B7F81B32873B1EA6D681503A5CA9 | mysql_native_password | localhost |
+ ------------------ + ------------------------------ ------------- + ----------------------- + ----------- +
5 рядов в наборе (0.00 сек)
После этого используйте ранее выбранный пароль для аутентификации как пользователя root в интерфейсе phpMyAdmin.
Настройте пароль для выделенного пользователя MySQL
Чтобы получить доступ к phpMyAdmin не как пользователь root, а как пользователь, созданный специально для этой цели, ничего не остается, кроме как создать его.
Для этого снова войдите в командную строку MySQL.
В случае уже настроенной аутентификации на основе пароля для пользователя root введите:
$ mysql -u корень -p
Если вы решили не использовать пользователя root, введите:
$ sudo mysql
Теперь создайте нового пользователя, а затем выберите имя и пароль, набрав:
$ СОЗДАТЬ ПОЛЬЗОВАТЕЛЯ 'имя пользователя' @ 'localhost' ИДЕНТИФИЦИРОВАНО 'паролем';
Замените «имя пользователя» и «пароль» на выбранные вами.
Чтобы предоставить все необходимые привилегии новому пользователю, введите:
$ ПРЕДОСТАВЛЯЙТЕ ВСЕ ПРИВИЛЕГИИ *. * TO 'username' @ 'localhost' С ОПЦИЕЙ GRANT;
Затем выйдите из командной строки MySQL, набрав:
$ выход
Первый доступ к phpMyAdmin
Чтобы подключиться к серверу, все, что вам нужно сделать, это использовать этот URL-адрес в браузере по вашему выбору: http: // IP-SERVER / phpmyadmin
Если адрес правильный, откроется экран, на котором вам потребуется ввести имя пользователя и пароль.
Здесь вы можете войти в систему как пользователь root или как новый пользователь.
Если все было правильно запущено, отобразится панель управления phpMyAdmin.
Защита от внешних атак
Настроенный таким образом phpMyAdminособенно уязвим для внешних атак, так как эти базы данных особенно интересны для некоторых людей.
Самый простой способ предотвратить эти атаки — добавить порт доступа ко всему приложению с помощью встроенной функции Apache.
Это функция .htaccess.
Чтобы настроить эту функцию, откройте файл .conf в каталоге apache.
Для этого наберите:
$ sudo nano /etc/apache2/conf-available/phpmyadmin.conf
Найдите в файле .conf раздел:
<Каталог / usr / share / phpmyadmin>
и добавить:
AllowOverride All
После добавления директивы AllowOverride All сохраните и закройте файл.conf и перезапустите Apache, чтобы изменения вступили в силу.
Для этого наберите:
$ sudo systemctl перезапуск apache2
После включения .htaccess для вашего приложения создайте новый.
Файл находится в каталоге приложения.
Для этого наберите:
$ sudo nano /usr/share/phpmyadmin/.htaccess
В файле напишите:
AuthType Basic
AuthName "Зарезервированные файлы"
AuthUserFile / etc / phpmyadmin /.htpasswd
Требовать действительного пользователя
Этот файл просто создаст диалоговое окно для аутентификации.
«Заголовок» диалогового окна будет «Зарезервированные файлы». Вы можете изменить это имя по своему усмотрению. Рекомендуется не давать строго определенного имени, чтобы злоумышленники не заинтересовались обходом этой защиты.
Сохраните файл и закройте его.
Теперь создайте файл паролей.
Для создания наберите:
$ sudo htpasswd -c / etc / phpmyadmin /.htpasswd имя пользователя
Замените «имя пользователя» на имя по вашему выбору.
Вам потребуется выбрать и подтвердить пароль, после чего будет создан файл с паролем в /etc/phpmyadmin/.htpasswd.
С этого момента перед доступом к phpMyAdmin потребуются дополнительные имена пользователей и пароли, чтобы все было безопаснее.
После ввода имени пользователя и пароля отобразится обычное окно входа в phpMyAdmin, в котором необходимо ввести свои учетные данные MySQL.
Как установить phpmyadmin на ubuntu 12.04
Phpmyadmin на ubuntu:
Phpmyadmin — это бесплатный инструмент, используемый для администрирования базы данных MySQL в режиме графического интерфейса (с использованием веб-браузера). Вы можете выполнять почти все основные задачи, такие как создание, удаление и изменение баз данных, таблиц, строк и т. Д., Вы также можете оптимизировать и восстанавливать таблицы одним щелчком мыши.
Phpmyadmin на ubuntu 12.04:
Чтобы установить phpmyadmin на ubuntu 12.04, вам понадобятся 3 основных пакета apache, MySQL и php должны быть установлены и настроены должным образом.Вы можете сослаться на следующие сообщения, чтобы установить, настроить и протестировать apache, mysql и php вместе.
1. Установка Apache2
2. Установка Mysql
3. Установка PHP
4. Все вместе тестирование
После установки apache2, mysql и php вы можете продолжить следующие шаги для установки и настройки phpmyadmin
Шаг 1 »Обновление репозитории ubuntu, введя следующую команду:
krizna @ leela: ~ $ sudo apt-get update
Шаг 2 »Введите команду ниже для установки phpmyadmin.
krizna @ leela: ~ $ sudo apt-get install phpmyadmin
Шаг 3 »Вам будет предложено выбрать тип веб-сервера для phpmyadmin. просто выберите «apache2» (используйте пробел и введите клавишу для выбора). Шаг 4 »Теперь при установке будет предложено указать конфигурацию базы данных mysql. Поскольку мы уже настроили сервер mysql вручную, просто выберите« Нет »и нажмите Enter, чтобы завершить установку.
Шаг 5 »Вот и все, теперь откройте в браузере путь« http: // localhost / phpmyadmin », вам будет предложено ввести имя пользователя и пароль.просто введите имя пользователя root и пароль Mysql, указанные во время установки Mysql. Теперь после успешного входа в систему вы можете увидеть экран, как показано ниже.
Если вы получаете сообщение «Страница не найдена». Включите следующую строку в файл /etc/apache2/apache2.conf .
Включите /etc/phpmyadmin/apache.conf
и перезапустите службу apache2
sudo /etc/init.d/apache2 restart
Включите свой VPS с помощью phpMyAdmin в Ubuntu! Пошаговое руководство
VPS
время доступа22 января, 2020
песочные часы пустые3мин чтения
MySQL — это бесплатная система управления реляционными базами данных с открытым исходным кодом, широко используемая во многих типичных приложениях.Это неотъемлемая часть стека веб-приложений LAMP, который также включает Apache — бесплатный кроссплатформенный веб-сервер с открытым исходным кодом.
Хотя вы можете делать все через интерфейс командной строки, некоторые люди предпочитают использовать GUI или графический интерфейс пользователя для работы с базами данных.
Это подводит нас к phpMyAdmin. PhpMyAdmin — это бесплатный графический интерфейс с открытым исходным кодом для управления базами данных MySQL. Хотя установить phpMyAdmin на сервер Ubuntu относительно просто, процедура немного изменилась с выпуском версии 18 ОС Ubuntu.04, где доступ пользователей root к приложениям был отключен из соображений безопасности.
В этой статье вы узнаете, как установить phpMyAdmin в Ubuntu 18.04, на котором запущен сервер Apache с базой данных MySQL.
Предварительные требования
Для установки phpMyAdmin у вас должен быть сервер Apache с базой данных MySQL , работающий на Ubuntu 18.04 OS . Вы также должны быть знакомы с интерфейсом командной строки.
Установите phpMyAdmin в Ubuntu 18.04
Процедура установки довольно проста, если у вас есть упомянутые приложения, работающие без сбоев.
Откройте интерфейс командной строки и получите доступ к своему VPS с помощью SSH. Возникли проблемы? Ознакомьтесь с нашим руководством по PuTTY!
После этого введите команду:
sudo apt-get install phpmyadmin php-mbstring php-gettext –y
Обратите внимание, что в процессе установки вам будет предложено выбрать веб-сервер. Выберите apache2, нажав пробел, а затем клавишу TAB, и нажмите клавишу ввода, чтобы продолжить.
Затем вас попросят указать конфигурацию базы данных. Выберите Да и продолжайте дальше.
Установите «Пароль приложения MySQL для phpmyadmin». Убедитесь, что вы используете надежный и уникальный пароль. Подтвердите еще раз, когда будет предложено.
Наконец, введите пароль администратора базы данных.
По завершении процедуры установки откройте браузер и укажите URL-адрес http: // SERVER_IP / phpmyadmin (где SERVER_IP — это IP-адрес вашего сервера).
Если вы используете localhost, используйте URL-адрес http: // localhost / phpmyadmin и войдите в систему.
Обратите внимание, что в Ubuntu 18.04 вы не можете войти в систему как пользователь root из-за проблем с безопасностью. Поэтому войдите в систему с именем пользователя phpmyadmin и паролем MySQL, который вы установили ранее.
Теперь вот что: сразу после входа вы обнаружите, что интерфейс phpMyAdmin имеет очень ограниченные возможности. Чтобы сделать этот пользовательский интерфейс phpMyAdmin практичным решением, мы должны предоставить некоторые разрешения пользователю phpmyadmin.
Предоставление разрешений пользователю «phpmyadmin»
Откройте интерфейс командной строки и войдите в MySQL с помощью команды:
sudo mysql -u root –p
Предоставьте разрешения пользователю phpmyadmin с помощью следующих команд:
ПРЕДОСТАВЛЯЙТЕ ВСЕ ПРИВИЛЕГИИ НА *. * 'Phpmyadmin' @ 'localhost'; ПРИВИЛЕГИИ ПРОМЫВКИ; ВЫХОД
Теперь выйдите из phpMyAdmin, если вы все еще вошли в систему, и войдите снова с тем же именем пользователя phpmyadmin, которое вы использовали ранее. Теперь у вас есть полные привилегии для MySQL.
Альтернативное решение
По соображениям безопасности, если вы не хотите использовать или работать с учетной записью пользователя phpmyadmin по умолчанию, вы можете создать нового пользователя-администратора MySQL с полными правами. Просто напишите эти команды в интерфейсе командной строки:
СОЗДАТЬ ПОЛЬЗОВАТЕЛЬ ИМЯ ПОЛЬЗОВАТЕЛЯ, ОПРЕДЕЛЕННОЕ ПАРОЛЕМ; ПРЕДОСТАВЛЯЙТЕ ВСЕ ПРИВИЛЕГИИ НА *. * 'Username' @ 'localhost'; ПРИВИЛЕГИИ ПРОМЫВКИ; ВЫХОД
Обратите внимание, что ИМЯ ПОЛЬЗОВАТЕЛЯ и ПАРОЛЬ должны быть уникальными и надежными. Снова замените имя пользователя во второй строке на имя пользователя, которое вы создали в первой.Все команды должны выполняться по одной строке за раз.
Перезагрузите сервер Apache, если у вас возникнут проблемы со входом в систему. Команда для перезапуска сервера:
sudo service apache2 перезапуск
Рекомендуется взглянуть на вкладку «Статус», которая отображает количество подключений к серверу MySQL, текущие запросы MySQL, которые выполняются на сервере, и время безотказной работы сервера.
Заключение
Вот и все! Вы успешно установили и настроили phpMyAdmin в Ubuntu 18.04 с соответствующими административными разрешениями. Теперь вы можете начать работать с некоторыми из его более продвинутых функций. Ознакомьтесь с официальной документацией phpMyadmin, чтобы узнать больше. Будьте на связи!
Как установить и защитить PhpMyAdmin в Ubuntu 20.04?
Этот пост может содержать партнерские ссылки / рекламу, и я могу получить небольшую комиссию, когда вы нажимаете на ссылки / объявления без каких-либо дополнительных затрат для вас. Как партнер Amazon, я зарабатываю на соответствующих покупках. Вы можете прочитать мой полный отказ от ответственности здесь.
PhpMyAdmin — это графический веб-инструмент с открытым исходным кодом, написанный на PHP для управления базой данных MySQL или MariaDB. В этом посте я покажу вам, как установить и защитить phpMyAdmin в Ubuntu 20.04.
Зачем использовать phpMyAdmin?
С помощью этого графического инструмента вы можете выполнять все типичные операции, такие как управление базами данных, таблицами, пользователями, разрешениями, столбцами, отношениями и т. Д., А также выполнять любой оператор SQL непосредственно из его интерфейса.
PhpMyAdmin имеет хорошо проработанную документацию с поддержкой 72 языков (включая языки с письмом справа налево и слева направо).
PhpMyAdmin также предлагает администраторам широкий спектр функций наряду со всеми основными функциями, такими как управление базами данных, таблицами, пользователями, разрешениями и т. Д.
Особенности phpMyAdmin:
- Интуитивно понятный и удобный веб-интерфейс.
- Просмотр и удаление баз данных и таблиц.
- Изменить поля и индексы.
- Создание, копирование, удаление, переименование и изменение баз данных.
- Создание, копирование, удаление, переименование и изменение таблиц.
- Выполнение обслуживания базы данных и таблиц.
- Импорт данных из CSV и SQL.
- Выполнять, редактировать или добавлять в закладки любой оператор SQL (даже выполнять несколько запросов).
- Управляйте учетными записями пользователей и привилегиями через интерфейс.
- Экспорт данных в различные форматы: SQL, CSV, XML, PDF, Spreadsheet, Word.
- Администрирование нескольких серверов.
- Создание графики макетов баз данных в различных форматах.
- Глобальный поиск в базе данных или ее подмножестве.
- Преобразуйте сохраненные данные в любой формат, используя набор предопределенных функций.(например, отображение BLOB-данных в виде изображения или ссылки для скачивания)
- И многое другое.
Предварительные требования для установки phpMyAdmin в Ubuntu 20.04
— Стек LAMP установлен и работает в Ubuntu 20.04
Проверьте следующий пост, если вы еще не установили стек LAMP.
Как установить стек LAMP в Ubuntu 20.04?
— Базовые знания Linux
— Доступ к учетной записи Sudo или root
Установите PhpMyAdmin в Ubuntu 20.04
Перед тем, как продолжить установку, рекомендуется обновить репозитории программного обеспечения с помощью команды:
sudo apt update
Установить PhpMyAdmin в Ubuntu со всеми зависимостями пакетов (включая расширения PHP 7) с помощью команды:
sudo apt install phpmyadmin
Во время процесса установки вам будет предложено настроить некоторые параметры.
Если вы используете apache в качестве веб-сервера, тогда
Выберите apache2 с помощью клавиши пробела, когда будет предложено выбрать веб-сервер.
Выберите веб-сервер(звездочка указывает на выбранный вариант)
Перейдите к «
Выберите «<Да>» и нажмите Enter, чтобы настроить базу данных для PhpMyAdmin с помощью «dbconfig-common».
Настроить базу данных для phpmyadminНа следующем экране вам будет предложено установить пароль для пользователя phpmyadmin .
Установить пароль приложения MySQL для phpMyAdmin После ввода пароля выберите «
Это создаст нового пользователя phpMyAdmin с привилегиями для управления этой базой данных.
Вы всегда можете войти в систему и проверить привилегии для phpMyAdmin, войдя на сервер MariaDB с помощью команды:
sudo mysql -u root
Чтобы проверить права, выполните следующую команду в консоли mariaDB:
показать гранты для [электронной почты защищенный];
Как видите, phpmyadmin имеет все привилегии в базе данных phpmyadmin .
Для выхода из mariadb используйте:
exit;
Настроить брандмауэр для phpMyAdmin
Перед доступом к phpMyAdmin убедитесь, что брандмауэр настроен правильно, чтобы избежать нежелательных прерываний.
Если вы используете брандмауэр Iptables, выполните следующую команду, чтобы открыть TCP-порт 80 и 443.
sudo iptables -I INPUT -p tcp --dport 80 -j ACCEPT
sudo iptables -I INPUT -p tcp - -dport 443 -j ACCEPT
Если вы используете брандмауэр UFW, выполните следующую команду, чтобы открыть TCP-порты 80 и 443.
sudo ufw allow 80,443 / tcp
Доступ к PhpMyAdmin через подкаталог
При установке PhpMyAdmin в Ubuntu с веб-сервером apache файл конфигурации помещается в /etc/apache2/conf-enabled/phpmyadmin.conf , что позволяет нам для доступа к PhpMyAdmin через подкаталог.
Если файл не помещается автоматически, поместите его вручную, используя следующую команду:
sudo cp /etc/phpmyadmin/apache.conf /etc/apache2/conf-enabled/phpmyadmin.conf
Перезапустите службу apache2 для изменения вступят в силу.
sudo systemctl restart apache2
Если вы используете какое-либо приложение, например WordPress, на сервере Ubuntu 20.04 или настроили имя хоста для своего сервера, просто добавьте «/ phpmyadmin» после имени вашего домена.
http://example.com/phpmyadmin
Если вы используете PhpMyAdmin на локальном сервере Ubuntu 20.04, введите следующее в адресной строке браузера, чтобы получить к нему доступ.
127.0.0.1/phpmyadmin
Настройка VirtualHost для PhpMyAdmin
По умолчанию вы можете получить доступ к веб-интерфейсу PhpMyAdmin через подкаталог, для доступа к нему через поддомен, вам необходимо настроить виртуальный хост для PhpMyAdmin.
Чтобы настроить виртуальный хост для phpMYAdmin, переместите файл «phpmyadmin.conf» в каталог «/ etc / apache2 / sites-available /» с помощью команды:
sudo mv /etc/apache2/conf-enabled/phpmyadmin.conf /etc/apache2/sites-available/phpmyadmin.conf
Откройте перемещенный файл для редактирования (здесь я использую редактор Nano)
sudo nano /etc/apache2/sites-available/phpmyadmin.conf
Чтобы сделать его virtualhost добавьте в начало файла следующие строки:
ServerName pma.example.com DocumentRoot / usr / share / phpmyadmin ErrorLog $ {APACHE_LOG_DIR} /pma.error.log CustomLog $ {APACHE_LOG_DIR} /pma.access.log в сочетании
Также добавьте закрывающий тег virtualhost в конец файла:
Вот краткое описание строк, которые мы добавили в файл:
ServerName pma.example.com : Имя сервера.(Замените pma.example.com своим именем сервера). Также не забудьте создать запись DNS A для этого поддомена.
DocumentRoot / usr / share / phpmyadmin : расположение файлов phpmyadmin.
ErrorLog $ {APACHE_LOG_DIR} /pma.error.log : расположение и имя файла журналов ошибок.
CustomLog $ {APACHE_LOG_DIR} /pma.access.log в сочетании : расположение и имя файла пользовательских журналов.
: закрывающий тег виртуального хоста.
Включите вновь созданный виртуальный хост, используя:
sudo a2ensite phpmyadmin.confenable phpmyadmin.conf
Перезагрузите службу apache, чтобы активировать новую конфигурацию.
sudo systemctl reload apache2
Перейдите во вновь созданный поддомен, чтобы получить доступ к веб-интерфейсу PhpMyadmin.
pma.example.com
(Замените pma.example.com на свой поддомен)
Безопасный PhpMyAdmin в Ubuntu 20.04
PhpMyAdmin установлен и используется на многих веб-серверах для управления базой данных. Таким образом, он становится мишенью для хакеров из-за его характера работы.
Рекомендуется защитить интерфейс phpMyAdmin, особенно если вы используете его в производственной среде.
Отключить вход в систему с правами root для PhpMyAdmin
Если кому-либо неавторизованному лицу удалось получить доступ с правами root, он / она будет иметь доступ ко всем базам данных на сервере, и это не очень хорошо с точки зрения безопасности, поэтому будет хорошей идеей создать разные пользователям управлять различными базами данных на сервере.
Перейдите в интерфейс phpMyAdmin и проверьте, можете ли вы получить доступ к базе данных, используя имя пользователя root.Если вам отказано в доступе, вам не нужно выполнять эти действия, вы можете сразу перейти к следующей мере безопасности, иначе выполните следующие действия.
Чтобы отключить root-доступ через phpmyadmin, выполните следующие действия:
1. Откройте файл config.inc.php.
sudo nano /etc/phpmyadmin/config.inc.php
2. Убедитесь, что следующие строки находятся в этом файле с соответствующими значениями. Если нет, добавьте следующие строки:
/ * Тип аутентификации * /
$ cfg ['Серверы'] [$ i] ['auth_type'] = 'cookie';
$ cfg ['Серверы'] [$ i] ['AllowRoot'] = false;
Сохраните и закройте файл.
2. Перезапустите службу apache2
sudo systemctl restart apache2
Вы должны получить отказ в доступе при использовании учетной записи root для входа в базу данных из интерфейса phpMyAdmin.
Теперь, чтобы создать пользователей для управления базой данных:
3. Войдите в корневой каталог MySQL через терминал и создайте другого пользователя для каждой базы данных.
sudo mysql -u root
СОЗДАТЬ ПОЛЬЗОВАТЕЛЯ 'rahul' @ 'localhost', ОПРЕДЕЛЕННЫЙ 'secretpassword';
ПРЕДОСТАВЛЯТЬ ВСЕ ПРИВИЛЕГИИ НА mydatabase.* в 'rahul' @ 'localhost';
Замените «rahul», «secretpassword» и «mydatabase» своим именем пользователя, паролем и именем базы данных соответственно.
4. Проверьте, может ли новый пользователь получить доступ к базе данных, войдя в интерфейс phpMyAdmin.
5. Создайте разных пользователей для разных баз данных и используйте их для удаленного управления базами данных.
Разрешить с определенного IP-адреса
Разрешить доступ к веб-интерфейсу phpMyAdmin только с определенного IP-адреса является хорошей мерой безопасности.
Чтобы разрешить использование с определенного IP-адреса, выполните следующие действия:
1. Откройте phpmyadmin.conf для редактирования.
sudo nano /etc/apache2/sites-available/phpmyadmin.conf
3. Добавьте следующие строки под строкой «DirectoryIndex index.php»
Требовать ip specific_ip_address
Требовать ip :: 1
Заменить specific_ip_address с фактическим IP-адресом.
4. Сохраните и закройте файл.
5. Перезапустите apache, чтобы изменения вступили в силу.
sudo systemctl restart apache2
Защита паролем Интерфейс PhpMyAdmin
Было бы неплохо, если бы только авторизованные пользователи имели доступ к интерфейсу phpMyAdmin. Вы можете заблокировать неавторизованных пользователей даже от доступа к веб-странице или субдомену phpMyAdmin.
Чтобы добавить защиту паролем на страницу phpMyAdmin, выполните следующие действия.
1. Создайте каталог в безопасном месте. Я создаю каталог с именем «passwd» в «/ etc / phpmyadmin».
mkdir / etc / phpmyadmin / passwd
2.Используйте команду htpasswd, чтобы создать имя пользователя и пароль для аутентификации при доступе к странице, защищенной паролем (в данном случае страница phpMyAdmin), и сохраните сгенерированный файл в каталоге / etc / phpmyadmin / passwd.
htpasswd -c /etc/phpmyadmin/passwd/.htpasswd rahul
Если вы хотите добавить дополнительных пользователей, используйте:
htpasswd /etc/phpmyadmin/passwd/.htpasswd Secondduser
-c создает новый файл htpasswd .
Используйте «-c» только при первом запуске команды htpasswd, иначе она перезапишет существующий файл htpasswd.
3. Отредактируйте файл phpMyAdmin.conf, чтобы разрешить доступ только авторизованным пользователям к странице phpMyAdmin.
nano /etc/apache2/sites-available/phpmyadmin.conf
Добавьте следующие строки под строкой, в которой указано — «DirectoryIndex index.php»
AllowOverride None
AuthType Basic
AuthName «Authentication Required»
AuthUserFile / etc /phpmyadmin/passwd/.htpasswd
Требовать действительного пользователя
Сохраните и закройте файл и перезапустите службу apache2, чтобы изменения вступили в силу.
sudo systemctl restart apache2
Протестируйте phpMyAdmin в Ubuntu 20.04
Пришло время протестировать все конфигурации и посмотреть, все ли работает правильно.
Теперь перейдите в веб-интерфейс phpMyAdmin.
Если вы включили защиту паролем, вы должны увидеть диалоговое окно аутентификации с запросом имени пользователя и пароля для доступа к веб-интерфейсу phpMyAdmin.
Требуется аутентификация для доступа к страницеТолько после предоставления правильных данных аутентификации вы сможете получить доступ к интерфейсу phpMyAdmin.
Если вы разрешили phpMyAdmin с определенного IP-адреса, попробуйте получить доступ к phpMyAdmin с любого другого IP-адреса, кроме разрешенного, чтобы проверить, правильно ли работает ограничение IP.