Phpmyadmin linux debian 10

Содержание
  1. Установка phpmyadmin в Debian 10
  2. Установка phpmyadmin в Debian 10
  3. Шаг 1: Загрузите phpMyAdmin
  4. Шаг 2: Создайте базу данных и пользователя
  5. Шаг 3: Установите модули PHP
  6. Шаг 4. Настройка Apache
  7. Шаг 5: Запустите скрипт установки
  8. Шаг 6: Создайте администратора
  9. Шаг 7: Настройте хранилище настроек
  10. Шаг 8: Ограничение доступа к каталогу /setup
  11. Записки IT специалиста
  12. Установка phpMyAdmin в Debian 10
  13. Настройка Apache 2 для работы с phpMyAdmin
  14. Настройка NGINX для работы с phpMyAdmin
  15. Установка и защита phpMyAdmin на Nginx сервере в Debian
  16. Подготовка к установке
  17. Добавление репозиториев для Debian 10
  18. Процесс установки phpMyAdmin
  19. Веб-интерфейс
  20. Настройка базы данных
  21. Создание пароля пользователя
  22. Настройка Nginx
  23. Редактирование конфигурационных файлов PHP
  24. Проверка работы PhpMyAdmin
  25. Выполнение входа в PhpMyAdmin
  26. Ограничение доступа для входа пользователю root
  27. Установка второго шлюза аутентификации
  28. Настройка нового уровня аутентификации

Установка phpmyadmin в Debian 10

Из этой инструкции вы узнаете, как установить phpmyadmin Debian 10 с Apache, MariaDB, PHP (стек LAMP). phpMyAdmin — это бесплатный веб-инструмент для управления базами данных с открытым исходным кодом, написанный на PHP. Он предоставляет удобный интерфейс, для управления базой данных MySQL или MariaDB.

Также мы узнаем, как включить базовую аутентификацию веб сервера для phpMyAdmin. Для начала, вам потребуется ОС Debian 10, работающая на вашем локальном компьютере или на удаленном сервере.

Установка phpmyadmin в Debian 10

Предполагаю, что вы уже установили стек LAMP в Debian. Если нет, ознакомьтесь с соответствующей инструкцией.

Обратите внимание, что вам нужно иметь права root при установке программного обеспечения в Debian. Вы можете добавить sudo в начале команды или использовать команду su — для переключения на пользователя root. С этим разобрались, теперь давайте начнем установку phpMyAdmin.

Шаг 1: Загрузите phpMyAdmin

PhpMyAdmin не включен в репозиторий программного обеспечения Debian 10, поэтому мы должны загрузить его с phpmyadmin.net с помощью следующей команды.

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

И извлеките его:

Переместите phpMyadmin 4.9 в каталог /usr/share/:

Затем сделайте пользователя веб-сервера (www-data) владельцем этой директории.

Шаг 2: Создайте базу данных и пользователя

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

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

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

Обновите таблицу привилегий и выйдите из консоли MariaDB.

Шаг 3: Установите модули PHP

Выполните следующую команду, чтобы установить модули PHP, необходимые или рекомендованные phpMyAdmin:

Затем перезапустите Apache:

Шаг 4. Настройка Apache

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

Вставьте следующий текст в файл:

Сохраните и закройте файл. Затем включите этот фрагмент конфигурации:

Нам также нужно создать временную папку phpMyAdmin:

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

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

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

Если соединение отклонено или не удалось установить, возможно, существует межсетевой экран, предотвращающий запросы HTTP. Если вы используете брандмауэр iptables, вам нужно выполнить следующую команду, чтобы открыть TCP-порты 80 и 443.

Если вы используете брандмауэр UFW, выполните эту команду, чтобы открыть порты TCP 80 и 443:

Шаг 5: Запустите скрипт установки

Введите следующее в адресной строке браузера:

Нажмите кнопку Новый сервер, чтобы настроить сервер. Далее просто нажмите на кнопку Apply. Затем нажмите кнопку Display, чтобы отобразить файл конфигурации.

В каталоге /usr/share/phpmyadmin/ создайте файл config.inc.php:

Скопируйте содержимое файла config.inc.php со страницы установки phpMyAdmin и вставьте его в файл /usr/share/phpmyadmin/config.inc.php.

Шаг 6: Создайте администратора

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

Если вы войдете в систему с пользователем phpmyadmin, вы не увидите вышеупомянутую ошибку. Однако пользователь phpmyadmin может использоваться только для управления базой данных phpmyadmin. Причиной ошибки является то, что по умолчанию пользователь root MariaDB проходит проверку подлинности с помощью плагина unix_socket, а не с помощью плагина mysql_native_password. Чтобы решить эту проблему, мы можем создать другого пользователя-администратора и предоставить все привилегии новому пользователю-администратору.

