Установка phpmyadmin в ubuntu 20.04

Содержание:

Увеличьте размер файла импорта phpMyAdmin

Хотя это не одна из настроек phpMyAdmin (это настройка PHP), она является одной из наиболее часто встречающихся при экспорте баз данных в виде файлов. По умолчанию PHP позволяет импортировать файлы размером до 2 МБ. Чтобы увеличить это, отредактируйте . Прежде чем начать вносить изменения, сделайте резервную копию файла:

Сначала убедитесь, что загрузка файлов разрешена. Найдите следующую строку и убедитесь, что установлено значение .

Далее, чтобы увеличить размер импорта файла, найдите следующую строку и установите желаемый размер файла (например, 32M):

Затем найдите следующую строку и установите желаемый размер данных POST (пример: 32M):

Наконец, найдите следующую строку и установите ограничение памяти скрипта на желаемое значение (пример: 128M):

«М» в «128M» относится к МБ или мегабайтам

Обратите внимание, что у вас должно быть не менее 128M доступной памяти. Это должно увеличить размер импорта файлов для PHP и phpMyAdmin

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

Возможно, вам придется выйти и заново войти в phpMyAdmin.

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 на данные таблицы (см

ниже, раздел «Использование режима аутентификации»).

Development Versions

phpMyAdmin Git repository is located at
and you
can browse them online using GitHub.
Note that phpMyAdmin uses Composer to manage library dependencies, when using git
development versions you must manually run Composer.
Please see for details.

More information about using Git is available on development page.

phpMyAdmin 5.2+snapshot

Daily snapshot, generated 2021-09-24, from Git commit 263f61282531ab63784d9e73ebe28752a9a187ff.

Future version compatible with PHP 7.2 and newer and MySQL/MariaDB 5.5 and newer.

File Size Verification
phpMyAdmin-5.2+snapshot-all-languages.zip 13.1 MB
phpMyAdmin-5.2+snapshot-all-languages.tar.gz 11.5 MB
phpMyAdmin-5.2+snapshot-all-languages.tar.xz 6.6 MB
phpMyAdmin-5.2+snapshot-english.tar.gz 7.0 MB
phpMyAdmin-5.2+snapshot-english.tar.xz 4.6 MB
phpMyAdmin-5.2+snapshot-english.zip 8.8 MB
phpMyAdmin-5.2+snapshot-source.tar.gz 39.9 MB
phpMyAdmin-5.2+snapshot-source.tar.xz 16.8 MB
phpMyAdmin-5.2+snapshot-source.zip 45.8 MB

phpMyAdmin 5.1+snapshot

Daily snapshot, generated 2021-09-24, from Git commit 10695050a04a941e0f73fb4d5df2b7215d298b6b.

Current version compatible with PHP 7.1 and newer and MySQL/MariaDB 5.5 and newer.

File Size Verification
phpMyAdmin-5.1+snapshot-all-languages.zip 13.2 MB
phpMyAdmin-5.1+snapshot-all-languages.tar.gz 11.8 MB
phpMyAdmin-5.1+snapshot-all-languages.tar.xz 6.7 MB
phpMyAdmin-5.1+snapshot-english.tar.gz 7.2 MB
phpMyAdmin-5.1+snapshot-english.tar.xz 4.7 MB
phpMyAdmin-5.1+snapshot-english.zip 8.8 MB
phpMyAdmin-5.1+snapshot-source.tar.gz 37.6 MB
phpMyAdmin-5.1+snapshot-source.tar.xz 16.2 MB
phpMyAdmin-5.1+snapshot-source.zip 42.2 MB

Дополнительные возможности PhpMyAdmin

Все операции с ячейками и их содержимым – просмотр, копирование, удаление, вставка производятся в один клик. Наиболее часто веб-разработчиками и администраторами сайта используется возможность моментального создания так называемого дампа базы (копии) для переноса сайта с одного хоста на другой. При желании его можно получить сразу в заархивированном виде.

Еще одной интересной возможностью PHPMyAdmin является восстановление пароля для входа в административную часть сайта. Достаточно зайти в ячейку Users или аналогичную ей и скопировать в вашей учетной записи искомые логин и пароль. Эта программа может с успехом заменить административную часть сайта в случае ее неисправности.

Единственным, да и то весьма спорным, ее недостатком является представление содержимого сайта в виде кода HTML.

