Установка и защита phpmyadmin на nginx сервере в ubuntu
Содержание:
- Настройка phpmyadmin
- Столбец с восстановлением MySQL
- Installing PhpMyAdmin
- Step 1 — Installing phpMyAdmin
- Prerequisites
- Шаг 1 — Установка phpMyAdmin
- 4: Настройка шлюза авторизации Nginx
- Prerequisites
- Step One — Install phpMyAdmin
- Install phpMyAdmin
- 5 последних уроков рубрики «PHP»
- Увеличьте размер файла импорта phpMyAdmin
- Обновление старой версии
- Предварительные требования
- Шаг 2 — Настройка аутентификации и прав пользователя
- Step 1 — Installing phpMyAdmin
- Linked-tables infrastructure (Инфраструктура связанных таблиц)
Настройка phpmyadmin
Пхпадмин готов к работе сразу после установки, дополнительные настройки не обазательны. Приведу полезный пример при использовании — ограничение доступа к phpmyadmin средствами веб-сервера. Для использования панели необходимо будет не только знать имя учетной записи mysql, но и пользователя и пароль для доступа непосредственно к панели.
Рассмотрим сначала пример с веб сервером apache. Будем использовать стандартное средство для ограничения доступа к каталогу с помощью .htaccees. Создадим такой файл в папке со скриптами phpmyadmin:
# mcedit /usr/share/phpMyAdmin/.htaccess
AuthName "Enter Password" AuthType Basic Require valid-user AuthUserFile "/usr/share/phpMyAdmin/.htpasswd"
Теперь создадим файл с авторизационными данными:
# htpasswd -bc /usr/share/phpMyAdmin/.htpasswd user password
user | имя пользователя |
password | пароль |
Чтобы авторизация заработала, необходимо в файле /etc/httpd/conf.d/phpMyAdmin.conf в разделе Directory добавить параметр AllowOverride, чтобы получилось вот так:
<Directory /usr/share/phpMyAdmin/> AddDefaultCharset UTF-8 Require all granted AllowOverride All </Directory>
Перезапускаем апач и проверяем настройку. При обращении по адресу веб панели, должно выскочить окошко с авторизацией:
Проделаем то же самое на nginx. Так же создаем файл с паролем .htaccess:
# htpasswd -bc /usr/share/phpMyAdmin/.htpasswd user password
Если у вас на сервере не установлен httpd, то скорее всего вы увидите ошибку:
-bash: htpasswd: command not found
Необходимой утилиты нет в системе. Установим htpasswd на centos:
# yum install -y httpd-tools
Снова создаем файл с паролем:
# htpasswd -bc /usr/share/phpMyAdmin/.htpasswd user1 password Adding password for user user1
Отредактируем конфигурационный файл nginx, добавив в секцию server {} новый location:
location /phpmyadmin/ { auth_basic "Enter password"; auth_basic_user_file /usr/share/phpMyAdmin/.htpasswd; }
Сохраняете конфиг, перезапускаете nginx и проверяете доступ к странице. Должно выскочить такое же, как и с apache, окно авторизации.
Рассмотрим еще несколько полезных настроек phpmyadmin. После входа в панель, в разделе Настройки вы увидите сообщение:
Ваши настройки будут сохранены только для текущей сессии. Для постоянного хранения требуется подключение модуля хранения настроек phpMyAdmin.
Подключим необходимый модуль для сохранения настроек. Модуль это громко сказано, нам всего лишь необходимо создать отдельную базу данных для хранения настроек и активации некоторых расширенных возможностей. Файл для создания базы данных хранится в директории phpmyadmin по адресу /usr/share/phpMyAdmin/sql/create_tables.sql. Копируем содержимое этого файла и выполняем его тут же, в phpmyadmin в разделе SQL:
Теперь можно идти в настройки и изменять их. Я обычно отключаю проверку новой версии. Они выходят достаточно часто, обновлять мне все равно их лень, поэтому информация о новых версиях мне не нужна. Так же отключаю логотип, можно загрузить свой. Сами полистайте настройки, посмотрите, что вам интересно. Все пункты неплохо задокументированы, можно почитать за что отвечают. Иногда бывает полезно вывести отдельный столбец в списке таблиц с информацией по дате создания и обновления. Это настраивается в разеделе Настройки -> Основная панель -> Структура базы данных.
Если вы хотите подключиться к удаленному mysql серверу с помощью phpmyadmin, воспользуйтесь скриптом настройки подключения по адресу http://ip-адрес-сервера/phpmyadmin/setup/.
Столбец с восстановлением MySQL
После операции с базой данных MySQL с помощью PHPMyAdmin, например, сложных поисковых запросов, которые не принесли никакого результата и не разбились, может случиться так, что база данных больше не доступна.
На этом этапе при попытке открыть таблицу содержимое не отображается. Ошибка позади этого, скорее всего, таблица MySQL помечена как разбитая и должна быть восстановлена.
Хорошей новостью является то, что она скорее всего может быть решена в клиенте PHPMyAdmin довольно быстро и без потери данных. Быстро в зависимости от размера базы данных.
Первый шаг — проверить журналы MySQL, файл mysql_error.log — в XAMPP, журнал ошибок MySQL доступен через панель управления, в MySQL> Журналы> mysql_error.log
Таблица MySQL помечена как разбитая и должна быть восстановлена
Ошибка может выглядеть следующим образом: показывается, что таблица отмечена как сбой:
MySQL отмечен как разбитый и должен быть восстановлен
Решение отличается в зависимости от используемого механизма хранения базы данных, InnoDB или MyISAM. См. Ниже решение для обоих из них, которое отличается.
Выполнение таблицы исправления PHPMyAdmin для MyISAM, скорее всего, будет работать с использованием параметра PHPMyAdmin repair crashed table в графическом интерфейсе пользователя.
Способ восстановления таблицы InnoDB в MySQL будет заключаться в том, чтобы снова экспортировать, удалить и импортировать базу данных.
Однако, оба могут быть достигнуты с помощью PHPMyAdmin, и он решит, что таблица отмечена как разбитая и должна быть устранена.
Installing PhpMyAdmin
Step 1: Install PhpMyAdmin
First, you’ll follow a simple best practice: ensuring the list of available packages is up to date before installing anything new.
Then it’s a matter of just running one command for installation via apt-get:
Step 2: Basic Configuration
As the installation runs you’ll be asked a few simple questions regarding the basic configuration of PhpMyAdmin.
At the first screen, select apache2 by using the space bar, then hit enter to continue.
At the second screen, which asks “configure the database for PhpMyAdmin with dbconfig-common?”, select Yes, then hit enter to continue.
In this third screen enter your administrative password this is also the MySQL root (admin) user password, hit enter to continue.
Finally, at the fourth screen set the password you’ll use to log into PhpMyAdmin, hit enter to continue, and confirm your password.
Step 3: Finish the Configuration of Apache
For a refresher on editing files with vim see: New User Tutorial: Overview of the Vim Text Editor
Add the following to the bottom of the file:
Then exit and save the file with the command :wq.
Restart Apache 2 with the following command:
Verify that PhpMyAdmin is working by visiting the_IP_of_your_server/PhpMyAdmin. For example http://127.0.0.1/phpmyadmin
Note
By default, the username is PhpMyAdmin and the password will be the one set in the very last screen of Step 2.
Step 1 — Installing phpMyAdmin
You can use APT to install phpMyAdmin from the default Ubuntu repositories.
As your non-root sudo user, update your server’s package index:
Following that you can install the package. Along with this package, the official documentation also recommends that you install a few PHP extensions onto your server to enable certain functionalities and improve performance.
If you followed the prerequisite LAMP stack tutorial, several of these modules will have been installed along with the package. However, it’s recommended that you also install these packages:
- : A module for managing non-ASCII strings and convert strings to different encodings
- : This extension supports uploading files to phpMyAdmin
- : Enables support for the GD Graphics Library
- : Provides PHP with support for JSON serialization
- : Allows PHP to interact with different kinds of servers using different protocols
Run the following command to install these packages onto your system. Please note, though, that the installation process requires you to make some choices to configure phpMyAdmin correctly. We’ll walk through these options shortly:
Here are the options you should choose when prompted in order to configure your installation correctly:
-
For the server selection, choose
Warning: When the prompt appears, “apache2” is highlighted, but not selected. If you do not hit to select Apache, the installer will not move the necessary files during installation. Hit , , and then to select Apache.
- Select when asked whether to use to set up the database
- You will then be asked to choose and confirm a MySQL application password for phpMyAdmin
Note: Assuming you installed MySQL by following , you may have decided to enable the Validate Password plugin. As of this writing, enabling this component will trigger an error when you attempt to set a password for the phpmyadmin user:
To resolve this, select the abort option to stop the installation process. Then, open up your MySQL prompt:
Or, if you enabled password authentication for the root MySQL user, run this command and then enter your password when prompted:
From the prompt, run the following command to disable the Validate Password component. Note that this won’t actually uninstall it, but just stop the component from being loaded on your MySQL server:
Following that, you can close the MySQL client:
Then try installing the package again and it will work as expected:
Once phpMyAdmin is installed, you can open the MySQL prompt once again with or and then run the following command to re-enable the Validate Password component:
The installation process adds the phpMyAdmin Apache configuration file into the directory, where it is read automatically. To finish configuring Apache and PHP to work with phpMyAdmin, the only remaining task in this section of the tutorial is to is explicitly enable the PHP extension, which you can do by typing:
Afterwards, restart Apache for your changes to be recognized:
phpMyAdmin is now installed and configured to work with Apache. However, before you can log in and begin interacting with your MySQL databases, you will need to ensure that your MySQL users have the privileges required for interacting with the program.
Prerequisites
In order to complete this guide, you will need:
- An Ubuntu 20.04 server. This server should have a non-root user with administrative privileges and a firewall configured with . To set this up, follow our initial server setup guide for Ubuntu 20.04.
- A LAMP (Linux, Apache, MySQL, and PHP) stack installed on your Ubuntu 20.04 server. If this is not completed yet, you can follow this guide on installing a LAMP stack on Ubuntu 20.04.
Additionally, there are important security considerations when using software like phpMyAdmin, since it:
- Communicates directly with your MySQL installation
- Handles authentication using MySQL credentials
- Executes and returns results for arbitrary SQL queries
For these reasons, and because it is a widely-deployed PHP application which is frequently targeted for attack, you should never run phpMyAdmin on remote systems over a plain HTTP connection.
If you do not have an existing domain configured with an SSL/TLS certificate, you can follow this guide on securing Apache with Let’s Encrypt on Ubuntu 20.04. This will require you to register a domain name, create DNS records for your server, and .
Шаг 1 — Установка phpMyAdmin
Вы можете использовать APT для установки phpMyAdmin из репозиториев Ubuntu по умолчанию.
Обновите индекс пакетов вашего сервера от имени пользователя без прав root с привилегиями sudo:
После этого вы можете установить пакет . Помимо этого пакета, официальная документация также рекомендует установить несколько расширений PHP на ваш сервер для возможности использования определенной функциональности и улучшения производительности.
Если вы выполнили предварительное требования руководства для стека LAMP, ряд из этих модулей уже был установлен вместе с пакетом . Однако рекомендуется также установить следующие пакеты:
- : модуль для работы с строками, не поддерживающими кодировку ASCII, и конвертации таких строк в другие кодировки
- : это расширение поддерживает загрузку файлов в phpMyAdmin
- : поддержка библиотеки GD Graphics
- : поддержка сериализации JSON для PHP
- : позволяет PHP взаимодействовать с разными типами серверов, используя разные протоколы
Запустите следующую команду для установки этих пакетов в систему
Обратите внимание, что процесс установки требует, чтобы вы ответили на ряд вопросов для корректной настройки phpMyAdmin. Мы кратко пробежимся по этим параметрам:
Здесь представлены параметры, которые вы должны выбрать при запросе для корректной настройки вашей установки:
-
Для выбора сервера вы можете выбрать
Предупреждение. При появлении запроса вариант «apache2» выделен, но не выбран. Если вы не нажмете для выбора Apache, установщик не будет перемещать необходимые файлы при установке. Нажмите , затем , а потом для выбора Apache. - Выберите при ответе на вопрос о том, необходимо ли использовать для настройки базы данных.
- Затем вам будет предложено выбрать и подтвердить пароль приложения MySQL для phpMyAdmin
Примечание. Если вы установили MySQL, следуя указаниям , вы, возможно, активировали плагин Validate Password. На момент написания этого руководства активация этого компонента будет вызывать ошибку при попытке задать пароль пользователя phpmyadmin:
Для устранения этой проблемы выберите опцию abort для остановки процесса установки. Затем откройте командную строку MySQL:
Либо, если вы активировали аутентификацию по паролю для пользователя с правами root MySQL, запустите эту команду, а затем введите пароль при запросе:
Из командной строки запустите следующую команду для отключения компонента Validate Password
Обратите внимание, что в этом случае выполняется не удаление, а простая остановка загрузки компонента на ваш сервер MySQL:. После этого вы можете закрыть клиент MySQL:
После этого вы можете закрыть клиент MySQL:
Затем попробуйте еще раз установить пакет , после чего все будет работать ожидаемым образом:
После установки phpMyAdmin вы можете открыть командную строку MySQL еще раз с помощью или , а затем запустить следующую команду для повторной активации компонента Validate Password:
В процессе установки будет добавлен файл конфигурации phpMyAdmin в каталог , где он будет считываться автоматически. Для завершения настройки Apache и PHP для работы с phpMyAdmin выполните последнюю оставшуюся задачу этого раздела руководства и явно активируйте расширение PHP с помощью следующей команды:
Перезапустите Apache для вступления изменений в силу.
Теперь phpMyAdmin установлен и настроен для работы с Apache. Однако, прежде чем вы сможете войти и начать взаимодействие с базами данных MySQL, вам нужно убедиться, что у пользователей MySQL есть права, необходимые для взаимодействия с программой.
4: Настройка шлюза авторизации Nginx
Изменение стандартного расположения установки phpMyAdmin может сбить с толку некоторых автоматизированных ботов, сканирующих сеть, но при целевых атаках это не поможет. Чтобы лучше защитить веб-приложение, нужно ограничить доступ к самой форме входа – тогда злоумышленникам будет сложно добраться до приложения и они не смогут использовать общие эксплойты и brute-force атаки, чтобы угадать учетные данные и получить доступ.
Конкретно в случае phpMyAdmin держать интерфейс входа в систему заблокированным очень важно. Оставляя его открытым для всех, вы привлечете толпы злоумышленников, и кто-то рано или поздно сможет подобрать ваши учетные данные
Потому сейчас нужно создать страницу авторизации сервера, которую необходимо будет пройти, чтобы получить доступ к самой странице входа в PhpMyAdmin.
Большинство веб-серверов, – и Nginx в их числе, – поставляются с этой функцией по умолчанию.
Сначала нужно создать файл паролей pma_pass для хранения учётных данных. Nginx требует, чтобы пароль был зашифрован при помощи функции crypt().
Криптографический пакет OpenSSL, который должен быть установлен на сервере, предоставляет эту функциональность.
Чтобы создать зашифрованный пароль, введите:
Затем укажите и подтвердите пароль, после чего утилита выведет на экран его зашифрованную версию, которая будет иметь примерно такой вид:
Скопируйте это значение и вставьте его в файл паролей.
Чтобы создать файл паролей, используйте следующую команду (файл будет называться pma_pass и находиться в конфигурационном каталоге Nginx):
В этом файле нужно указать имя пользователя и зашифрованный при помощи openssl пароль, который будут использоваться для входа в phpMyAdmin, разделив их символом двоеточия.
К примеру, если пользователя зовут demo, то файл будет выглядеть так:
Примечание: Ни в коем случае не используйте такое имя – его очень легко угадать.
Сохраните и закройте файл.
Теперь можно отредактировать конфигурационный файл Nginx. Откройте его в текстовом редакторе:
В этот файл нужно внести новый раздел location для phpMyAdmin (в данном случае это /nothingtosee).
Создайте блок location в блоке server (и вне других блоков) и укажите в нём место установки:
В этом блоке в директиве auth_basic нужно указать сообщение аутентификации, которое будет отображаться в запросе учётных данных. Чтобы ограничить доступ неавторизованным пользователям, можно просто использовать «Admin Login».
Затем нужно использовать директиву auth_basic_user_file, чтобы направить веб-сервер на файл паролей. Nginx запросит у пользователя учётные данные и проверит этот файл на наличие в нём введённых данных.
В результате блок имеет такой вид:
Сохраните и закройте файл. Проверьте ошибки в нем:
Команда должна вернуть:
Теперь нужно перезапустить веб-сервер, чтобы активировать шлюз авторизации.
Если посетить phpMyAdmin в веб-браузере, будет запрошено имя пользователя и пароль, внесённые в файл pma_pass.
Примечание: Если страница не появляется после обновления браузера, попробуйте очистить кэш или открыть ее в другом браузере.
Получив учётные данные, браузер откроет страницу входа в phpMyAdmin. Это создаёт дополнительный уровень безопасности и сохранит логи MySQL в чистоте (в них не будет сотен записей о неудачных попытках входа).
Prerequisites
In order to complete this guide, you will need:
- A server running Ubuntu 20.04. This server should have a non-root user with administrative privileges and a firewall configured with . To set this up, follow our initial server setup guide for Ubuntu 20.04.
- A LEMP stack (Linux, Nginx, MySQL, and PHP) installed on your Ubuntu 20.04 server. To install and configure these components, follow our guide on How To Install Linux, Nginx, MySQL, PHP (LEMP stack) on Ubuntu 20.04.
Additionally, because phpMyAdmin handles authentication using MySQL credentials, we strongly recommend that you install an SSL/TLS certificate to enable encrypted traffic between server and client. If you do not have an existing domain configured with a valid certificate, follow this guide on securing Nginx with Let’s Encrypt on Ubuntu 20.04 to set this up.
Warning: If you don’t have an SSL/TLS certificate installed on the server and you still want to proceed, please consider enforcing access via SSH Tunnels as explained in of this guide.
Once you have these prerequisites in place, you can begin following Step 1 of this guide.
Step One — Install phpMyAdmin
To get started, we can simply install phpMyAdmin from the default Ubuntu repositories.
We can do this by updating our local package index and then using the packaging system to pull down the files and install them on our system:
This will ask you a few questions in order to configure your installation correctly.
Warning
When the first prompt appears, apache2 is highlighted, but not selected. If you do not hit “SPACE” to select Apache, the installer will not move the necessary files during installation. Hit “SPACE”, “TAB”, and then “ENTER” to select Apache.
- For the server selection, choose apache2.
- Select yes when asked whether to use to set up the database
- You will be prompted for your database administrator’s password
- You will then be asked to choose and confirm a password for the application itself
The installation process actually adds the phpMyAdmin Apache configuration file into the directory, where it is automatically read.
The only thing we need to do is explicitly enable the extension, which we can do by typing:
Afterwards, you’ll need to restart Apache for your changes to be recognized:
You can now access the web interface by visiting your server’s domain name or public IP address followed by :
<pre>
http://<span class=“highlight”>domainnameor_IP</span>/phpmyadmin
</pre>
You can now log into the interface using the username and the administrative password you set up during the MySQL installation.
When you log in, you’ll see the user interface, which will look something like this:
Install phpMyAdmin
The easiest way to install phpmyadmin is through apt-get:
sudo apt-get install phpmyadmin apache2-utils
During the installation, phpMyAdmin will walk you through a basic configuration. Once the process starts up, follow these steps:
- Select Apache2 for the server
- Choose YES when asked about whether to Configure the database for phpmyadmin with dbconfig-common
- Enter your MySQL password when prompted
- Enter the password that you want to use to log into phpmyadmin
After the installation has completed, add phpmyadmin to the apache configuration.
sudo nano /etc/apache2/apache2.conf
Add the phpmyadmin config to the file.
Include /etc/phpmyadmin/apache.conf
Restart apache:
sudo service apache2 restart
You can then access phpmyadmin by going to youripaddress/phpmyadmin. The screen should look like this
5 последних уроков рубрики «PHP»
Когда речь идёт о безопасности веб-сайта, то фраза «фильтруйте всё, экранируйте всё» всегда будет актуальна. Сегодня поговорим о фильтрации данных.
Обеспечение безопасности веб-сайта — это не только защита от SQL инъекций, но и протекция от межсайтового скриптинга (XSS), межсайтовой подделки запросов (CSRF) и от других видов атак
В частности, вам нужно очень осторожно подходить к формированию HTML, CSS и JavaScript кода.
Expressive 2 поддерживает возможность подключения других ZF компонент по специальной схеме. Не всем нравится данное решение
В этой статье мы расскажем как улучшили процесс подключение нескольких модулей.
Предположим, что вам необходимо отправить какую-то информацию в Google Analytics из серверного скрипта. Как это сделать. Ответ в этой заметке.
Подборка PHP песочниц
Подборка из нескольких видов PHP песочниц. На некоторых вы в режиме online сможете потестить свой код, но есть так же решения, которые можно внедрить на свой сайт.
Увеличьте размер файла импорта phpMyAdmin
Хотя это не одна из настроек phpMyAdmin (это настройка PHP), она является одной из наиболее часто встречающихся при экспорте баз данных в виде файлов. По умолчанию PHP позволяет импортировать файлы размером до 2 МБ. Чтобы увеличить это, отредактируйте . Прежде чем начать вносить изменения, сделайте резервную копию файла:
Сначала убедитесь, что загрузка файлов разрешена. Найдите следующую строку и убедитесь, что установлено значение .
Далее, чтобы увеличить размер импорта файла, найдите следующую строку и установите желаемый размер файла (например, 32M):
Затем найдите следующую строку и установите желаемый размер данных POST (пример: 32M):
Наконец, найдите следующую строку и установите ограничение памяти скрипта на желаемое значение (пример: 128M):
«М» в «128M» относится к МБ или мегабайтам
Обратите внимание, что у вас должно быть не менее 128M доступной памяти. Это должно увеличить размер импорта файлов для PHP и phpMyAdmin
Перезагрузите Apache, чтобы настройки вступили в силу:
Возможно, вам придется выйти и заново войти в phpMyAdmin.
Обновление старой версии
Просто скопируйте конфигурационный файл ./config.inc.php от предыдущей версии в директорию куда был распакован phpMyAdmin. Конфигурационные файлы из очень старых версий (2.3.0 or older) могут потребовать некоторых настроек, т.к. некоторые опции были изменены или удалены.
Не рекомендуется использовать (копировать) файл libraries/config.default.php вместо config.inc.php, т.к. файл config.default.php является специфичным для каждой версии.
Если Вы обновили свой MySQL-сервер с версии старше, чем 4.1.2 до версии 4.1.2 или новее,и используете инфраструктуру связанных таблиц, тогда необходимо запустить SQL-скрипт, который находится в scripts/upgrade_tables_mysql_4_1_2+.sql.
Предварительные требования
Прежде чем приступить к изучению данного руководства, вам нужно выполнить несколько базовых действий.
Во-первых, мы полагаем, что ваш сервер имеет пользователя user без root прав с привилегиями , а также брандмауэр с , как указано в руководстве по начальной настройке сервера для Ubuntu 18.04.
Мы также предполагаем, что вы выполнили установку LAMP (Linux, Apache, MySQL и PHP) на вашем сервере с Ubuntu 18.04. Если вы еще не сделали этого, вы можете воспользоваться данным руководством по установке стека LAMP на Ubuntu 18.04.
Наконец, существует ряд важных соображений безопасности при использовании таких программных средств, как phpMyAdmin, поскольку phpMyAdmin:
- напрямую связывается с установленной у вас версией MySQL;
- управляет аутентификацией, используя учетные данные MySQL;
- исполняет и возвращает результаты для произвольных SQL запросов.
По этим причинам, и поскольку это широко применяемое PHP приложение, которое часто становится мишенью для атак, вы ни при каких условиях не должны запускать phpMyAdmin на удаленных системах, используя обычное HTTP-соединение. Если у вас нет существующего домена с настроенным SSL/TLS сертификатом, вы можете воспользоваться следующим руководством по обеспечению безопасности Apache с помощью Let’s Encrypt в Ubuntu 18.04. Для этого вам потребуется зарегистрировать доменное имя, создать DNS запись для вашего сервера и .
После завершения этих шагов вы будете готовы начать работу с данным руководством.
Шаг 2 — Настройка аутентификации и прав пользователя
При установке phpMyAdmin на ваш сервер автоматически создал пользователь базы данных с именем , который отвечает за определенные базовые процессы программы. Вместо того, чтобы выполнять вход с помощью этого пользователя и пароля администратора, которые вы задали при установке, рекомендуется войти с использование вашего root пользователя MySQL или пользователя, предназначенного для управления базами данных через интерфейс phpMyAdmin.
Настройка доступа по паролю для учетной записи root в MySQL
В системах Ubuntu при запуске MySQL 5.7 (и более поздние версии) для root пользователя MySQL по умолчанию устанавливается аутентификация с помощью плагина , а не пароля. Это позволяет обеспечить большую безопасность и удобство во многих случаях, однако это также может осложнить ситуацию, когда вам нужно предоставить внешней программе, например, phpMyAdmin, доступ к пользователю.
Чтобы войти в phpMyAdmin с root пользователем MySQL, вам нужно переключить метод аутентификации с на , если вы еще не сделали этого. Для этого откройте командную строку MySQL через терминал:
Затем проверьте, какой метод аутентификации используют ваши аккаунты пользователей MySQL с помощью следующей команды:
В этом примере вы можете видеть, что root пользователь действительно использует метод аутентификации с помощью плагина . Чтобы настроить для учетной записи root аутентификацию с помощью пароля, выполните следующую команду . Обязательно измените значение на надежный пароль по вашему выбору:
Затем выполните команду , которая просит сервер перезагрузить предоставленные таблицы и ввести в действие изменения:
Проверьте методы аутентификации, применяемые для каждого из ваших пользователей, чтобы подтвердить, что root пользователь больше не использует для аутентификации плагин :
В этом выводе вы можете увидеть, что пользователь root будет использовать аутентификацию по паролю. Теперь вы можете выполнить вход в интерфейс phpMyAdmin с помощью root пользователя с паролем, который вы задали ранее.
Настройка доступа по паролю для выделенного пользователя MySQL
Некоторые могут посчитать, что для их рабочего процесса лучше подходит подключение к phpMyAdmin с помощью специально выделенного пользователя. Чтобы сделать это, снова откройте командную строку MySQL:
Примечание. Если вы активировали аутентификацию по паролю, как указано в предыдущем разделе, вам потребуются другие команды для доступа к командной строке MySQL. Следующая команда будет запускать ваш клиент MySQL с обычными правами пользователя, и вы получите права администратора внутри базы данных только с помощью аутентификации:
Создайте нового пользователя и придумайте для него надежный пароль:
Затем предоставьте вашему новому пользователю соответствующие права. Например, вы можете предоставить пользователю права доступа ко всем таблицам в базе данных, а также можете добавлять, изменять и удалять права пользователя с помощью этой команды:
После этого закройте командную строку MySQL:
Теперь вы можете получить доступ к веб-интерфейсу, набрав доменное имя или открытый IP-адрес вашего сервера и добавив
Выполните вход в интерфейс с помощью root пользователя или с новым именем пользователя и паролем, которые вы только что задали.
При входе вы увидите пользовательский интерфейс, который будет выглядеть следующим образом:
Теперь, когда вы можете подключаться и взаимодействовать с phpMyAdmin, осталось только установить более жесткие правила безопасности системы, чтобы защитить ее от атак.
Step 1 — Installing phpMyAdmin
To get started, we will install phpMyAdmin from the default Ubuntu repositories.
This is done by updating your server’s package index and then using the packaging system to pull down the files and install them on your system:
This will ask you a few questions in order to configure your installation correctly.
Warning: When the prompt appears, “apache2” is highlighted, but not selected. If you do not hit to select Apache, the installer will not move the necessary files during installation. Hit , , and then to select Apache.
- For the server selection, choose
- Select when asked whether to use to set up the database
- You will then be asked to choose and confirm a MySQL application password for phpMyAdmin
The installation process adds the phpMyAdmin Apache configuration file into the directory, where it is read automatically. The only thing you need to do is explicitly enable the PHP extension, which you can do by typing:
Afterwards, restart Apache for your changes to be recognized:
phpMyAdmin is now installed and configured. However, before you can log in and begin interacting with your MySQL databases, you will need to ensure that your MySQL users have the privileges required for interacting with the program.
Linked-tables infrastructure (Инфраструктура связанных таблиц)
Для использования многих опций (закладок, комментариев, SQL-истории, PDF-схем, преобразования содержимого полей, и т.д.) необходимо создать набор специальных таблиц. Эти таблицы могут находиться как в Вашей базе данных, так и в центральной базе при многопользовательской системе (в этом случае данная БД может быть доступна только для пользователя controluser, соответственно, другие пользователи не имеют прав на неё).
Зайдите в директорию scripts/, здесь вы найдете файл create_tables.sql
(Если используете Windows сервер, обратите особое внимание на ).
Если у Вас установлена версия MySQL сервера 4.1.2 или более позднее, используйте вместо вышеуказанного файла create_tables_mysql_4_1_2+.sql, для новой инсталляции.
Если у вас уже есть готовая инфраструктура и вы обновляете MySQL до версии 4.1.2 или выше, используйте upgrade_tables_mysql_4_1_2+.sql.
Вы можете использовать phpMyAdmin для создания баз данных и таблиц, для этого необходимо обладать администраторскими привилегиями на создание баз данных и таблиц, в связи с чем скрипту может понадобиться небольшая настройка (указание названия базы данных).
После импорта create_tables.sql, Вы должны определить названия таблиц в файле config.inc.php, с помощью директив, описанных в разделе «Конфигурирование». Кроме этого необходимо обладать правами controluser на данные таблицы (см
ниже, раздел «Использование режима аутентификации»).