Войдите на сервер MariaDB из командной строки.

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

Предоставьте все привилегии для всех баз данных.

Сбросьте привилегии и выйдите;

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

Читайте также:  Основной диск mac os

Шаг 7: Настройте хранилище настроек

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

Нажмите на ссылку Find out why. Затем нажмите Create, чтобы создать таблицы в базе данных phpmyadmin.

Шаг 8: Ограничение доступа к каталогу /setup

Чтобы ограничить доступ к каталогу /setup, мы можем включить базовую аутентификацию по паролю с веб-сервером Apache. Выполните следующую команду, чтобы установить пароль для пользователя admin. Файл /etc/apache2/htpasswd используется для хранения имен пользователей и паролей.

Затем отредактируйте файл конфигурации Apache для phpMyAdmin

Добавьте следующие строки.

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

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

Источник

Записки IT специалиста

Технический блог специалистов ООО»Интерфейс»

  • Главная
  • Установка phpMyAdmin в Debian 10

Установка phpMyAdmin в Debian 10

phpMyAdmin давно стал де-факто стандартным инструментом для управления базами данных MySQL, поэтому в Debian 10 многих ждало неприятное открытие — данный пакет был исключен из репозитория. Но не стоит отчаиваться, phpMyAdmin — это обычное PHP-приложение, такое же как движок сайта и не составит никакого труда установить его самостоятельно. Более того, таким образом вы получите самую последнюю версию продукта от разработчиков. Также вы можете воспользоваться данной инструкцией и для иных дистрибутивов, в случае если хотите иметь актуальную версию утилиты.

Важно! Если вы хотите использовать данную инструкцию в среде отличной от Debian 10 и у вас уже установлена версия из репозитория, то перед тем, как приступать к описанным ниже действиям ее следует удалить.

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

Затем создадим необходимые директории:

И установим нужного владельца:

Перейдем в домашнюю директорию и скачаем архив с официального сайта:

В нашем случае это версия 5.0.2, если вы хотите скачать иную версию — просто поменяйте цифры в ссылке, структура URL остается неизменной.

Распакуем архив сразу в целевую директорию:

Ключ —strip-components 1 предписывает не создавать вложенную папку первого уровня.

Изменим рабочую директорию и скопируем файл настроек из шаблона:

Затем откроем файл config.inc.php на редактирование. Первым делом найдем директиву blowfish_secret и установим для нее парольную фразу длинной 32 символа:

Затем раскомментируем блок User used to manipulate with storage и в опции controlpass установим пароль для служебного пользователя pma:

Еще ниже полностью раскомментируем секцию Storage database and tables:

А после нее добавим следующую опцию:

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

В нашем случае это русский, посмотреть доступные языки и их коды можно в директории /usr/share/phpmyadmin/locale.

Теперь создадим пользователя СУБД и назначим ему необходимые права, для начала войдем в консоль MySQL (MariaDB):

и выполним там следующие команды:

Обратите внимание, что в опции IDENTIFIED BY мы должны указать тот же пароль, который был задан в controlpass конфигурационного файла.

Сбросим кеш привилегий и выйдем из консоли:

После чего создадим служебную базу данных и произведем ее начальное заполнение:

На этом установка phpMyAdmin закончена. В целях безопасности удалим служебную директорию setup:

Далее мы рассмотрим подключение утилиты к популярным веб-серверам.

Настройка Apache 2 для работы с phpMyAdmin

Создадим файл конфигурации Apache:

И внесем в него следующие директивы:

Сохраним файл и подключим конфигурацию:

Проверим конфигурацию Apache на ошибки:

И перезапустим веб-сервер:

Теперь можно набрать в браузере http://example.com/phpmyadmin, и вы попадете в интерфейс утилиты (где вместо example.com — адрес вашего сайта):

Настройка NGINX для работы с phpMyAdmin

Будем считать, что у вас уже установлен NGINX и PHP-FPM по нашей инструкции, в противном случае вам потребуется откорректировать пути в соответствии с собственными настройками.

Создадим новый шаблон:

И внесем в него следующий текст:

Сохраним его и подключим к нужным сайтам добавим в конце их конфигурационных файлов директиву:

Проверим правильность конфигурации NGINX:

И перезапустим службы:

Затем точно также наберем http://example.com/phpmyadmin и убедимся в работоспособности утилиты:

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

Помогла статья? Поддержи автора и новые статьи будут выходить чаще:

Или подпишись на наш Телеграм-канал:

Источник

Установка и защита phpMyAdmin на Nginx сервере в Debian

Содержание:

PhpMyAdmin – это инструмент управления базами данных для MySQL, который поставляется с веб-интерфейсом. В данном руководстве будет рассмотрена установка phpMyAdmin на сервер с популярной ОС Debian 10, а также некоторые способы защиты приложения.

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

Перед развертыванием самой программы следует соблюсти ряд условий. Главное из них — уже должен быть установлен программный пакет, включающий в себя стек LEMP (Linux, Nginx, MySQL и PHP).

Если эти компоненты установлены не полностью, в терминале следует выполнить команду:

Читайте также:  Не реагирует поиск windows 10

По завершении установки будет отображен следующий результат:

Примечание. Установка веб-сервера и phpMyAdmin для Debian 9 производится теми же командами.

Так как phpMyAdmin использует учетные данные MySQL для защиты аутентификации, настоятельно рекомендуется установить сертификат SSL/TLS. Он даст возможность наладить передачу зашифрованного трафика между клиентом и сервером.

Добавление репозиториев для Debian 10

В официальных репозиториях Debian 10 отсутствует большинство программ, в число которых входит PhpMyAdmin.

Чтобы добавить источники для загрузки PhpMyAdmin, нужно открыть файл, содержащий списки репозиториев – «sources.list», и внести строки, отвечающие за добавление адреса (URL) до сервера.

Открыть «sources.list» в редакторе можно командой:

Нужно внести следующие строки в конец файла:

Остаётся сохранить изменения нажатием «Ctrl+X» + «Y» + «Enter».

Процесс установки phpMyAdmin

Веб-интерфейс

Первое, что следует сделать – установить веб-интерфейс phpMyAdmin на Nginx-сервер. Установка выполняется с использованием репозиториев. Следовательно, сначала нужно обновить базу пакетов командой в терминале:

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

В процессе установки инсталлятор предложит указать, какой веб-сервер потребуется настраивать автоматически — Apache или Lighthttp. В данном случае, планируется установка на сервер Nginx, поэтому выбор делать не нужно. Чтобы пропустить этот вопрос, следует нажать клавишу «Tab», а затем подтвердить выбор кнопкой «ОК».

Настройка базы данных

Далее мастер установки предложит задействовать « dbconfig-common» , чтобы настроить базу данных приложения. Здесь следует выбрать «Да». Это позволит настроить внутреннюю базу данных и пользователя с привилегиями администратора для phpMyAdmin.

Создание пароля пользователя

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

Остается подождать, пока установятся необходимые пакеты ПО.

Настройка Nginx

Чтобы PhpMyAdmin стал доступен по назначенному пользователем адресу и получил доступ к Unix-сокету PHP-FPM, нужно отредактировать конфигурационные файлы сервера Nginx.

Для начала нужно узнать информацию об установленной версии PHP. Она понадобится в следующих действиях при составлении команд. Узнать информацию о установленной версии можно, выполнив команду:

В последующий действиях потребуется использовать две цифры из установленной версии PHP.

Примечание. В примерах будет использоваться версия 7.0 .

Теперь нужно открыть конфигурационный файл Nginx в редакторе (по умолчанию — «/etc/nginx/sites-available/default»). Для этого в терминал требуется ввести следующую команду:

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

Теперь нужно найти в начале файла директиву «server <» и перенести следующий код:

  • « server_name » – директива, отвечающая за местоположение хоста. Вместо « 194.61.0.6 » нужно подставить действительный домен или IP-адресс сервера.
  • «location / pma < » – от значения « pma » зависит будущий адрес PhpMyAdmin (http://my-IP/pma/). Рекомендуется изменить « pma » на уникальное имя, чтобы скрыть PhpMyAdmin и избежать атак ботов, подбирающих пароль методом брутфорса (перебор паролей).
  • « fastcgi_pass unix: /run/php/php 7.0 -fpm.sock ; » – путь до Unix сокета PHP-FPM. Название файла зависит от установленной версии PHP, поэтому на место 7.0 требуется подставить свою версию программы. В противном случае возможна ошибка 502 при запуске PhpMyAdmin.

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

Остаётся сохранить изменения и закрыть файл. Для этого нужно нажать «Ctrl+X» + «Y» и подтвердить сохранение нажатием «Enter».

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

Получение следующего вывода сигнализирует о правильности внесенных корректив в конфигурационный файл.

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

Редактирование конфигурационных файлов PHP

Чтобы защита PhpMyAdmin оставалась на должном уровне, нужно добавить параметр «open_basedir», ограничивающий доступ к каталогам «/usr/share/phpmyadmin» и «/usr/share/php/php-gettext». Для этого требуется открыть конфигурационный файл пула PHP-FPM в текстовом редакторе Nano:

При составлении команды « 7.0 » нужно изменить на установленную версию PHP.

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

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

Остается перезапустить Nginx и PHP-FPM для применения параметров. Для этого в терминале вводится команда:

Проверка работы PhpMyAdmin

Установка phpMyAdmin завершается проверкой доступа к интерфейсу. Для этого нужно перейти по IP-адресу веб-сервера, добавив в адресной строке имя, указанное в директиве « location». По умолчанию используется «/pma»:

В случае успеха откроется окно входа PhpMyAdmin. При появлении ошибок 404, 403, 502 придётся повторно проверить файлы конфигурации и наличие всех компонентов комплекса LEMP.

Выполнение входа в PhpMyAdmin

PhpMyAdmin для защиты аутентификации использует данные пользователей MySQL. Для входа придется указать логин и пароль, используемые для подключения к консоли БД (MySQL, MariaDB).

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

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

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

Читайте также:  Кто разработчик windows phone

Вместо « phpadmin » нужно подставить собственный логин, а в поле « mypassword » ввести пароль для создаваемой учетной записи.

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

Важно! Никогда не стоит открывать phpMyAdmin как root-пользователь MySQL . Это значительно снижает безопасность. Ниже будет рассмотрен способ отключения возможности входа как root.

Ограничение доступа для входа пользователю root

Суперпользователь в MySQL, как и в Linux – это пользователь, обладающий правами администратора и неограниченным доступом ко всей базе данных. Вдобавок к этому, root является достаточно популярным логином и боты используют его чуть ли не чаще всего в процессе применения bruteforce.

Чтобы исключить подобный риск, phpMyAdmin необходимо сконфигурировать так, чтобы даже с правильными данными для входа под root пользователем панель управления выдавала ошибку «Доступ запрещен» и закрыла доступ к своему интерфейсу.

В процессе установки использовался пакет «dbconfig-common», отвечающий за настройку и сохранение опций phpMyAdmin. Следовательно, стандартная конфигурация сейчас находится в БД. Следует создать файл « config.inc.php» , в котором будут храниться собственные настройки пользователя.

Хотя все PHP-файлы для работы phpMyAdmin расположены в «/usr/share/phpmyadmin» (или уже измененной директории), система пользуется конфигурационными файлами из « /etc/phpmyadmin» . Так что новый файл создается в « /etc/phpmyadmin/conf.d» и имеет название « pma_secure.php» :

В создаваемом файле следует вставить предложенный ниже код, который позволит отключить вход без пароля (напротив AllowNoPassword указано false) и под суперпользователем (напротив AllowRoot стоит такое же значение):

После этого можно сохранить файл. Если для его создания использовался редактор Nano, это делается поочередным нажатием «CTRL + X», затем «Y» для подтверждения изменений и «ENTER». Можно перезагрузить страницу авторизации и попробовать залогиниться как пользователь root. Отобразится сообщение об ошибке с запретом доступа:

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

Установка второго шлюза аутентификации

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

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

Поэтому стоит защитить PhpMyAdmin, добавив еще один уровень авторизации, открывающий доступ к окну входа в веб-интерфейс. Если это не сделать, у злоумышленников остается возможность применить bruteforce для попытки авторизоваться.

В большей части веб-серверов повышение безопасности таким способом доступно из коробки.

Настройка нового уровня аутентификации

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

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

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

Приступим к созданию самого файла. Для примера, его можно назвать «pma_pass» и расположить в папке с конфигурационным файлом Nginx:

Здесь потребуется вписать строку с именем пользователя, используемого для аутентификации. За ним ставится двоеточие и добавляется сгенерированный пароль с помощью « openssl passwd» . Назовем нашего пользователя «admin», следовательно, результат должен выглядеть таким образом:

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

Здесь понадобится найти блок «server» и секцию «location». В данном примере указанное местоположение phpMyAdmin относительно корня сети – « /pma» :

Для запуска второго шлюза аутентификации нужно внести под секцию «location» следующие строки:

  • auth_basic – позволяет задать сообщение, отображаемое в приглашении пройти аутентификацию;
  • auth_basic_user_file – указывает на созданный только что файл.

Измененная секция в итоге должна выглядеть таким образом:

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

Если все правильно, вывод будет следующего вида:

Остается перезапустить Nginx для применения параметров:

Можно попытаться снова открыть веб-адрес phpMyAdmin. Однако, в этом случае браузер сделает запрос на ввод логина и пароля, сохраненных в « pma_pass » :

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

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

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

Следующим действием настоятельно рекомендуется установить сертификат SSL/TLS. Он даст возможность наладить передачу зашифрованного трафика между клиентом и сервером.

Начни экономить на хостинге сейчас — 14 дней бесплатно!

Источник

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