Phpmyadmin ubuntu: Установка PhpMyAdmin в Ubuntu 20.04

Содержание

Установка PhpMyAdmin в Ubuntu 20.04

PhpMyAdmin — это веб-приложение с открытым исходным кодом, написанное на языке программирования PHP и представляющее собой веб-интерфейс для администрирования СУБД MySQL. Главной особенностью данного приложения является возможность управления MySQL без непосредственного ввода SQL команд. Приложение позволяет создавать и редактировать таблицы, вносить в них данные, администрировать пользователей баз данных, а также экспортировать и импортировать записи и структуру таблиц из базы данных.

В этой статье мы рассмотрим, как выполняется установка phpMyAdmin на Ubuntu 20.04 с веб-сервером Apache. Прежде чем приступать к установке phpMyAdmin, у вас уже заранее должны быть установлены такие компоненты, как Apache, MySQL и PHP. Если ещё нет, то сначала посмотрите статью установка LAMP Ubuntu 20.04.

Содержание статьи:

Установка phpMyAdmin в Ubuntu 20.04

Прежде чем мы сможем установить phpMyAdmin Ubuntu, необходимо убедиться, что у вас установлено расширение php для работы с текстовыми строками в формате юникода.

Для его установки выполните в терминале команду:

sudo apt -y install php-mbstring

Теперь можно установить сам пакет phpMyAdmin при помощи команды:

sudo apt -y install phpmyadmin

Установщик спросит вас, какой веб-сервер будет использоваться для работы программы. Отметьте с помощью кнопки Пробел пункт apache2, а затем с помощью Tab и Enter нажмите кнопку Ок:

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

Yes:

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

Далее программа попросит вас повторить заданный ранее пароль:

После этого установка phpMyAdmin Ubuntu 20. 04 завершена.

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

Теперь phpMyAdmin будет доступен по адресу ip_вашего_сервера/phpmyadmin

. Вы можете проверить, всё ли работает, просто открыв этот адрес в браузере:

1. Создание пользователя для phpMyAdmin

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

sudo mysql -u root -p

После ввода пароля root пользователя MySQL, введите следующие команды:

CREATE USER 'test'@'localhost' IDENTIFIED BY 'пароль';

GRANT ALL PRIVILEGES ON *.* TO 'test'@'localhost';

FLUSH PRIVILEGES;

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

Теперь необходимо авторизоваться в phpMyAdmin при помощи созданного пользователя:

2. Защита phpMyAdmin

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

/usr/share/phpmyadmin/.htaccess со следующим содержимым:

sudo vi /usr/share/phpmyadmin/.htaccess

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

Данные строки означают:

  • AuthType Basic — устанавливает тип аутентификации, мы указываем, что будем использовать пароль;
  • AuthName — задает сообщение, которое будет видеть пользователь;
  • AuthUserFile — файл, откуда программа будет брать имена пользователей и пароли;
  • Require — указываем, что аутентификация обязательна.

Далее создайте новый пароль для своего пользователя:

sudo htpasswd -c /etc/phpmyadmin/.htpasswd пользователь

Чтобы настройки из файла .htaccess заработали в этой директории, необходимо, чтобы для неё в файле /etc/apache2/apache2.conf значение AllowOverride было All:

sudo vi /etc/apache2/apache2.conf

<Directory /usr/share>
AllowOverride All
Require all granted
</Directory>

Сохраните изменения и закройте файл. Далее перезапустите apache:

sudo systemctl restart apache2

Теперь, если вы попытаетесь открыть phpMyAdmin, то вам необходимо пройти авторизацию:

Как удалить phpMyAdmin с Ubuntu

Чтобы удалить phpMyAdmin, необходимо выполнить команду:

sudo apt purge phpmyadmin

После выполнения этой команды программа будет удалена с вашего компьютера.

Выводы

В этой небольшой статье мы рассмотрели, как установить PhpMyAdmin на Ubuntu 20.04. Как видите, всё стало намного проще, чем в предыдущих версиях, когда нам нужно было вручную включать различные модули и настраивать местоположение файлов программы.


Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна.

Оцените статью:

Загрузка…

Как установить phpMyAdmin на Ubuntu 20.04

Это подробная и пошаговая инструкция, как установить и настроить phpMyAdmin. Вам потребуется:

  • Сервер Ubuntu 20.04, который должен иметь пользователя без прав root с правами администратора, а, также, брандмауэр, настроенный с помощью ufw.
  • Стек LAMP (Linux, Apache, MySQL и PHP), установленный на вашем сервере.

Установка phpMyAdmin

Помимо пакета phpmyadmin, официальная документация рекомендует установить несколько расширений PHP для возможности использования определенной функциональности и улучшения производительности, а именно:

  • php-mbstring - модуль для работы со строками, не поддерживающими кодировку ASCII;
  • php-zip – расширение, поддерживающее загрузку файлов . zip;
  • php-gd - поддержка библиотеки GD Graphics;
  • php-json - поддержка сериализации JSON;
  • php-curl – расширение, позволяющее PHP взаимодействовать с разными типами серверов, используя разные протоколы.

Сначала обновите индекс пакетов сервера:

 $ sudo apt update 

Для запуска установки запустите команду:

$ sudo apt install phpmyadmin php-mbstring php-zip php-gd php-json php-curl

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

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

Отключение компоненты Validate Password

Если вы установили MySQL, следуя руководству по установке LAMP, то, скорее всего, вы активировали плагин Validate Password.

Это может вызвать ошибку при попытке задать пароль пользователя phpmyadmin:

Для устранения проблемы выберите опцию «abort», чтобы прервать процесс установки и открыть командную строку MySQL:

$ sudo mysql

Если вы активировали аутентификацию по паролю для пользователя с правами root MySQL, запустите команду:

$ mysql -u root –p

Далее, запустите команду для отключения Validate Password. Важно, что в этом случае выполняется не удаление, а простая остановка загрузки компонента на сервер MySQL:

mysql> UNINSTALL COMPONENT "file://component_validate_password";

После этого клиент MySQL можно закрыть:

mysql> exit

Затем снова установите пакет phpmyadmin:

$ sudo apt install phpmyadmin

Далее, необходимо снова открыть командную строку MySQL с помощью sudo mysql или mysql -u root -p, и запустить команду повторной активации Validate Password:

$ sudo apt install phpmyadmin

В процессе установки будет добавлен файл конфигурации phpMyAdmin в каталог /etc/apache2/conf-enabled. Для завершения настройки работы Apache и PHP с phpMyAdmin выполните инструкцию для активации расширения PHP

mbstring командой:

$ sudo phpenmod mbstring

Перезапустите Apache:

$ sudo systemctl restart apache2

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

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

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

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

$ sudo mysql

ввести команду вывода методов аутентификации для аккаунтов MySQL:

mysql> SELECT user, authentication_string, plugin, host FROM mysql.user;

Результат выполнения команды выглядит примерно так:

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

mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY '1234567890';

Теперь необходимо снова ввести в командной строке:

mysql> SELECT user,authentication_string, plugin, host FROM mysql.user;

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

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

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

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

Войти в MySQL:

$ sudo mysql

Создать нового пользователя с надежным паролем (в данном случае пароль 1234567890 не является надёжным):

mysql> CREATE USER 'newuser'@'localhost' IDENTIFIED WITH caching_sha2_password BY '1234567890';

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

