Repeater-zone.ru

ПК Репитер
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

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

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

В этом руководстве описывается, как установить phpMyAdmin с Nginx в Ubuntu 18.04.

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

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

How to install Apache on Ubuntu Linux

phpMyAdmin needs a web server to function, and Apache HTTP Server is a great open source server that you can use with phpMyAdmin.

To install Apache on Ubuntu server, run the commands below.

After installing Apache, the commands below can be used to stop , start and enable Apache services to always start up with the server boots.

To find out if Apache is installed and running, simply open your web browser and type in the server’s IP or hostname.

apache2 test page

If you see similar page as above, Apache is installed and functioning.

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

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

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

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

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

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

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

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

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

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

Окно входа в phpMyAdmin

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

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

Интерфейс пользователя в phpMyAdmin

Настройка phpMyAdmin

По умолчанию phpMyAdmin не позволяет входить без пароля. Если вы не установили пароль для СУБД MySQL, то у вас на выбор две опции:

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

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

Если вам нужно подробное описание и перевод всех шагов, то смотрите его в этой статье.

Если вы хотите разрешить входить в phpMyAdmin без пароля, то откройте файл

Найдите вторую (их там две) строку

и раскомментируйте её (уберите два слеша из начала строки), чтобы получилось:

Скорее всего, при подключении вас ждёт сюрприз в виде ошибки «#1698 — Access denied for user 'root'@'localhost'». Пошаговые действия для её решения в этой инструкции.

Предпосылки

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

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

Читать еще:  Как включить режим инкогнито в Mozilla Firefox

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

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

Общается напрямую с вашей установкой MySQL

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

Выполняет и возвращает результаты для произвольных запросов SQL

По этим причинам, а также потому, что это широко распространенное PHP-приложение, которое часто предназначено для атак, вы никогда не должны запускать phpMyAdmin в удаленных системах через обычное HTTP-соединение. Если у вас нет существующего домена, настроенного с использованием сертификата SSL / TLS, вы можете следовать этому руководству наsecuring Apache with Let’s Encrypt on Ubuntu 18.04. Это потребует от васregister a domain name,create DNS records for your server иset up an Apache Virtual Host.

Когда вы закончите с этими шагами, вы готовы начать работу с этим руководством.

[[step-1 -—- install-phpmyadmin]] == Шаг 1. Установка phpMyAdmin

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

Это делается путем обновления индекса пакета вашего сервера и последующего использования системы упаковки apt для извлечения файлов и их установки в вашей системе:

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

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

Для выбора сервера выберите apache2

Выберите Yes , когда вас спросят, использовать ли dbconfig-common для настройки базы данных.

Затем вас попросят выбрать и подтвердить пароль приложения MySQL для phpMyAdmin.

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

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

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

[[step-2 -—- adjusting-user-authentication-and-privileges]] == Шаг 2 — Настройка аутентификации и привилегий пользователя

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

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

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

Читать еще:  Как на компьютере включить блютуз за 1 минуту?

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

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

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

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

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

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

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

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

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

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

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

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

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

phpMyAdmin login screen

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

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

phpMyAdmin user interface

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

[[step-3 -—- securing-your-phpmyadmin-instance]] == Шаг 3. Защита вашего экземпляра phpMyAdmin

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

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

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

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

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

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

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

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

Читать еще:  Как включить блютуз на ноутбуке Асер

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

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

AuthType Basic : в этой строке указывается тип аутентификации, который вы применяете. Этот тип будет реализовывать аутентификацию по паролю с использованием файла пароля.

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

AuthUserFile : задает расположение файла паролей, который будет использоваться для аутентификации. Это должно быть за пределами каталогов, которые обслуживаются. Мы создадим этот файл в ближайшее время.

Require valid-user : указывает, что только аутентифицированные пользователи должны иметь доступ к этому ресурсу. Это то, что на самом деле мешает неавторизованным пользователям войти.

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

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

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

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

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

phpMyAdmin apache password

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

Откат изменений. Как удалить 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, нужно удалить директории:

Особенности предоставления доступа к виртуальному хосту

Если для каталога phpmyadmin, в котором находятся исполняемые файлы приложения phpMyAdmin установлено разрешение на исполнение для всех остальных пользователей в системе, а не только для владельца и/или группы. То Apache будет без проблем с ним работать. Ведь по-умолчанию Apache работает от пользователя www-data но не от пользователя-владельца виртуального хоста phpmyadmin. Если же разрешение на исполнение для каталога phpmyadmin отнять у остальных пользователей (к которым и относится www-data), то Apache уже не сможет получить к нему доступ. О чём и сердито сообщит:

Особенности доступа к виртуальным хостам необходимо учитывать. И настраивать права доступа в соответствии с регламентом по обеспечению безопасности системы. Для подобных случаев даже предусмотрены специальные модули Apahe. Реализующие запуск отдельных экземпляров процесса Apache от имени разных пользователей-владельцев виртуальных хостов. Одним из таких модулей является mpm-itk. Это оптимальное решение, которое обеспечивает максимальную безопасность наряду с оптимальной производительностью веб-сервера. К тому же избавляет администраторов от скрупулёзной настройки. Поскольку данный модуль очень простой для интеграции и конфигурирования.

голоса
Рейтинг статьи
Ссылка на основную публикацию
ВсеИнструменты
Adblock
detector