Меню Рубрики

Установка phpmyadmin linux debian

Установка 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/:

sudo mv phpMyAdmin-4.9.0.1-all-languages /usr/share/phpmyadmin

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

sudo chown -R www-data:www-data /usr/share/phpmyadmin

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

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

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

CREATE DATABASE phpmyadmin DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

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

GRANT ALL ON phpmyadmin.* TO ‘phpmyadmin’@’localhost’ IDENTIFIED BY ‘vash_parol’;

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

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

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

sudo apt install php-imagick php-phpseclib php-php-gettext php7.3-common php7.3-gd php7.3-imap php7.3-json php7.3-curl php7.3-zip php7.3-xml php7.3-mbstring php7.3-bz2 php7.3-intl php7.3-gmp

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

sudo systemctl restart apache2

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

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

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

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

# phpMyAdmin default Apache configuration
Alias /phpmyadmin /usr/share/phpmyadmin

Options SymLinksIfOwnerMatch
DirectoryIndex index.php

AddType application/x-httpd-php .php
pen_basedir /usr/share/phpmyadmin/:/etc/phpmyadmin/:/var/lib/phpmyadmin/:/usr/share/php/php-gettext/:/usr/share/php/php-php-gettext/:/usr/share/javascript/:/usr/share/php/tcpdf/:/usr/share/doc/phpmyadmin/:/usr/share/php/phpseclib/
php_admin_value mbstring.func_overload 0

# Disallow web access to directories that don’t need it

Require all denied

Require all denied

Require all denied

SetHandler application/x-httpd-php

php_value include_path .
php_admin_value upload_tmp_dir /var/lib/phpmyadmin/tmp
php_admin_value open_basedir /usr/share/phpmyadmin/:/etc/phpmyadmin/:/var/lib/phpmyadmin/:/usr/share/php/php-gettext/:/usr/share/php/php-php-gettext/:/usr/share/javascript/:/usr/share/php/tcpdf/:/usr/share/doc/phpmyadmin/:/usr/share/php/phpseclib/
php_admin_value mbstring.func_overload 0

AddType application/x-httpd-php .php

SetHandler application/x-httpd-php
pen_basedir /usr/share/phpmyadmin/:/etc/phpmyadmin/:/var/lib/phpmyadmin/:/usr/share/php/php-gettext/:/usr/share/php/php-php-gettext/:/usr/share/javascript/:/usr/share/php/tcpdf/:/usr/share/doc/phpmyadmin/:/usr/share/php/phpseclib/
php_admin_value mbstring.func_overload 0

# Disallow web access to directories that don’t need it

Require all denied

Require all denied

Require all denied

php_value include_path .
php_admin_value upload_tmp_dir /var/lib/phpmyadmin/tmp
php_admin_value open_basedir /usr/share/phpmyadmin/:/etc/phpmyadmin/:/var/lib/phpmyadmin/:/usr/share/php/php-gettext/:/usr/share/php/php-php-gettext/:/usr/share/javascript/:/usr/share/php/tcpdf/:/usr/share/doc/phpmyadmin/:/usr/share/php/phpseclib/
php_admin_value mbstring.func_overload 0

# Disallow web access to directories that don’t need it

Require all denied

Require all denied

Require all denied

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

sudo a2enconf phpmyadmin.conf

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

sudo mkdir -p /var/lib/phpmyadmin/tmp
sudo chown www-data:www-data /var/lib/phpmyadmin/tmp

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

sudo systemctl reload apache2

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

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

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

Читайте также:  Установка блокировки дифференциала на уаз буханка

sudo iptables -I INPUT -p tcp —dport 80 -j ACCEPT
sudo iptables -I INPUT -p tcp —dport 443 -j ACCEPT

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

sudo ufw allow http
sudo ufw allow https

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

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

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

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

sudo vi /usr/share/phpmyadmin/config.inc.php

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

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

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

#1698 — Access denied for user ‘root ‘@’localhost’

mysqli_real_connect(): (HY000/1698): Access denied for user ‘root ‘@’localhost’

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

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

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

CREATE USER admin@localhost IDENTIFIED BY ‘новый_пароль’;

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

GRANT ALL PRIVILEGES *.* TO admin@localhost WITH GRANT OPTION;

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

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

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

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

The phpMyAdmin configuration storage is not completely configured, some extended features have been deactivated. Find out why.
Or alternately go to ‘Operations’ tab of any database to set it up there.

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

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

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

sudo htpasswd -c /etc/apache2/htpasswd admin

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

sudo vi /etc/apache2/sites-available/phpmyadmin-le-ssl.conf

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

# Authorize for setup

AuthType Basic
AuthName «phpMyAdmin Setup»
AuthUserFile /etc/apache2/htpasswd

Require valid-user

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

sudo systemctl reload apache2

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

Выводы

В этой статье мы разобрали как выполняется установка Phpmyadmin Debian 10 Buster вручную. Эту же инструкцию вы можете использовать и для других дистрибутивов.

источник

Установка и настройка PHPMyAdmin на Debian 9

Управление базами данных и СУБД используя стандартные инструменты, является достаточно неудобным занятием, поэтому администраторами СУБД и разработчиками используются сторонние средства администрирования и разработки, например использующие web-интерфейс.

Phpmyadmin — это веб-интерфейс для администрирования MySQL, написанный на PHP.

Для установки PhpMyAdmin на системах, использующих пакетный менеджер apt достаточно выполнить следующие действия:

1. Обновляем базу пакетов apt используя команду apt-get update

2. Далее ищем этот пакет в базе данных apt командой

3. Устанавливаем этот пакет командой apt-get install. При этом apt предложить доставить (предварительно поставить) компоненты, наличия которых требует данный пакет (зависимости). В данном случае это весть стек LAMP (Apache, MySQL и PHP). Также дополнительно, если он не настроен ранее можно поставить и mysql-server.

apt-get install phpmyadmin mysql-server

4. В процессе установки будет предложено его (PHPMyAdmin) сконфигурировать. На этом этапе необходимо указать какой из web-серверов будет использоваться — Apache или LightHTTPD. Выберем, например Apache, так как он наиболее распространенный из этих двух web-серверов и нажмем OК.

Читайте также:  Установка компакт электро 250

5. После этого продолжится настройка и установка компонентов. Далее система настоятельно порекомендует создать базу данных для PHPMy Admin. Если вы сделали это заранее, то нажмите No. Имейте ввиду, что в этом случае Вам необходимо будет выполнить всю работу по настройке PhpMyAdmin вручную. В нашем же случае позволим систему сделать всю работу за нас и нажмем Yes.

6. Далее система попросит нас ввести пароль пользователя phpmyadmin для этой базы. Этот же пароль будет использоваться для доступа в web-интерфейс. Если оставить это поле пустым то система сама сгенерирует пароль. Если Вы сами вводите пароль, то его необходимо подтвердить.

7. Далее система спросит пароль Администратора СУБД если он установлен (обычно это root) и после его ввода пойдет устанавливаться. На этом установка закончена.

Работоспособность, если стандартный порт TCP3306 не закрыт firewall, можно проверить просто набрав в браузере http:// /phpmyadmin — должна открыться консоль входа в которую можно зайти пользователем phpmyadmin и паролем заданным на шаге 6. После успешного входа Вы попадете в PhpMyAdmin который выглядит примерно так:

источник

Предложение от 8host.com

Установка и защита phpMyAdmin в Debian 9

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

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

Требования

  • Сервер Debian 9,настроенный по этому мануалу (с пользователем sudo и настроенным ufw).
  • Стек LAMP (его можно установить с помощью этого мануала).
  • Сертификат Let’s Encrypt для Apache 9. Его можно бесплатно получить с помощью мануала Создание сертификата Let’s Encrypt для Apache в Debian 9.

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

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

По этим причинам (а также из-за своей популярности и распространённости) данное приложение PHP часто подвергается атакам злоумышленников. Потому ни при каких обстоятельствах его нельзя запускать в удалённой системе по HTTP-соединению. Без SSL/TLS-сертификата для веб-сервера Apache использовать phpMyAdmin очень опасно.

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

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

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

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

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

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

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

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

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

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

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

sudo systemctl restart apache2

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

2: Настройка аутентификации и привилегий

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

В новых установках в Debian root-пользователь MariaDB по умолчанию поддерживает аутентификацию с помощью плагина unix_socket, а не с помощью пароля. Это позволяет во многих случаях обеспечить большую безопасность и удобство, но это также может усложнить работу, например, когда вам необходимо с помощью этого пользователя дать внешней программе (как phpMyAdmin) права администратора. Поскольку сервер использует учетную запись root для таких задач, как ротация логов, запуск и остановка сервера и т.п., лучше не менять ее метод аутентификации. Поскольку phpMyAdmin требует от пользователей парольной аутентификации, вам необходимо создать новую учетную запись MariaDB для доступа к интерфейсу.

Читайте также:  Установки для зарезки бокового ствола

Если вы следовали мануалу по установке стека LAMP и создали учетную запись пользователя MariaDB, как описано в разделе 2, вы можете просто войти в phpMyAdmin под этой учетной записью, используя пароль, который вы создали при настройке.

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

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

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

CREATE USER ‘8host’@’localhost’ IDENTIFIED BY ‘password’;

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

GRANT ALL PRIVILEGES ON *.* TO ‘8host’@’localhost’ WITH GRANT OPTION;

Закройте оболочку MariaDB:

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

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

3: Защита phpMyAdmin

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

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

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

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

В раздел нужно добавить параметр AllowOverride All:

Options FollowSymLinks
DirectoryIndex index.php
AllowOverride All
. . .

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

sudo systemctl restart apache2

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

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

sudo nano /usr/share/phpmyadmin/.htaccess

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

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

  • AuthType Basic задает тип авторизации; в данном случае используется аутентификация по паролю с помощью файла паролей .htpasswd.
  • AuthName содержит текст сообщения диалогового окна аутентификации. Чтобы неавторизованные пользователи не могли получить дополнительной информации о закрытом приложении, это сообщение не должно содержать подробностей, а только общие данные.
  • AuthUserFile задает расположение файла паролей htpasswd, который будет использоваться для авторизации. Он должен находиться вне обслуживаемых каталогов. Такой файл будет создан позже.
  • Require valid-user указывает, что доступ к этому ресурсу могут получить только авторизованные пользователи. Именно этот параметр защищает ресурс от неавторизованных пользователей.

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

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

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

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

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

sudo htpasswd /etc/phpmyadmin/.htpasswd additionaluser

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

https://domain_name_or_IP/phpmyadmin
The server http://111.111.11.111:22 requires a username and password. The server says: Restricted Files.
User Name:
Password:

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

Заключение

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

источник

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

Adblock
detector