mysql> GRANT ALL PRIVILEGES ON *.* TO 'newuser'@'localhost' WITH GRANT OPTION;

После чего можно выйти из MySQL:

mysql> exit

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

https://my-domain/phpmyadmin или https://my-ipaddress/phpmyadmin

Теперь можно войти в интерфейс phpMyAdmin через пользователя root или с новыми пользователем.

Обеспечение безопасности phpMyAdmin

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

Настройка конфигурационного файла

Для этого нужно сначала активировать перезапись файла .htaccess, изменив файл конфигурации Apache вашей установки phpMyAdmin.

Отредактируйте phpmyadmin.conf, который находится в каталоге конфигурации Apache (я использовал nano):

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

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

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

Добавьте эту строку, сохраните и закройте файл (при использовании nano для редактирования файла, нажмите CTRL + X, Y, а затем ENTER).

Перезапустите Apache:

$ sudo systemctl restart apache2

Создание и настройка .htaccess

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

Файл .htaccess должен находиться в папке приложения. Для этого ннеобходимо создать его и открыть в редакторе с привилегиями root следующей командой:

$ sudo nano /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

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

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

$ sudo htpasswd /etc/phpmyadmin/.htpasswd additionaluser

Теперь, для доступа к phpMyAdmin через web-интерфейс, необходим указать имя учетной записи и пароль:

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

Как установить и настроить phpMyAdmin в Ubuntu 16.04

Введение

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

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

Перед установкой

Перед тем, как мы начнём, убедитесь, что у вас есть всё необходимое.

Прежде всего, мы будем исходить из того, что у вас есть не-рутовый (non-root) пользователь с привилегиями sudo. Настроить такую учётную запись пользователя можно следуя шагам 1-4 в статье о первичной настройке сервера на Ubuntu 16.04.

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

И, наконец, необходимо иметь в виду некоторые вопросы безопасности при использовании phpMyAdmin, поскольку он:

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

По этим причинам, а также потому, что phpMyAdmin является одним из наиболее распространённых и атакуемых PHP приложений, вам не стоит запускать phpMyAdmin на удалённых машинах с простым соединением HTTP. Если у вас ещё нет домена с настроенным SSL/TLS сертификатом, рекомендуем ознакомиться со статьёй Делаем Apache безопаснее с помощью Let’ Encrypt на Ubuntu 16.04.

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

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

Сначала установим phpMyAdmin из репозиториев Ubuntu по умолчанию.

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

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

В процессе установки вам будет задано несколько вопросов по конфигурации.

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

  • При выборе сервера, выберите apache2.
  • Ответьте yes на вопрос, хотите ли вы использовать dbconfig-common для настройки базы данных.
  • У вас будет запрошен пароль администратора базы данных.
  • Далее вам будет предложено ввести и повторить пароль для самого phpMyAdmin.

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

Единственное, что мы должны сделать вручную, так это включить расширения PHP mcrypt и mbstring следующими командами:

  • sudo phpenmod mcrypt
  • sudo phpenmod mbstring

Далее перезапустим Apache для применения изменений:

  • sudo systemctl restart apache2

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

https://доменное_имя_или_IP_адрес/phpmyadmin

Теперь вы можете войти в веб-интерфейс используя имя пользователя root и пароль, заданный в процессе установки MySQL.

После входа вы увидите похожий интерфейс пользователя:

Шаг 2 — Делаем phpMyAdmin безопаснее

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

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

Настройка 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

Теперь, когда мы разрешили использовать .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: Эта строка задаёт тип авторизации. Указанный тип (Basic) означает, что авторизация будет осуществляться на основе пароля и файла пароля.
  • AuthName: Эта строка задаёт текст приветствия в диалоге авторизации. Используйте общие слова и фразы в этой строке, чтобы злоумышленникам было сложнее определить, что за система скрывается за диалогом авторизации.
  • AuthUserFile: Эта строка задаёт адрес файла пароля, который используется для авторизации. Файл должен находиться в недоступной для внешнего мира директории. Чуть далее мы создадим этот файл.
  • Require valid-user: Эта строка означает, что только аутентифицированные пользователи могут осуществлять доступ к защищаемой системе.

После ввода указанных строк, сохраните и закройте файл.

Создание файла пароля .htpasswd для аутентификации

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

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

  • sudo apt-get install apache2-utils

Теперь нам доступна утилита htpasswd.

Указанный нами ранее путь выглядел следующим образом: /etc/phpmyadmin/.htpasswd. Создадим этот файл и добавим в него первого пользователя следующей командой:

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

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

Для добавления нового пользователя выполните следующую команду без флага -c:

  • sudo htpasswd /etc/phpmyadmin/. htpasswd additionaluser

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

https://доменное_имя_или_IP_адрес/phpmyadmin

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

Заключение

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

Не могу открыть phpmyadmin в ubuntu



Я прошел шаг от следующей ссылки успешно.

https://www.ostechnix.com/install-phpmyadmin-with-lamp-stack-on-ubuntu-16-04/

Теперь я пытаюсь открыть phpmyadmin в браузере с помощью этого URL

http://192. 168.1.113/phpmyadmin

Но это так меня ниже заблуждения.

Not Found

The requested URL /phpmyadmin was not found on this server.
Apache/2.4.18 (Ubuntu) Server at 192.168.1.113 Port 80

у меня есть установщик phpmyadmin успешно, а затем после того, как он говорит, что тогда not found я не получаю эту проблему

после этого я так и сделал gksu gedit /etc/apache2/apache2.conf

и добавил строку Include /etc/phpmyadmin/apache.conf в конце файла.

теперь я вижу что-то другое ошибка.

если кто-нибудь может мне помочь, пожалуйста. Заранее спасибо.

php mysql phpmyadmin
Поделиться Источник Pooja Mokariya     12 октября 2017 в 05:18

2 ответа


  • Нечитаемые символы в источниках PhpMyAdmin

    Я устанавливаю PMA 4. 0.7 на Ubuntu 12 : wget http://www.sourceforge.net/projects/phpmyadmin/files/phpMyAdmin/4.0.7/phpMyAdmin-4.0.7-all-languages.tar.bz2 tar -jxf phpMyAdmin-4.0.7-all-languages.tar.bz2 Но не могу открыть его в браузере, Chrome отображает пустую страницу .. с ошибкой в консоли :…

  • Не могу открыть phpMyAdmin (Windows)

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



0

Следуйте этой теме

https://community.linuxmint.com/учебник/просмотр/486

Я попробовал, и все работает правильно на моем компьютере,

Если у вас есть какие-либо проблемы с его исправлением, просто попробуйте удалить то, что вы установили, и следуйте приведенным выше URL.

Поделиться Mohammed Alhanafi     12 октября 2017 в 05:50



0

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

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

apt-get install php php-mysql php-mbstring php-zip

После этого перезагрузите Apache2 и обновите вкладку PHPMyAdmin браузера.

Поделиться jar3d     12 октября 2017 в 06:19


Похожие вопросы:


phpMyAdmin-ошибка / расширение mbstring отсутствует. Пожалуйста, проверьте вашу конфигурацию PHP в Ubuntu 14.04 LTS

Я использую Ubuntu OS 14. 04 LTS. После запуска sudo apt-get dist-upgrade ( запустите эту команду, потому что я не могу загрузить и обновить ее, когда ОС попросит меня ) я не могу снова открыть…