Настройка доступа по IP

Еще один способ защитить PhpMyAdmin — предоставить или запретить доступ к веб-интерфейсу определенным хостам на уровне сервера Nginx. Это позволит ограничить доступ всем, кроме некоторых IP-адресов, или направленно заблокировать нежелательные, вредоносные хосты.

Предоставление доступа определенным хостам

В Nginx предусмотрена функция управления доступом на основе IP. Настройка хостов производится в блоке location PhpMyAdmin, с помощью переменных «allow» (разрешить) и «deny» (запретить). Если нужно разрешить запросы только с данного хоста, то достаточно внести эти строки:

allow XXX.XXX.XXX.XXX;
deny all;

В примере переменная «XXX.XXX.XXX.XXX» — разрешенный публичный IP-адрес.

sudo apt-get install curl
curl https://ipinfo.io/ip

Выводом будет обычный IP адрес.

В принципе, разрешить доступ можно со скольких угодно хостов, создав «белый список». Параметр «deny all», наоборот блокирует все хосты, кроме разрешенных.

Чтобы начать настройку, нужно открыть файл конфигурации:

sudo nano /etc/nginx/sites-available/phpmyadmin.conf

Параметры вносятся примерным образом:

Для вступлений изменений в силу, требуется перезапустить процесс сервера Nginx:

sudo systemctl restart nginx

Ограничение доступа определенным хостам

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

deny XXX.XXX.XXX.XXX;

В приведенном случае «XXX.XXX.XXX.XXX» — запрещённый публичный IP-адрес.

Можно использовать любое число директив «deny», если нужно запретить доступ нескольким хостам.

Чтобы начать настройку, нужно открыть файл конфигурации:

sudo nano /etc/nginx/sites-available/phpmyadmin.conf

И внести параметры примерно подобным образом:

Для вступлений изменений в силу, требуется перезапустить процесс сервера Nginx:

sudo systemctl restart nginx

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

Использование phpMyAdmin для веб-разработки

1. Создание и удаление баз данных

На мой взгляд PMA особо полезен на стадиях разработки и тестирования, когда в любой момент смогу сбросить базу или сделать откат какой-то операции.

Без PMA мне бы пришлось заходить на мой сервер через SSH, подключаться к MySQL, а затем запускать запрос:

create database myapp;
 grant all privileges on myapp_database.* TO "your-mysql-username"@"localhost" identified by "your-mysql-password";
 flush privileges;

PMA позволяет нам запускать любой запрос через удобный визуальный интерфейс. Нажмите вкладку SQL и вставьте вышеуказанные SQL код. Затем кликните Go чтобы создать базу данных.

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

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

Кликните “Добавить пользователя” и назначьте желаемые привилегии для базы данных:

Для самого обычного аккаунта будет достаточно выделить боксы в разделах “данные” и “структура”.

Чтобы удалить базу данных откройте меню, выберите базу, нажмите “удалить”:

2. Резервное копирование базы данных

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

Щелкните на базу данных, перейдите на вкладку “Экспорт” и выберите “Custom”.

Выберите пункт :

Когда нажмёте Go, PMA создаст резервную копию всей вашей базы данных и отдаст её на скачку. Если настройки тайм-аута в вашем Apache PHP не настроены должным образом, некоторые загрузки крупных файлов могут не завершиться или прерваться. Измените настройки в .

3. Тестирование запросов

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

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

После шлифовки запроса, его легче применить в рамках шаблона ActiveRecord. Как тут:

$criteria = new CDbCriteria;
$criteria->together=true;
$criteria->having= "distance < 100";
$criteria->order = "distance ASC";
$criteria->with = array('place_geometry'=>array('select'=>'place_id,center,'.new CDbExpression('(3959 * acos( cos( radians('.$lat.') ) * cos( radians( X(center) ) ) * cos( radians( Y(center) ) - radians('.$lon.') ) + sin( radians('.$lat.') ) * sin( radians( X(center) ) ) )) as distance')));
$dataProvider = new CActiveDataProvider(Place::model()->active()->includesMember($id),
                        array('criteria' => $criteria,
                        'pagination' => array(
                            'pageSize' => 10,
                        ),
                    ));

4. Быстрое изменение данных