Не могу открыть RStudio на ubuntu

Я скачал RStudio на ubuntu 16.04, и в программном обеспечении он отображается как установленный, но я не могу открыть его, нажав на него. Кроме того, он показывает ошибку, когда я пытаюсь открыть…


Как открыть mysql workbench в браузере, например phpmyadmin?

Я разрабатываю веб-приложение с использованием базы данных Node.js и mysql (workbench). и использование azure сервера (ubuntu виртуальной машины). Я установил mysql-workbench в ubuntu server.and,…


Нечитаемые символы в источниках PhpMyAdmin

Я устанавливаю PMA 4.0.7 на Ubuntu 12 : wget http://www.sourceforge.net/projects/phpmyadmin/files/phpMyAdmin/4.0.7/phpMyAdmin-4.0.7-all-languages.tar.bz2 tar -jxf…


Не могу открыть phpMyAdmin (Windows)

Я скачал XAMPP три дня назад и постоянно получаю эту ошибку при попытке открыть phpmyadmin. phpMyAdmin попытался подключиться к серверу MySQL, но сервер отклонил это соединение. Вы должны проверить…


Как настроить phpMyAdmin на Nginx (Ubuntu 14.04)

Я успешно настроил Nginx в своей системе Ubuntu. А также успешно установили PHP и phpMyAdmin . Но когда я пытаюсь открыть панель входа phpMyAdmin, она возвращает 403 запрещенных Моя конфигурация…


Я не могу открыть окно phpmyadmin

Я установил mysql и mysql сервер 5.7.20. Я могу подключиться к mysql в terminal с помощью mysql -u root -p Я также установил php 7.0.22 Я также установил apache2 2.4.18 и когда я пытаюсь открыть :…


ubuntu 16.04 nginx изменение phpmyadmin url не работает