Если вы разработчик, то у вас наверняка возникала ситуация что при работе с БД выскакивали ошибки из-за отсутствия или неправильного значения в какой-то из ячеек таблицы. Не так ли?

PMA предоставляет нам отличную возможность изменения значения ячеек непосредственно из отображения таблицы. Откройте базу данных и выберите таблицу. Дважды кликните на колонке чтобы ввести значение. После окончания изменений нажмите “Enter”:

5. Актуализация базы данных на основе миграций

Если вы используете фрэймворк (как Yii), то наверняка в вашем арсенале есть инструмент миграции. Миграции облегчает поэтапное изменение БД в процессе разработки. Однако при тестирование могут возникнуть проблемы.

Чаще всего я наталкиваюсь на ошибки миграции из-за лишних (не удалённых) индексов, внешних ключей или таблиц. В таком случае я использую PMA для удаления таблицы и нежелательных индексов.

В PMA, выберите базу данных, кликните не вкладку SQL и выполните запрос. Вот несколько примеров:

Надеемся, что данная статья была для вас полезной.

phpMyAdmin 4.9.3 is released

2019-12-26

Welcome to phpMyAdmin 4.9.3, a routine bugfix release. This release is occurring simultaneously with the release of phpMyAdmin 5.0.0, which is our recommended version except for users with older PHP installations.

This is planned as the final bugfix release of phpMyAdmin version 4. Version 4 works with PHP versions 5.5 through (at least) 7.4,
and MySQL versions 5.5 and newer (and the corresponding MariaDB versions). Version 5 will require PHP 7.1 or newer, but
we plan to maintain security fixes for version 4 as part of our LTS program. For end of life details and supported
versions, please see the «Supported versions» grid at https://www.phpmyadmin.net/downloads/.

This release includes fixes for many bugs, including:

  • Several PHP notices and warnings including «Undefined index table_create_time,»
    a notice about error_reporting() being disabled for security reasons, and several Undefined Index errors.
  • Support CloudFront-Forwarded-Proto header for Amazon CloudFront proxy
  • Early compatibility with development versions of PHP 8
  • Fix replication actions (start, stop, etc)

There are many, many more bug fixes thanks to the efforts of our developers and other contributors.
For full details, you can see the ChangeLog file included with this release.

phpMyAdmin 5.0.0-rc1 is released

2019-11-22

Welcome to the first release candidate of phpMyAdmin 5.0.0. This release features a great number of new features and bug fixes.

This is expected to be the final release candidate before 5.0.0 is finalized. Please visit https://github.com/phpmyadmin/phpmyadmin/milestones to stay updated on the expected release date and known bugs.

Since 5.0.0-alpha1, there have been several bugfixes, none of which are particularly notable. For a complete comparison, you could visit https://github.com/phpmyadmin/phpmyadmin/compare/RELEASE_5_0_0ALPHA1..RELEASE_5_0_0RC1.

The following are the release notes from 5.0.0-alpha1:

With this release, we are removing support of old PHP versions (5.5, 5.6, 7.0, and HHVM). These versions are outdated and are no longer supported by the PHP team. Detailed requirement information is available in the documentation included with the download or at https://docs.phpmyadmin.net/en/latest/require.html. As shown at https://www.phpmyadmin.net/downloads/#support our current branch of 4.9.x is planned to remain supported for some time in an LTS capacity.

Some of the changes and new features include:

  • Enable columns names by default for CSV exports
  • Add Metro theme
  • Automatically add the index when creating an auto increment column
  • Improvements to exporting views
  • Prompt the user for confirmation before running an UPDATE query with no WHERE clause
  • Improvements to how errors are show to the user (including allowing easier copying of the error text to the clipboard)
  • Added keystrokes to clear the line (ctrl+l) and clear the entire console window (ctrl+u)
  • Use charset ‘windows-1252’ when export format is MS Excel

There are several more changes, please refer to the ChangeLog file included with the release for full details.

Known shortcomings:

Due to changes in the MySQL authentication method, PHP versions prior to 7.4 are unable to authenticate to a MySQL 8.0 or newer server (our tests show the problem actually began with MySQL 8.0.11). This relates to a PHP bug https://bugs.php.net/bug.php?id=76243. There is a workaround, that is to set your user account to use the current-style password hash method, mysql_native_password. This unfortunate lack of coordination has caused the incompatibility to affect all PHP applications, not just phpMyAdmin. For more details, you can see our bug tracker item at https://github.com/phpmyadmin/phpmyadmin/issues/14220.

Downloads are available now at https://phpmyadmin.net/downloads/

Our work would not be possible without the donations of our generous sponsor, and this release in particular is brought to you thanks to the hard work of our Google Summer of Code students and many other contributors.

For the team,
Isaac

Инструменты импорта/экспорта, выполнение SQL-запросов

При использовании инструментов экспорта и импорта. Которые доступны в соответствующих вкладках панели задач phpMyAdmin. Необходимо учитывать, что эти функции можно выполнять как для отдельной БД (которая в данный момент выбрана), так и для всех БД по-умолчанию — когда ни одна БД не выбрана в списке в левой панели.

Рис. 8: Экспорт выбранной БД

Когда визуальных инструментов phpMyAdmin не хватает для выполнения каких-то специфичных или сложный действий с БД/таблицами. То есть возможность воспользоваться составлением запросов вручную на вкладке «SQL».

Рис. 9: Создание и выполнение SQL запросов

Шаг 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, осталось только установить более жесткие правила безопасности системы, чтобы защитить ее от атак.

PHP+MySQL – эта связка используется на подавляющем большинстве сайтов

Создателю серверного языка PHP можно ставить памятник с надписью «Объединителю человечества», ведь весь Интернет функционирует благодаря именно ему. Более девяноста процентов веб-ресурсов работают на системах управления контентом (CMS), использующих язык РНР, и построеных по принципу разделения графической составляющей (интерфейса) и данных, которые хранятся в отдельных файлах, называемых базами SQL.

Если вы откроете один из SQL-файлов в программе Notepad ++, то увидите огромную текстовую «простыню», состоящую из контента сайта, перемежаемую командными строками, написанных латинскими буквами. Читать его и работать с ним напрямую, через командную строку компьютера, очень неудобно.

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

Шаг 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 есть права, необходимые для взаимодействия с программой.

Смена стандартного местоположения PhpMyAdmin

Обычно программа находится по адресу «/phpmyadmin», «/pma», «/admin», «/mysql». Если оставить PhpMyAdmin в стандартном расположении, то злоумышленники могут использовать программы, взламывающие пароль методом брутфорса (перебора).

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

Для этого нужно открыть, созданный в предыдущих действиях, конфигурационный файл «phpmyadmin.conf» и найти строку «location /phpmyadmin {»:

sudo nano /etc/nginx/sites-available/phpmyadmin.conf

При изменении слова «phpmyadmin» на нестандартное, меняется веб-адрес, а следовательно боты не смогут найти программу. К примеру, обозначим адресом PhpMyAdmin слово «ubuntu»:

Теперь нужно сохранить изменения в файле и перезагрузить сервер Nginx следующей командой:

sudo systemctl restart nginx

При попытке открыть в веб-браузере старый адрес, появится ошибка 404 (не найдено):

https://server_domain_or_IP/phpmyadmin

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

https://server_domain_or_IP/ubuntu

Установка ограничения root доступа

Учётная запись root даёт не только особые привилегия пользователям, но и является уязвимостью, играющей на руку злоумышленнику. С изменением адреса PhpMyAdmin была устранена уязвимость в безопасности для автоматизированных программ, но всегда стоит минимизировать риски и защититься от других видов атак на сервер.

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

/etc/phpmyadmin/conf.d/ с названием pma_secure.php:
sudo nano /etc/phpmyadmin/conf.d/pma_secure.php

В созданный файл необходимо вставить следующий код:

/etc/phpmyadmin/conf.d/pma_secure.php

<?php
# PhpMyAdmin Settings
# This should be set to a random string of at least 32 chars
$cfg = '3!#32@3sa(+=_4?),5XP_:U%%8\34sdfSdg43yH#{o';

$i=0;
$i++;

$cfg = 'cookie';
$cfg = false;
$cfg = false;

?>

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

  • АllowNoPassword – вход без пароля (false – отключен);
  • AllowRoot – вход с учётной записи root пользователя (false – отключен).

Как только файл будет сохранен, изменения вступят в силу. При попытке выполнить вход из учётной записи суперпользователя, появится ошибка — «Access Denied» (Доступ запрещен).

phpMyAdmin 5.1.0 is released

2021-02-24

We at the phpMyAdmin project are pleased to publish phpMyAdmin 5.1.0.

There are many new features and bug fixes; a few highlights include:

  • Improve virtuality dropdown for MariaDB > 10.1
  • Added an option to perform ALTER ONLINE (ALGORITHM=INPLACE) when editing a table structure
  • Added ip2long transformation
  • Improvements to linking to MySQL and MariaDB documentation
  • Add «Preview SQL» option on Index dialog box when creating a new table
  • Add a new vendor constant «CACHE_DIR» that defaults to «libraries/cache/» and store routing cache into this folder
  • Add $cfg for Google ReCaptcha siteVerifyUrl
  • Add the password_hash PHP function as an option when inserting data
  • Improvements to editing and displaying columns of the JSON data type.
  • Added support for «SameSite=Strict» on cookies using configuration «$cfg»
  • Fixed AWS RDS IAM authentication doesn’t work because pma_password is truncated
  • Add config parameters to support third-party ReCaptcha v2 compatible APIs like hCaptcha
  • Add $cfg to set the red text black when ssl is not used on a private network
  • Export blobs as hex on JSON export
  • Fix leading space not shown in a CHAR column when browsing a table
  • Added a rename Button to use RENAME INDEX syntax of MySQL 5.7 (and MariaDB >= 10.5.2)
  • Fixed missing option to enter TABLE specific permissions when the database name contains an «_» (underscore)
  • Fixed a PHP notice «Trying to access array offset on value of type null» on Designer PDF export
  • Fix for several PHP 8 warnings or errors, giving this release full compatibility with PHP 8

There are, of course, many more fixes you can see in the ChangeLog file included with this release or online at https://demo.phpmyadmin.net/master-config/index.php?route=/changelog

Downloads are available now at https://phpmyadmin.net/downloads/

Создание, удаление и редактирование БД и таблиц

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

Рис.2: Просмотр списка БД. Создание новой БД

На этой же странице для удаления БД (внизу списка БД) имеется ссылка «Удалить». Предварительно нужно отметить чекбоксами требуемые (можно несколько) для удаления БД.

Рис. 3: Удаление БД

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

  • обзор — просмотр и редактирование содержимого полей таблицы;
  • структура — просмотр и редактирование структуры таблицы;
  • поиск;
  • очистить — очистка таблицы от всего содержимого;
  • удалить — полное удаление таблицы из БД.

Рис. 4: Просмотр и редактирование структуры таблиц и редактирование полей 

На этой же странице можно создавать новые таблицы для текущей (выбранной БД).
Функция «Обзор» загружает страницу со списком полей соответствующей БД. Здесь можно видеть содержимое, редактировать поля таблицы, а также удалять записи таблицы как в визуальном редакторе. Всплывающие подсказки очень помогают довольно быстро разобраться с тонкостями работы GUI.
Для добавления новых таблиц в БД также существует пункт «Новая» в раскрывающемся списке БД, выбранной в панели слева:

Рис.5: Добавление новой таблицы

Apache

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

Устанавливаем apache и модуль для php:

apt-get install apache2 libapache2-mod-php

Заходим в настройки портов:

vi /etc/apache2/ports.conf

И редактируем следующее:

Listen 8080
#<IfModule ssl_module>
#       Listen 443
#</IfModule>
#<IfModule mod_gnutls.c>
#       Listen 443
#</IfModule>

* мы настроили прослушивание на порту 8080, так как на 80 уже работает NGINX. Также мы закомментировали прослушивание по 443, так как и он будет слушаться NGINX.

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

vi /etc/apache2/mods-available/dir.conf

И добавляем впереди индексных файлов index.php:

<IfModule dir_module>
    DirectoryIndex index.php index.html …
</IfModule>

* если не указан конкретный скрипт, сначала веб-сервер пытается найти и запустить index.php, затем index.html и так далее.

Открываем основной конфигурационный файл для apache:

vi /etc/apache2/apache2.conf

Рядом с опциями Directory дописываем:

<Directory /var/www/*/www>
    AllowOverride All
    Options Indexes ExecCGI FollowSymLinks
    Require all granted
</Directory>

* где Directory указывает на путь, для которого мы хотим задать настройки; AllowOverride — позволит переопределить все настройки с помощью файла .htaccess; Options задает некоторые настройки: Indexes разрешает списки каталогов, ExecCGI разрешает запуск cgi скриптов, Require all granted — предоставляет всем доступ к сайтам в данном каталоге.

Ниже допишем:

<IfModule setenvif_module>
    SetEnvIf X-Forwarded-Proto https HTTPS=on
</IfModule>

* этой настройкой мы при получении заголовка X-Forwarded-Proto со значением https задаем переменную $_SERVER равную on. Данная настройки критична для функционирования некоторых CMS.

Запрещаем mpm_event:

a2dismod mpm_event

* по умолчанию, apache2 может быть установлен с модулем мультипроцессовой обработки mpm_event. Данный модуль не поддерживает php 7 и выше.

Разрешаем модуль мультипроцессовой обработки mpm_prefork:

a2enmod mpm_prefork

Разрешаем модуль php:

a2enmod php7.4

* в данном примере установлен php версии 7.4.

Разрешаем модуль setenvif:

a2enmod setenvif

Разрешаем модуль rewrite:

a2enmod rewrite

В процессе включения модулей, если мы видим «Module … already enabled», значит модуль уже включен.

Разрешаем автозапуск Apache и перезапускаем службу:

systemctl enable apache2

systemctl restart apache2

Открываем браузер и вводим в адресную строку http://<IP-адрес сервера>:8080. Мы должны увидеть привычную страницу:

* в разделе Server API мы должны увидеть Apache.

NGINX + Apache

Ранее мы настроили связку nginx + php-fpm. Теперь настроим nginx + apache. Открываем конфигурационный файл nginx для сайта по умолчанию:

vi /etc/nginx/sites-enabled/default

Находим наш настроенный location для php-fpm:


        location ~ \.php$ {
            set $root_path /var/www/html;
            fastcgi_pass unix:/run/php/php7.4-fpm.sock;
            fastcgi_index index.php;
            fastcgi_param SCRIPT_FILENAME $root_path$fastcgi_script_name;
            include fastcgi_params;
            fastcgi_param DOCUMENT_ROOT $root_path;
        }

и меняем на:


        location ~ \.php$ {
            proxy_pass http://127.0.0.1:8080;
            proxy_redirect     off;
            proxy_set_header   Host             $host;
            proxy_set_header   X-Forwarded-Proto $scheme;
            proxy_set_header   X-Real-IP        $remote_addr;
            proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
        }

Проверяем и перезапускаем nginx:

nginx -t

systemctl restart nginx

Пробуем открыть в браузере http://<IP-адрес сервера> — должна открыться та же страница, что при проверке Apache (с добавлением 8080):

Apache Real IP

Запросы на apache приходят от NGINX, и они воспринимаются первым как от IP-адреса 127.0.0.1. На практике, это может привести к проблемам, так как некоторым сайтам необходимы реальные адреса посетителей. Для решения проблемы будем использовать модуль remoteip.

Создаем конфигурационный файл со следующим содержимым:

vi /etc/apache2/mods-available/remoteip.conf

<IfModule remoteip_module>
  RemoteIPHeader X-Forwarded-For
  RemoteIPTrustedProxy 127.0.0.1/8
</IfModule>

Активируем модуль:

a2enmod remoteip

Перезапускаем apache:

systemctl restart apache2

Для проверки настройки открываем браузер и вводим в адресную строку http://<IP-адрес сервера>, где откроется наша страница phpinfo. В разделе Apache Environment мы должны увидеть внешний адрес компьютера, с которого обращаемся к серверу в опции REMOTE_ADDR.

Настройка MySQL

Предназначение PhpMyAdmin – управление базами данных MySQL. Поэтому работа PhpMyAdmin и MySQL тесно взаимосвязана.

Для аутентификации в веб-интерфейсе PhpMyAdmin используются данные пользователей MySQL, поэтому важно создать учётную запись MySQL и предоставить привилегии уровня «ALL PRIVILEGES». Перед тем как выполнить создание нового пользователя нужно открыть оболочку MySQL следующей командой:

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

sudo mysql

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

CREATE USER 'phpadmin'@'localhost' IDENTIFIED BY 'mypassword';
GRANT ALL PRIVILEGES ON *.* TO 'phpadmin'@'localhost' WITH GRANT OPTION;

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

Выйти из оболочки MySQL можно командой:

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

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

Adblock
detector