Ubuntu 16.04.5 LTS Xenial 4.18.8-x86_64-linode117 nginx version: nginx/1.10.3 (Ubuntu) php v7.0.32-0ubuntu0.16.04.1` /etc/nginx/sites-available/default location /phpmyadmin { root /usr/share/; index…


Не удалось найти пакет phpmyadmin на сервере Ubuntu 18. 04

Всякий раз, когда я пытаюсь установить phpmyadmin на свой ubuntu сервер 18.04, я получаю следующие ошибки sudo apt install phpmyadmin php-mbstring php-gettext Reading package lists… Done Building…


Проблема установки phpmyadmin на Ubuntu 14 в среде Goorm IDE

У меня были проблемы с установкой phpmyadmin на ubuntu 14 LTS, поставляемый Goorm IDE VM. По умолчанию VM поставляется с PHP 7.1.3, ubuntu 14. Я попытался установить ppa ondrej и nijel repo без…

Как установить и настроить phpMyAdmin на Ubuntu

Действительно эффективных решений для работы с базами данных немного. В основном активно используется несколько программ и решений. Приложение phpMyAdmin известно тем, что позволяет работать без прямого ввода на языке запросов SQL, обеспечивая простоту и лояльность к начинающему пользователю. Установка phpMyAdmin Ubuntu — тривиальная задача для профессионала. Начинающий же пользователь может столкнуться с некоторыми неожиданностями и спорными моментами.

Как установить и настроить работу phpMyAdmin в среде Ubuntu.

Что представляет собой phpMyAdmin?

phpMyAdmin — это традиционное web-приложение с открытым исходным кодом, которое выпускается под лицензией GNU GPL. То есть каждый желающий может использовать программу для любых целей, а также изменять её код и модифицировать ПО. Приложение позволяет выполнять различные задачи по администрированию СУБД MySQL, команды языка запросов, а также просматривать базы данных. И всё это доступно прямо из браузера!

Программа действительно завоевала немалую популярность. Оно широко используется в различных свободных и коммерческих проектах, а знатоки языка PHP могут свободно встраивать в неё свою функциональность. Сейчас мы коротко рассмотрим, что сделать перед тем, как установить phpMyAdmin на Ubuntu.

Что сделать в первую очередь?

Перед тем как установить phpMyAdmin…

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

Во-вторых, на вашем сервере должен быть настроен LAMP. Это стек из технологий Linux (Ubuntu в том числе), веб-сервера Apache, СУБД MySQL и языка программирования PHP. Без наличия этих технологий продолжать работу нет смысла.

В-третьих, обзаведитесь доменом с сертификатом SSL/TLS. Известно, что установленный на Убунту Сервер phpMyAdmin часто подвергается атакам. Если необходимо обезопасить сервер от угроз — лучше не подключайтесь к нему по незащищённому (HTTP) соединению.

Дальнейшие действия

Для начала установки приложения phpMyAdmin на Ubuntu Server понадобится обновить информацию о пакетах:

«sudo apt-get update»

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

«sudo apt-get install phpMyAdmin php-mbstring php-gettext»

При начальной настройке phpMyAdmin, Ubuntu потребуется узнать дополнительную информацию. Выберите сервер «apache2». На вопрос об использовании «dbconfig-common» ответьте «Да». Потом введите данные администратора, где это будет необходимо. После этого введите и повторите пароль для самой программы.

А сейчас включите расширения PHP. Это нужно будет сделать вручную:

«sudo phpenmod mcrypt
sudo phpenmod mbstring»

Теперь выполните перезагрузку программы Апач. Это позволит применить изменения:

«sudo systemctl restart apache2»

Доступ к интерфейсу программы phpMyAdmin можно будет получить с помощью…:

«https://x/phpMyAdmin»

где «x» — это доменное имя или IP-адрес сервера.  Теперь можно без проблем войти в настроенную программу. Для этого используется стандартное имя — «root», а также пароль, который вы ввели при настройке MySQL. Следующие шаги по настройке приложения phpMyAdmin в ОС Ubuntu понадобятся, если вы хотите сделать работу безопаснее.

Обеспечение безопасности

С помощью дополнительных приёмов можно обеспечить «бонусную» защиту при управлении СУБД через браузер.

.htaccess

Файл .htaccess нужно применять, чтобы обеспечить управление сервером Apache со стороны того, кто им пользуется. Этот файл содержит определённые директивы, которые обязательны для исполнения на всём веб-сервере. Помещать его следует в корневой директории. Он также может располагаться в любом другом месте. Тогда правила, записанные в такой .htaccess, будут иметь более высокий приоритет, хоть и действовать для конкретного расположения.

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

Как включить разрешение на использование?

Перейдите в конфигурацию Apache:

«sudo nano /etc/apache2/conf-available/phpMyAdmin.conf»

Сюда нужно добавить данные следующего вида:

«<Directory /usr/share/phpMyAdmin>
Options FollowSymLinks
DirectoryIndex index.php
AllowOverride All
. . .»

После этого закройте файл, сохранив изменения. Перезапустите Apache командой такого вида:

«sudo systemctl restart apache2».

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

Введите команду:

«sudo nano /usr/share/phpMyAdmin/.htaccess»

Это позволит создать файл «.htaccess» и получить разрешение на его правку. Файл должен содержать информацию. Внесите в него следующие данные:

«AuthType Basic
AuthName «Restricted Files»
AuthUserFile /etc/phpMyAdmin/.htpasswd
Require valid-user»

Не забудьте сохранить файл перед окончанием работы с ним.

Как создать файл пароля?

Ранее мы предложили вам задать путь для файла с паролем. Теперь этот файл нужно создать и отредактировать. Настроенный пароль позволит выполнять аутентификацию в phpMyAdmin из любого места, и не только в Убунту.

Установите пакет поддержки программы «.htpasswd».

«sudo apt-get install apache2-utils»

Создайте файл «. htpasswd» и добавьте в него нового пользователя. Сделать это лучше так:

«sudo htpasswd -c /etc/phpMyAdmin/.htpasswd username»

где «username» — это имя пользователя.

Откат изменений. Как удалить phpMyAdmin?

Если возникла потребность выполнить удаление phpMyAdmin, Ubuntu позволяет сделать следующее:

Удаляем пакеты (только в обратном порядке):

«sudo apt-get purge phpMyAdmin
sudo apt-get purge php5-mysql
sudo apt-get purge php5
sudo apt-get purge mysql-server
sudo apt-get purge apache2»

Производим удаление зависимостей:

«sudo apt-get purge apache2.2-common
sudo apt-get purge apache2-mpm-prefork
sudo apt-get purge libapache2-mod-php5»

Если используется Apache 2, нужно удалить директории:

«/etc/apache2/
/etc/php5/apache2/»

Заключение

Мы разобрались, как выполнить установку и удаление phpMyAdmin, а также выяснили другие полезные детали. Если у вас остались вопросы — смело оставляйте их в комментариях. Посетители и администраторы нашего сайта помогут вам найти решения многих проблем!

Установка phpMyAdmin на Ubuntu 20.04

Установка phpMyAdmin Ubuntu 20.04

Вы можете использовать APT для установки phpMyAdmin из репозиториев Ubuntu по умолчанию.

Обновите индекс пакетов вашего сервера от имени пользователя без прав root с привилегиями sudo:

 

sudo apt-get update

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

php-mbstring: модуль для работы с строками, не поддерживающими кодировку ASCII, и конвертации таких строк в другие кодировки
php-zip: это расширение поддерживает загрузку файлов .zip в phpMyAdmin
php-gd: поддержка библиотеки GD Graphics
php-json: поддержка сериализации JSON для PHP
php-curl: позволяет PHP взаимодействовать с разными типами серверов, используя разные протоколы

Запустите следующую команду для установки этих пакетов в систему. Обратите внимание, что процесс установки требует, чтобы вы ответили на ряд вопросов для корректной настройки phpMyAdmin. 

  

sudo apt-get 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.

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

Для устранения этой проблемы выберите опцию abort для остановки процесса установки. Затем откройте командную строку MySQL: 

sudo mysql

 Либо, если вы активировали аутентификацию по паролю для пользователя с правами root MySQL, запустите эту команду, а затем введите пароль при запросе: 

mysql -u root -p

 Из командной строки запустите следующую команду для отключения компонента Validate Password. Обратите внимание, что в этом случае выполняется не удаление, а простая остановка загрузки компонента на ваш сервер MySQL:  


UNINSTALL COMPONENT "file://component_validate_password";

  После этого вы можете закрыть клиент MySQL: 

exit

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

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

sudo apt-get install phpmyadmin

 После установки phpMyAdmin вы можете открыть командную строку MySQL еще раз с помощью sudo mysql или mysql -u root -p, а затем запустить следующую команду для повторной активации компонента Validate Password: 

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

INSTALL COMPONENT "file://component_validate_password";

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

sudo phpenmod mbstring

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

sudo systemctl restart apache2

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

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

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

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


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

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

sudo 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 действительно использует метод аутентификации с помощью плагина auth_socket. Чтобы настроить для учетной записи 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:

sudo mysql

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


mysql -u root -p

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

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

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

exit

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

https://your_domain_or_IP/phpmyadmin 

 Обеспечение безопасности 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

    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 часто становился объектом использующих уязвимости атак.

 

 

 

Установка 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 [email protected] 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 [email protected]

  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 20.04

Ранняя версия этого руководства была написана Бреннаном Беарнесом.

Введение

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

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

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

Для выполнения этого руководства вам потребуется:

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

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

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

Если у вас нет существующего домена, настроенного с использованием сертификата SSL / TLS, вы можете следовать этому руководству по защите Apache с помощью Let’s Encrypt в Ubuntu 20.04. Для этого вам потребуется зарегистрировать доменное имя, создать записи DNS для вашего сервера и настроить виртуальный хост Apache.

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

Вы можете использовать APT для установки phpMyAdmin из репозиториев Ubuntu по умолчанию.

Как пользователь sudo без полномочий root обновите индекс пакета сервера:

  

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

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

  • php-mbstring : модуль для управления строками, отличными от ASCII, и преобразования строк в различные кодировки
  • php-zip : это расширение поддерживает загрузку файлов . zip файлов в phpMyAdmin
  • php-gd : включает поддержку графической библиотеки GD
  • php-json : Обеспечивает PHP с поддержкой сериализации JSON
  • php-curl : позволяет PHP взаимодействовать с разными типами серверов, используя разные протоколы

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

  
  • sudo apt install phpmyadmin php-mbstring php-zip php-gd php-json php-curl

Вот параметры, которые следует выбрать при появлении запроса, чтобы правильно настроить установку:

  • Для выбора сервера выберите apache2 Предупреждение: Когда появляется приглашение, выделяется «apache2», но не выбран . Если вы не нажмете SPACE , чтобы выбрать Apache, установщик , а не переместит необходимые файлы во время установки. Нажмите SPACE , TAB , а затем ENTER , чтобы выбрать Apache.
  • Выберите Да на вопрос, следует ли использовать dbconfig-common для настройки базы данных
  • Затем вам будет предложено выбрать и подтвердить пароль приложения MySQL для phpMyAdmin
  • .

Примечание : Предполагая, что вы установили MySQL, выполнив шаг 2 обязательного руководства по стеку LAMP, вы, возможно, решили включить подключаемый модуль проверки пароля.На момент написания этой статьи включение этого компонента вызовет ошибку при попытке установить пароль для пользователя phpmyadmin :

Чтобы решить эту проблему, выберите опцию abort , чтобы остановить процесс установки. Затем откройте командную строку MySQL:

  

Или, если вы включили аутентификацию по паролю для пользователя root MySQL, запустите эту команду и затем введите свой пароль при появлении запроса:

  

В командной строке выполните следующую команду, чтобы отключить компонент «Проверить пароль». Обратите внимание, что на самом деле это не приведет к его удалению, а просто остановит загрузку компонента на вашем сервере MySQL:

  
  • УДАЛИТЬ КОМПОНЕНТ "file: // component_validate_password";

После этого вы можете закрыть клиент MySQL:

  

Затем попробуйте снова установить пакет phpmyadmin , и он будет работать должным образом:

  
  • sudo apt установить phpmyadmin

После установки phpMyAdmin вы можете снова открыть приглашение MySQL с помощью sudo mysql или mysql -u root -p , а затем выполнить следующую команду, чтобы повторно включить компонент проверки пароля:

  
  • УСТАНОВИТЬ КОМПОНЕНТ "file: // component_validate_password";

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

  

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

  
  • sudo systemctl перезапустить apache2

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

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

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

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

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

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

  

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

  
  • ВЫБРАТЬ пользователя, строка_ аутентификации, плагин, хост ОТ mysql. user;
  

Выход

+ ------------------ + --------------------- ---------------------- + ----------------------- + --- -------- + | пользователь | authentication_string | плагин | хост | + ------------------ + ------------------------------ ------------- + ----------------------- + ----------- + | корень | | auth_socket | localhost | | mysql.сессия | * ЭТОТ НЕДОСТАТОЧНЫЙ ПАРОЛЬ, ЧТО МОЖЕТ БЫТЬ ЗДЕСЬ | caching_sha2_password | localhost | | mysql.sys | * ЭТОТ НЕДОСТАТОЧНЫЙ ПАРОЛЬ, ЧТО МОЖЕТ БЫТЬ ЗДЕСЬ | caching_sha2_password | localhost | | debian-sys-maint | * 8486437DE5F65ADC4A4B001CA5
B64746D4C | caching_sha2_password | localhost |
| phpmyadmin | * 5FD2B7524254B7F81B32873B1EA6D681503A5CA9 | caching_sha2_password | localhost |
+ ------------------ + ------------------------------ ------------- + ----------------------- + ----------- +
5 рядов в наборе (0.00 сек)
  

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

  
  • ИЗМЕНИТЬ ПОЛЬЗОВАТЕЛЯ 'root' @ 'localhost' ИДЕНТИФИЦИРОВАНО caching_sha2_password ПО 'паролю';

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

Однако некоторые версии PHP не работают надежно с caching_sha2_password . PHP сообщил, что эта проблема была исправлена ​​в PHP 7.4, но если позже вы столкнетесь с ошибкой при попытке входа в phpMyAdmin, вы можете вместо этого установить root для аутентификации с помощью mysql_native_password :

  
  • ALTER USER 'root' @ 'localhost' ИДЕНТИФИЦИРОВАН mysql_native_password ПО 'паролю';

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

  
  • ВЫБЕРИТЕ пользователя, аутентификационную_строку, плагин, хост ИЗ mysql.Пользователь;
  

Выход

+ ------------------ + --------------------- ---------------------- + ----------------------- + --- -------- + | пользователь | authentication_string | плагин | хост | + ------------------ + ------------------------------ ------------- + ----------------------- + ----------- + | корень | * DE06E242B88EFB1FE4B5083587C260BACB2A6158 | caching_sha2_password | localhost | | mysql. session | * ЭТОТ НЕДОСТАТОЧНЫЙ ПАРОЛЬ, ЧТО МОЖЕТ БЫТЬ ЗДЕСЬ | caching_sha2_password | localhost | | mysql.sys | * ЭТОТ НЕДОСТАТОЧНЫЙ ПАРОЛЬ, ЧТО МОЖЕТ БЫТЬ ЗДЕСЬ | caching_sha2_password | localhost | | debian-sys-maint | * 8486437DE5F65ADC4A4B001CA5
B64746D4C | caching_sha2_password | localhost |
| phpmyadmin | * 5FD2B7524254B7F81B32873B1EA6D681503A5CA9 | caching_sha2_password | localhost |
+ ------------------ + ------------------------------ ------------- + ----------------------- + ----------- +
5 рядов в наборе (0,00 сек)
  

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

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

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

  

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

  

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

  
  • СОЗДАТЬ ПОЛЬЗОВАТЕЛЯ 'sammy' @ 'localhost', ИДЕНТИФИЦИРОВАННОГО caching_sha2_password ПО 'паролю';

Примечание : Опять же, в зависимости от того, какую версию PHP вы установили, вы можете настроить своего нового пользователя для аутентификации с помощью mysql_native_password вместо caching_sha2_password :

  
  • ИЗМЕНИТЬ ПОЛЬЗОВАТЕЛЯ 'sammy' @ 'localhost' ИДЕНТИФИЦИРОВАНЫ С mysql_native_password ПО 'паролю';

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

  
  • ПРЕДОСТАВЛЯЙТЕ ВСЕ ПРИВИЛЕГИИ НА *. * 'Sammy' @ 'localhost' С ОПЦИЕЙ ПРЕДОСТАВЛЕНИЯ;

После этого выйдите из оболочки MySQL:

  

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

  https: // ваш_домен_или_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 в раздел файла конфигурации, например:

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

  <Каталог / usr / share / phpmyadmin>
    Параметры SymLinksIfOwnerMatch
    DirectoryIndex index.php
    AllowOverride All
    . . .
  

После добавления этой строки сохраните и закройте файл. Если вы использовали nano для редактирования файла, сделайте это, нажав CTRL + X , Y , а затем ENTER .

Чтобы применить внесенные вами изменения, перезапустите Apache:

  
  • sudo systemctl перезапустить apache2

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

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

  
  • sudo nano / usr / share / phpmyadmin /. htaccess

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

/usr/share/phpmyadmin/.htaccess

  AuthType Basic
AuthName «Файлы с ограниченным доступом»
AuthUserFile /etc/phpmyadmin/.htpasswd
Требовать действительного пользователя
  

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

  • AuthType Basic : В этой строке указывается тип аутентификации, который вы реализуете. Этот тип реализует аутентификацию по паролю с использованием файла паролей.
  • AuthName : устанавливает сообщение для диалогового окна аутентификации. Вы должны сохранить это общее, чтобы неавторизованные пользователи не получали никакой информации о том, что защищается.
  • AuthUserFile : устанавливает расположение файла паролей, который будет использоваться для аутентификации. Это должно быть за пределами обслуживаемых каталогов. Вскоре мы создадим этот файл.
  • Требовать действительного пользователя : это указывает, что только аутентифицированным пользователям должен быть предоставлен доступ к этому ресурсу. Это то, что на самом деле предотвращает проникновение неавторизованных пользователей.

Когда вы закончите, сохраните и закройте файл.

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

  
  • sudo htpasswd -c /etc/phpmyadmin/.htpasswd имя пользователя

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

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

  
  • sudo htpasswd /etc/phpmyadmin/.htpasswd дополнительный пользователь

Затем перезапустите Apache, чтобы активировать аутентификацию . htaccess :

  
  • sudo systemctl перезапустить apache2

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

  https: // имя_домена_или_IP / phpmyadmin
  

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

Заключение

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

Как установить и защитить phpMyAdmin в Ubuntu 18.04

Ранняя версия этого руководства была написана Бреннаном Беарнесом.

Введение

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

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

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

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

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

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

Наконец, есть важные соображения безопасности при использовании программного обеспечения, такого как 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 установить phpmyadmin php-mbstring php-gettext

Это задаст вам несколько вопросов для правильной настройки вашей установки.

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

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

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

  

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

  
  • sudo systemctl перезапустить apache2

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

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

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

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

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

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

  

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

  
  • ВЫБРАТЬ пользователя, строка_ аутентификации, плагин, хост ОТ mysql.user;
  

Выход

+ ------------------ + --------------------- ---------------------- + ----------------------- + --- -------- + | пользователь | authentication_string | плагин | хост | + ------------------ + ------------------------------ ------------- + ----------------------- + ----------- + | корень | | auth_socket | localhost | | mysql.сессия | * ЭТОТ НЕДОСТАТОЧНЫЙ ПАРОЛЬ, ЧТО МОЖЕТ БЫТЬ ЗДЕСЬ | mysql_native_password | localhost | | mysql.sys | * ЭТОТ НЕДОСТАТОЧНЫЙ ПАРОЛЬ, ЧТО МОЖЕТ БЫТЬ ЗДЕСЬ | mysql_native_password | localhost | | debian-sys-maint | * 8486437DE5F65ADC4A4B001CA5
B64746D4C | mysql_native_password | localhost |
| phpmyadmin | * 5FD2B7524254B7F81B32873B1EA6D681503A5CA9 | mysql_native_password | localhost |
+ ------------------ + ------------------------------ ------------- + ----------------------- + ----------- +
5 рядов в наборе (0.00 сек)
  

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

  
  • ALTER USER 'root' @ 'localhost' ИДЕНТИФИЦИРОВАН mysql_native_password ПО 'паролю';

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

  

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

  
  • ВЫБЕРИТЕ пользователя, аутентификационную_строку, плагин, хост ИЗ mysql.Пользователь;
  

Выход

+ ------------------ + --------------------- ---------------------- + ----------------------- + --- -------- + | пользователь | authentication_string | плагин | хост | + ------------------ + ------------------------------ ------------- + ----------------------- + ----------- + | корень | * DE06E242B88EFB1FE4B5083587C260BACB2A6158 | mysql_native_password | localhost | | mysql.session | * ЭТОТ НЕДОСТАТОЧНЫЙ ПАРОЛЬ, ЧТО МОЖЕТ БЫТЬ ЗДЕСЬ | mysql_native_password | localhost | | mysql.sys | * ЭТОТ НЕДОСТАТОЧНЫЙ ПАРОЛЬ, ЧТО МОЖЕТ БЫТЬ ЗДЕСЬ | mysql_native_password | localhost | | debian-sys-maint | * 8486437DE5F65ADC4A4B001CA5
B64746D4C | mysql_native_password | localhost |
| phpmyadmin | * 5FD2B7524254B7F81B32873B1EA6D681503A5CA9 | mysql_native_password | localhost |
+ ------------------ + ------------------------------ ------------- + ----------------------- + ----------- +
5 рядов в наборе (0,00 сек)
  

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

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

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

  

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

  

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

  
  • СОЗДАТЬ ПОЛЬЗОВАТЕЛЯ 'sammy' @ 'localhost', ОПРЕДЕЛЕННЫЙ 'паролем';

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

  
  • ПРЕДОСТАВЛЯТЬ ВСЕ ПРИВИЛЕГИИ *.* TO 'sammy' @ 'localhost' С ОПЦИЕЙ GRANT;

После этого выйдите из оболочки MySQL:

  

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

  http: // ваш_домен_или_IP / phpmyadmin
  

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

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

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

Шаг 3. Защита экземпляра phpMyAdmin

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

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

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

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

Добавьте директиву AllowOverride All в раздел файла конфигурации, например:

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

  <Каталог / usr / share / phpmyadmin>
    Параметры FollowSymLinks
    DirectoryIndex индекс.php
    AllowOverride All
    . . .
  

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

Чтобы применить внесенные вами изменения, перезапустите Apache:

  
  • sudo systemctl перезапустить apache2

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

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

  
  • sudo nano /usr/share/phpmyadmin/.htaccess

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

/usr/share/phpmyadmin/.htaccess

  AuthType Basic
AuthName «Файлы с ограниченным доступом»
AuthUserFile /etc/phpmyadmin/.htpasswd
Требовать действительного пользователя
  

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

  • AuthType Basic : В этой строке указывается тип аутентификации, который вы реализуете.Этот тип реализует аутентификацию по паролю с использованием файла паролей.
  • AuthName : устанавливает сообщение для диалогового окна аутентификации. Вы должны сохранить это общее, чтобы неавторизованные пользователи не получали никакой информации о том, что защищается.
  • AuthUserFile : устанавливает расположение файла паролей, который будет использоваться для аутентификации. Это должно быть за пределами обслуживаемых каталогов. Вскоре мы создадим этот файл.
  • Требовать действительного пользователя : это указывает, что только аутентифицированным пользователям должен быть предоставлен доступ к этому ресурсу. Это то, что на самом деле предотвращает проникновение неавторизованных пользователей.

Когда вы закончите, сохраните и закройте файл.

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

  
  • sudo htpasswd -c / etc / phpmyadmin /.htpasswd имя пользователя

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

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

  
  • sudo htpasswd /etc/phpmyadmin/.htpasswd дополнительный пользователь

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

  https: // имя_домена_или_IP / phpmyadmin
  

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

Заключение

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

Установите phpMyAdmin на Ubuntu за 4 шага!

Работа с базой данных иногда может быть пугающей, но PhpMyAdmin может упростить задачи, предоставив панель управления для просмотра или редактирования базы данных MySQL или MariaDB.В этом кратком руководстве мы покажем вам, как установить PhpMyAdmin на сервер Ubuntu VPS.

Шаг 1: Обновите инструмент пакета apt , чтобы убедиться, что мы работаем с последними и лучшими.

Шаг 2: Установите PhpMyAdmin и расширения PHP для управления строками, отличными от ASCII, и необходимыми инструментами.

apt install phpmyadmin php-mbstring php-gettext

Во время этой установки вам будет предложено выбрать веб-сервер, мы выберем Apache2 и выберем ENTER .

На этом этапе у вас есть возможность автоматической настройки или создания базы данных вручную. Для нас мы выполним автоматическую установку, нажав ENTER для ответа «Да».

При этой настройке вам будет предложено установить пароль PhpMyAdmin. Специально для пользователя PhpMyAdmin, phpmyadmin , вам нужно сохранить это в безопасном месте для дальнейшего использования.

Шаг 3: Включите расширение PHP.

Примечание

Если у вас несколько доменов на одном сервере, вам нужно настроить / etc / apache2 / apache2.conf , чтобы PhpMyAdmin работал. vim /etc/apache2/apache2.conf Добавить: Включить /etc/phpmyadmin/apache.conf

Шаг 4: Перезапустите службу Apache, чтобы распознать изменения, внесенные в систему.

systemctl restart apache2

Шаг 5: Проверьте установку PhpMyAdmin, перейдя по адресу http: // ip / phpmyadmin (имя пользователя phpmyadmin ).

По-прежнему возникают проблемы с установкой? Наши серверы Liquid Web имеют круглосуточную техническую поддержку.Вы можете сразу же отправить нам заявку по адресу [email protected], позвонить нам по телефону 800-580-4985 или начать чат с нами, чтобы поговорить с одним из наших администраторов поддержки уровня 3 или консультантом по решениям сегодня!

Как установить phpMyAdmin в Ubuntu 20.04 - TecAdmin

phpMyadmin - лучший веб-клиент для доступа к серверам MySQL. Его можно бесплатно загрузить и установить на ваш сервер. Вы можете разместить это на любом сервере, работающем с Apache и PHP.

phpMyAdmin написан на PHP.Текущая версия phpMyAdmin совместима с PHP 7.1 и новее и MySQL 5.5 или MariaDB 5.5 или новее.

Это руководство поможет вам установить и настроить phpMyAdmin в системе Ubuntu 20.04 Linux.

Шаг 1. Установите Apache и PHP

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

  sudo apt install apache2 wget unzip 
  sudo apt установить php php-zip php-json php-mbstring php-mysql 
 

После завершения установки включите и запустите веб-сервер Apache.

  sudo systemctl включить apache2 
  sudo systemctl start apache2 
 

Шаг 2 - Установите phpMyAdmin в Ubuntu 20.04

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

Ваша система готова к установке phpMyAdmin. Загрузите последний архив phpMyAdmin с официальной страницы загрузки или используйте приведенные ниже команды для загрузки phpMyAdmin 5.1.1 в вашей системе.

После загрузки распакуйте архив и переместите в нужное место.

  wget https://files.phpmyadmin.net/phpMyAdmin/5.1.1/phpMyAdmin-5.1.1-all-languages.zip 
  разархивировать phpMyAdmin-5.1.1-all-languages.zip 
  mv phpMyAdmin-5.1.1-все языки / usr / share / phpmyadmin 
 

Затем создайте каталог tmp и установите соответствующие разрешения.

  mkdir / usr / share / phpmyadmin / tmp 
  chown -R www-data: www-data / usr / share / phpmyadmin 
  chmod 777 / usr / share / phpmyadmin / tmp 
 

Шаг 3. Настройка phpMyAdmin

Теперь вам нужно настроить веб-сервер для обслуживания phpMyAdmin в сети.Создайте файл конфигурации Apache для phpMyAdmin и отредактируйте в текстовом редакторе:

  sudo vi /etc/apache/conf-available/phpmyadmin.conf 
 

добавьте в файл приведенное ниже содержимое.

Псевдоним / phpmyadmin / usr / share / phpmyadmin Псевдоним / phpMyAdmin / usr / share / phpmyadmin <Каталог / usr / share / phpmyadmin /> AddDefaultCharset UTF-8 Требовать все предоставлено <Каталог / usr / share / phpmyadmin / setup /> Требовать все предоставлено

1

2

3

4

5

6

7

8

9

10

11

11

11

15

16

17

18

19

Псевдоним / phpmyadmin / usr / share / phpmyadmin

Псевдоним / phpMyAdmin / usr / share / phpmyadmin / phpmyadmin

/>

AddDefaultCharset UTF-8

Требовать всех предоставленных

o 9000 mod_authz_core.c>

Требовать всех предоставленных

Сохраните файл.Нажмите клавишу ESC , чтобы перейти к дополнительным командам. Затем введите : (двоеточие) и введите w после двоеточия и нажмите , введите .

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

  sudo a2enconf phpmyadmin 
  sudo systemctl перезапустить apache2 
 

Шаг 4 - Настройка брандмауэра D

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

  sudo firewall-cmd --permanent --add-service = http 
  sudo firewall-cmd - перезагрузить 
 

Шаг 5 - Доступ к phpMyAdmin

Все готово. Вы завершили настройку с помощью phpMyAdmin в системе Ubuntu Linux. Теперь войдите в phpMyAdmin с IP-адресом сервера или доменным именем.

 http: // ваш-сервер-ip-домен / phpmyadmin
 

Замените your-server-ip-domain на localhost (для локальных машин) или системный IP-адрес для удаленных машин.Я обновил наш DNS и указал dbhost.tecadmin.net на IP-адрес сервера.

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

Заключение

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

Как установить phpMyAdmin в Ubuntu 20.04

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

В этом руководстве вы узнаете, как установить phpMyAdmin и как защитить его доступ в Linux Ubuntu 20.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 | * 8486437DE5F65ADC4A4B001CA5
B64746D4C | 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 | * 8486437DE5F65ADC4A4B001CA5
B64746D4C | 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 Все  

После добавления директивы 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 20.04

PhpMyAdmin - это бесплатный веб-инструмент с открытым исходным кодом для управления базами данных MySQL и MariaDB. Он написан на PHP, поддерживает 72+ языка. Он разработан для тех, кто не может взаимодействовать с MySQL через интерфейс командной строки. PhpMyAdmin позволяет выполнять несколько операций с базой данных, включая создание, копирование, переименование, изменение и удаление баз данных, обслуживание таблиц, добавление, редактирование и удаление полей, просмотр баз данных и таблиц, экспорт данных в SQL, CSV, XML, Word, Excel. , PDF и LaTeX, управлять пользователями и привилегиями MySQL, выполнять любые SQL-запросы и многое другое.

В этом посте мы покажем вам, как установить и защитить PhpMyAdmin в Ubuntu 20.04.


# Требования

  • Сервер под управлением Ubuntu 20.04.
  • На вашем сервере установлен пароль root.

# Установить базу данных MariaDB

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

  apt-get install mariadb-server  

После установки MariaDB запустите службу MariaDB и разрешите ей запускаться при перезагрузке системы:

  systemctl start mariadb
systemctl включить mariadb  

# Установить PhpMyAdmin

По умолчанию пакет PhpMyAdmin включен в Ubuntu 20.04 репозиторий по умолчанию. Вы можете установить его, используя следующую команду:

  apt-get install phpmyadmin  

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

Выберите apache2 в качестве веб-сервера и нажмите кнопку ОК. Вам будет предложено настроить базу данных для phpMyAdmin с помощью dbconfig-common, как показано ниже:

Выберите Да и нажмите Enter. Вам будет предложено установить пароль для пользователя phpmyadmin в MariaDB, как показано ниже:

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

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

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

  MySQL  

После подключения проверьте права с помощью следующей команды:

  MariaDB [(none)]> показать гранты для phpmyadmin @ localhost;  

Вы должны получить следующий результат:

  + ----------------------------------------------- -------------------------------------------------- ------------------ +
| Гранты для phpmyadmin @ localhost |
+ ------------------------------------------------- -------------------------------------------------- ---------------- +
| ПРЕДОСТАВЛЯЙТЕ ИСПОЛЬЗОВАНИЕ *.* ДЛЯ `phpmyadmin` @` localhost`, ОПРЕДЕЛЕННОГО ПАРОЛЕМ '* 89FA6EAF8B6264AC8D6E847552505A3EAEE' |
| ПРЕДОСТАВЛЯЙТЕ ВСЕ ПРИВИЛЕГИИ ДЛЯ `phpmyadmin`. *` Phpmyadmin` @ `localhost` |
+ ------------------------------------------------- -------------------------------------------------- ---------------- +
2 ряда в комплекте (0,000 сек)  

Затем выйдите из MariaDB с помощью следующей команды:

  MariaDB [(нет)]> выход;  

# Доступ к phpMyAdmin

Теперь откройте свой веб-браузер и войдите в веб-интерфейс phpMyAdmin, используя URL-адрес http: // your-server-ip / phpmyadmin.Вы будете перенаправлены на страницу входа phpMyAdmin:

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


# Безопасный phpMyAdmin

Если вы работаете в реальной производственной среде, безопасность очень важна. В этом разделе мы покажем вам, как защитить phpMyAdmin.


# Отключить вход в систему с правами root

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

Вы можете отключить вход в систему root, отредактировав файл config.inc.php:

  нано /etc/phpmyadmin/config.inc.php  

Добавьте следующую строку в раздел аутентификации:

  / * Тип аутентификации * /
$ cfg ['Серверы'] [$ i] ['AllowRoot'] = 'ложь';  

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

  systemctl перезапустить apache2  

# Разрешить с определенного IP-адреса

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

Чтобы разрешить phpMyAdmin с определенного IP-адреса, отредактируйте файл phpmyadmin.conf:

  нано /etc/apache2/conf-enabled/phpmyadmin.conf  

Добавьте следующую строку ниже "DirectoryIndex index.php":

  Требовать ip specific_ip_address  

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

  systemctl перезапустить apache2  

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


# Защита паролем веб-интерфейса phpMyAdmin

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

Сначала создайте пользователя и пароль для аутентификации с помощью следующей команды:

  htpasswd -c /etc/phpmyadmin/.htpasswd myadmin  

Вам будет предложено установить пароль, как показано ниже:

  Новый пароль:
Введите повторно новый пароль:
Добавление пароля для пользователя myadmin  

Приведенная выше команда создаст пользователя с именем myadmin, установит пароль и сохранит все данные в файле / etc / phpmyadmin /.htpasswd.

Затем отредактируйте основной файл конфигурации phpMyAdmin:

  нано /etc/apache2/conf-enabled/phpmyadmin.conf  

Добавьте следующие строки под строкой «DirectoryIndex index.php»:

  AllowOverride Нет
AuthType Basic
AuthName «Требуется аутентификация»
AuthUserFile /etc/phpmyadmin/.htpasswd
Требовать действительного пользователя  

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

  systemctl перезапустить apache2  

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

Введите свое имя пользователя и пароль и нажмите кнопку «Войти». Чтобы получить доступ к интерфейсу phpMyAdmin.


# Заключение

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

Как установить phpMyAdmin в Ubuntu Linux с Apache

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

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

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

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

Как установить Apache в Ubuntu Linux

phpMyAdmin нуждается в веб-сервере для работы, а Apache HTTP Server - отличный сервер с открытым исходным кодом, который вы можете использовать с phpMyAdmin.

Чтобы установить Apache на сервер Ubuntu, выполните следующие команды.

 sudo apt update
sudo apt установить apache2 

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

 sudo systemctl stop apache2.service
sudo systemctl start apache2.service
sudo systemctl включить apache2.service 

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

 http: // localhost 

Если вы видите страницу, похожую на предыдущую, Apache установлен и работает.

Как установить MariaDB в Ubuntu Linux

phpMyAdmin - это инструмент для управления серверами баз данных.Для нашего сервера базы данных мы собираемся установить MariaDB. phpMyAdmin также должен работать с сервером базы данных MySQL, но мы собираемся установить его здесь.

Чтобы установить MariaDB, выполните следующие команды.

 sudo apt установить mariadb-server
sudo apt установить mariadb-client 

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

 sudo systemctl stop mariadb.service
sudo systemctl start mariadb.услуга
sudo systemctl включить mariadb.service 

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

 Судо mysql_secure_installation 

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

 Если вы только что установили MariaDB и еще не установили пароль root, вам нужно просто нажать здесь Enter.

Введите текущий пароль для root (введите его, если нет): НАЖМИТЕ ВВОД

Переключиться на аутентификацию unix_socket [Y / n] n

Изменить пароль root? [Да / Нет] Нет

Удалить анонимных пользователей? [Д / Н] г

Запретить удаленный вход root? [Д / Н] г

Удалить тестовую базу данных и получить к ней доступ? [Д / Н] г

Перезагрузить таблицы привилегий сейчас? [Д / Н] г

Все сделано! 

Чтобы убедиться, что MariaDB установлен и запущен, выполните следующие команды.

Как создать пользователя phpMyAdmin для MariaDB

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

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

Это может вызвать проблемы с некоторыми приложениями, которым необходимо подключаться к базе данных через root.Чтобы исправить это, вам нужно изменить механизм аутентификации по умолчанию с auth_socket на mysql_native_password .

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

Поскольку вы не хотите подключаться к серверу базы данных MariaDB из phpMyAdmin как пользователь root, вам, вероятно, следует создать отдельную учетную запись вместо соединения с пользователем root.

Выполните следующие команды, чтобы войти на сервер MariaDB.

 судо mysql -u корень -p 

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

 СОЗДАТЬ ПОЛЬЗОВАТЕЛЯ 'phpmyadmin' @ 'localhost' ИДЕНТИФИЦИРОВАНО 'very_strong_password_here'; 

Затем предоставьте пользователю полный доступ для управления сервером базы данных.

 ПРЕДОСТАВЛЯЙТЕ ВСЕ ПРИВИЛЕГИИ НА *. * 'Phpmyadmin' @ 'localhost' С ОПЦИЕЙ GRANT; 

Как установить PHP в Ubuntu Linux

PHP требуется для phpMyAdmin.Пакеты PHP добавляются в репозитории Ubuntu. Однако версии в репозиториях могут быть не самыми последними. Если вам нужно установить последние версии, вам нужно будет добавить сторонний репозиторий PPA.

Чтобы перейти в сторонний репозиторий с последними версиями PHP, выполните следующие команды.

 sudo apt-get install software-properties-common
sudo add-apt-репозиторий ppa: ondrej / php 

На момент написания последней версии PHP 8.0.

 sudo apt update 

Затем выполните приведенные ниже команды, чтобы установить PHP 8.0 и связанные с ним модули.

 sudo apt install php8.0 php8.0-common php8.0-mysql php8.0-gmp php8.0-curl php8.0-intl php8.0-mbstring php8.0-xmlrpc php8.0-gd php8.0 -xml php8.0-cli php8.0-zip 

Как установить phpMyAdmin в Ubuntu Linux

Теперь, когда установлены Apache и PHP, последним шагом является установка и настройка phpMyAdmin. Для этого выполните команды ниже

 sudo apt установить phpmyadmin 

Когда будет предложено выбрать веб-сервер, выберите apache2 и продолжите.

 + ------------------------ + Настройка phpmyadmin + -------------------- ---- +
| Выберите веб-сервер, который должен быть автоматически настроен на |
| Веб-сервер для автоматической перенастройки: |
| |
| [*] apache2 |
| [] lighttpd |
|  |
 + ------------------------------------------------- ------------------------ + 

Когда снова будет предложено разрешить debconfig-common установить базу данных и настроить, выберите Да и нажмите ENTER.

Затем введите и подтвердите пароль.

 + ------------------------ + Настройка phpmyadmin + -------------------- ----- +
 | |
 | В пакете phpmyadmin должна быть установлена ​​и настроена база данных |
 | прежде, чем его можно будет использовать. При желании с этим можно справиться с помощью |
 | dbconfig-common. |
 | |
 | Если вы опытный администратор базы данных и знаете, что хотите |
 | выполните эту настройку вручную, или если в вашей базе данных уже есть |
 | были установлены и настроены, от этой опции следует отказаться.Подробности |
 | о том, что необходимо сделать, скорее всего, следует указать в |
 | / usr / share / doc / phpmyadmin. |
 | |
 | В противном случае вам, вероятно, следует выбрать этот вариант. |
 | |
 | Настроить базу данных для phpmyadmin с помощью dbconfig-common? |
 | |
 | <Да> <Нет> |
 | |
 + ------------------------------------------------- -------------------------- +
 

После установки phpMyAdmin откройте свой веб-браузер и перейдите к имени хоста сервера или IP-адресу, за которым следует / phpmyadmin .

 http: // локальный / phpmyadmin 

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

Вот и все!

Если вы выполнили описанные выше действия, но это не помогло, попробуйте следующее:

 Судо Нано /etc/apache2/apache2.conf 

Затем добавьте следующую строку в конец файла.

Включить /etc/phpmyadmin/apache.conf

Затем перезапустите apache

 sudo systemctl перезапустить apache2 

Заключение:

Этот пост показал вам, как установить phpMyAdmin в Ubuntu Linux.Если вы обнаружите какую-либо ошибку выше или вам есть что добавить, воспользуйтесь формой для комментариев ниже.

.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *