Несколько MySQL под управлением одного phpMyAdmin. Установка Apache, PHP, MySQL, phpMyAdmin в Ubuntu Linux Установка phpmyadmin linux

Кликните по заголовку, что бы открыть/закрыть подробное описание процесса

Нам потребуется создать новую базу данных - щелкаем по вкладке "Базы данных" . В текстовом поле подраздела "Создать базу данных" вводим phpmyadmin , нажимаем кнопку "Создать" .

Создадим нового пользователя - щелкаем по вкладке "Пользователи" .

На данный момент у нас создан единственный пользователь с именем root . Кликаем по ссылке "Добавить пользователя" ,

в открывшемся всплывающем окне, в разделе "Информация учетной записи" в текстовое поле "Имя пользователя:" вводим "pma" . В текстовое поле "Хост:" вводим "localhost" . В поле "Пароль:" вводим пароль (любой, который придет вам в голову). В поле "Подтверждение:" подтверждаем введенный выше пароль.

Скролируем окно до раздела "Глобальные привилегии" , жмем на ссылку "Отметить все" .

Кликаем по кнопке "Добавить пользователя" .

Новый пользователь с именем pma будет создан.

Теперь, в созданную базу нужно импортировать данные. В левой колонке выбираем phpmyadmin (кликаем по ней мышью).

В верхнем меню щелкаем по вкладке Импорт .

В подразделе Импортируемый файл: нажимаем кнопку обзор.

В открывшемся контекстном меню выбираем файл create_tables.sql , который находится в папке examples , лежащей внутри корневой директории phpMyAdmin (в моем случае полный путь выглядит так: c:\Program Files (x86)\Apache Software Foundation\Apache2.2\htdocs\phpmyadmin\examples\create_tables.sql ).

В самом низу страницы находим и жмем кнопку Ok . База импортирована.

Внесем изменения в конфигурационный файл.

Открываем в блокноте файл config.inc.php . Ищем строку $cfg["Servers"][$i]["controlhost"] = ""; , разкомментируем ее (удаляем двойной слеш), в кавычки вписываем localhost (строка примет вид $cfg["Servers"][$i]["controlhost"] = "localhost"; ).

Находим и разкомментируем строку $cfg["Servers"][$i]["controlpass"] = "pmapass"; , в кавычках меняем пароль, на тот, который назначался при создании пользователя pma .

Находим и разкомментируем следующие строки:

$cfg["Servers"][$i]["controluser"] = "pma";

$cfg["Servers"][$i]["pmadb"] = "phpmyadmin";

$cfg["Servers"][$i]["bookmarktable"] = "pma_bookmark";

$cfg["Servers"][$i]["relation"] = "pma_relation";

$cfg["Servers"][$i]["table_info"] = "pma_table_info";

$cfg["Servers"][$i]["table_coords"] = "pma_table_coords";

$cfg["Servers"][$i]["pdf_pages"] = "pma_pdf_pages";

$cfg["Servers"][$i]["column_info"] = "pma_column_info";

$cfg["Servers"][$i]["history"] = "pma_history";

$cfg["Servers"][$i]["tracking"] = "pma_tracking";

$cfg["Servers"][$i]["designer_coords"] = "pma_designer_coords";

$cfg["Servers"][$i]["userconfig"] = "pma_userconfig";

$cfg["Servers"][$i]["recent"] = "pma_recent";

$cfg["Servers"][$i]["table_uiprefs"] = "pma_table_uiprefs";

Сохраняем изменения в файле, выходим и снова заходим в phpMyAdmin . Предупреждение исчезло.

Как альтернативный вариант (если очень не хочется копаться в коде) - заменяем все содержимое файла config.inc.php на код, приведенный ниже

< $cfg["blowfish_secret"] = "a8b7c6d"; $i = 0; $i++; $cfg["Servers"][$i]["auth_type"] = "cookie"; $cfg["Servers"][$i]["host"] = "localhost"; $cfg["Servers"][$i]["connect_type"] = "tcp"; $cfg["Servers"][$i]["compress"] = false; $cfg["Servers"][$i]["extension"] = "mysqli"; $cfg["Servers"][$i]["AllowNoPassword"] = false; $cfg["Servers"][$i]["controlhost"] = "localhost"; $cfg["Servers"][$i]["controluser"] = "pma"; $cfg["Servers"][$i]["controlpass"] = "пароль для пользователя pma"; $cfg["Servers"][$i]["pmadb"] = "phpmyadmin"; $cfg["Servers"][$i]["bookmarktable"] = "pma_bookmark"; $cfg["Servers"][$i]["relation"] = "pma_relation"; $cfg["Servers"][$i]["table_info"] = "pma_table_info"; $cfg["Servers"][$i]["table_coords"] = "pma_table_coords"; $cfg["Servers"][$i]["pdf_pages"] = "pma_pdf_pages"; $cfg["Servers"][$i]["column_info"] = "pma_column_info"; $cfg["Servers"][$i]["history"] = "pma_history"; $cfg["Servers"][$i]["table_uiprefs"] = "pma_table_uiprefs"; $cfg["Servers"][$i]["tracking"] = "pma_tracking"; $cfg["Servers"][$i]["designer_coords"] = "pma_designer_coords"; $cfg["Servers"][$i]["userconfig"] = "pma_userconfig"; $cfg["Servers"][$i]["recent"] = "pma_recent"; $cfg["UploadDir"] = ""; $cfg["SaveDir"] = ""; ?>

Не забываем вписать в строке $cfg["Servers"][$i]["controlpass"] = "пароль для пользователя pma"; в кавычках пароль, который был задан для пользователя pma и в строке $cfg["blowfish_secret"] = "a8b7c6d"; увеличить надпись в кавычках минимум до 10 символов

PhpMyAdmin - мощный и удобный инструмент для оправления базами данных MySQL и MariaDB. Так же работает с Percona. Поддерживает огромный перечень операций и работает без дополнительных настроек практически в любом современном дистрибутиве Linux.

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

В данной статье мы рассмотрим несколько вариантов подключения phpMyAdmin ко внешнему серверу, так как задачи и условия у всех разные. В примере я использую сервер баз данных MariaDB, ОС Ubuntu и phpMyAdmin версии 4.5.4, что практически не важно, так как всё достаточно просто. PhpMyAdmin установлен на домашний ПК, но с тем же успехом он может быть настроен и на удалённом сервере. Имеется ввиду, что всё прикладное ПО, такое как непосредственно сам сервер БД, http-сервер и php у вас уже установлено.

Пример первый (доступ с паролем).

Сервер баз данных расположен на машине с адресом 10.10.1.10. PhpMyAdmin устанавливаем на локальный ПК с адресом 10.10.1.20. Необходимо убедиться, что сервер баз данных принимает внешние соединения. Правим my.cnf (/etc/mysql/my.cnf). В строке bind-address по умолчанию указан адрес 127.0.0.1, что запрещает серверу принимать внешние соединения. Заменяем его на 0.0.0.0, что разрешит внешние соединения с любого адреса. В целях безопасности лучше уточнить адрес, если вы не планируете подключаться к серверу из разных источников. В этом примере будет использоваться строка следующего вида:

Bind-address = 10.10.1.20

Сохраняем и перезагружаем.

Sudo service mysql restart

На ПК (или другой удалённый сервер) устанавливаем phpMyAdmin.

Sudo apt install phpmyadmin

В процессе установки отказываемся от конфигурации (конфигурировать нечего; сервер баз данных на удалённой машине).

Далее правим конфигурационный файл phpMyAdmin config.inc.php (/etc/phpmyadmin/config.inc.php). Если это была свежая установка и на локальном хосте нет сервера баз данных, то удаляем все строки (кроме первой «

/* External Server #1 */ $i++; $cfg["Servers"][$i]["verbose"] = "Server Name"; $cfg["Servers"][$i]["host"] = "10.10.1.10"; $cfg["Servers"][$i]["connect_type"] = "tcp"; $cfg["Servers"][$i]["extension"] = "mysqli"; $cfg["Servers"][$i]["auth_type"] = "cookie"; $cfg["Servers"][$i]["AllowNoPassword"] = false;

Вместо Server Name вписываем что угодно. Сохраняем и закрываем файл.

Открываем в браузере адрес http://localhost/phpmyadmin/ и далее всё в штатном режиме. Если у вас подключено несколько серверов, то их можно выбрать во вкладке, под полями логина и пароля.

Пример второй (без пароля).

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

На стороне сервера входим в консоль сервера БД

Mysql -u root -p

Создаём пользователя (условно «username»)

CREATE USER "username"@"%" IDENTIFIED BY "password";

«%» - говорит о том, что пользователь сможет войти с любого хоста. Если в этом нет необходимости, то укажите IP хоста. В данном примере это 10.10.1.20. «password» - пароль пользователя.

Создаём новую базу данных (условно «newdatabase»)

CREATE DATABASE newdatabase;

Даём пользователю username все права на управление базой newdatabase

Grant CREATE,INSERT,DELETE,UPDATE,SELECT on newdatabase.* to "username"@"%";

По поводу «%» смотрите выше.

Таким образом мы создали базу данных «newdatabase», пользователя для неё «username» с паролем «password» и дали ему права на управление этой базой.

В config.inc.php (/etc/phpmyadmin/config.inc.php) вписываем следующее:

/* newdatabase */ $i++; $cfg["Servers"][$i]["connect_type"] = "tcp"; $cfg["Servers"][$i]["auth_type"] = "config"; $cfg["Servers"][$i]["host"] = "10.10.1.10"; $cfg["Servers"][$i]["verbose"] = "Server Name"; $cfg["Servers"][$i]["user"] = "username"; $cfg["Servers"][$i]["password"] = "password"; $cfg["Servers"][$i]["hide_db"] = "^(mysql performance_schema|innodb|information_schema)$";

При входе в phpMyAdmin мы увидим вкладку с сервером (или серверами), но выбрав нужный, поля логина и пароля нужно оставить пустыми.

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

Пример третий (без пароля с админскими привилегиями).

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

Если phpMyAdmin у вас на реально персональном компьютере дома, порт 3306 закрыт от посторонних и так далее, то всё это не опаснее, чем конфигурационные скрипты подавляющего числа CMS, где данные доступа к БД записаны открытым текстом.

И так, создаём пользователя и даём ему права, идентичные правам root.

CREATE USER "superuser"@"10.10.1.20" IDENTIFIED BY "strongpassword";
GRANT ALL PRIVILEGES ON *.* TO "superuser"@"10.10.1.20" WITH GRANT OPTION;

Мы создали пользователя «superuser» с паролем «strongpassword», который может соединяться с сервером БД с IP адреса 10.10.1.20.

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

Phpmyadmin - это один из самых популярных инструментов для управления базами данных mysql через веб-интерфейс. Он написан на php и JavaScript и с помощью него вы можете управлять локальным или удаленным сервером баз данных.

Используя PhpMyAdmin, мы можем создавать, удалять, переименовывать, редактировать базы данных, таблицы, поля, а также управлять пользователями, экспортировать, импортировать записи и выполнять любые команды SQL. На данный момент поддерживаются сервера баз данных MariaDB, MySQL и Drizzle. В этой статье мы рассмотрим как выполняется установка PhpMyAdmin Ubuntu 16.04 на веб-сервер Apache или Nginx.

Установка PhpMyAdmin в Ubuntu 16.04

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

Затем установим саму программу:

sudo apt install phpmyadmin

В официальных репозиториях содержится более старая версия, поэтому если вы хотите установить phpmyadmin ubuntu самой новой версии, нужно использовать PPA:

sudo add-apt-repository ppa:nijel/phpmyadmin
$ sudo apt-get update
$ sudo apt install phpmyadmin

Во время установки будет необходимо выбрать веб-сервер, с которым мы будем устанавливать phpmyadmin, выберите Apache с помощью пробела и нажмите Ок:

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

Затем введите два раза нужный пароль. Он вам вряд ли понадобится в дальнейшим, так что можете выбрать что-то сложное:

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

sudo phpenmod mcrypt
$ sudo phpenmod mbstring

Затем включите конфигурационный файл Apache:

sudo a2enconf phpmyadmin

Установка phpmyadmin nginx ubuntu выполняется добавлением следующей секции в файл /etc/nginx/nginx.conf мы предполагаем, что nginx работает через php-fpm:

sudo vi /etc/nginx/nginx.conf

server{
listen 80;
server_name phpmyadmin;
access_log /var/log/phpmyadmin.access_log;
error_log /var/log/phpmyadmin.error_log;

location ^~ /phpmyadmin/ {
alias /usr/share/phpMyAdmin/;
index index.php;
location ~ /phpmyadmin(/.*\.php) {
include fastcgi.conf;
fastcgi_param SERVER_NAME localhost;
fastcgi_param SCRIPT_FILENAME /usr/share/phpMyAdmin$1;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
}
}
}

Сохраните и перезагрузите ваш веб-сервер:

sudo systemctl restart apache2

sudo systemctl restart nginx

Теперь, все точно должно работать. Откройте браузер и наберите в адресной строке http://localhost/phpmyadmin:

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

Защита PhpMyAdmin

Установка phpmyadmn Ubuntu 16.04 завершена. Но эта программа дает полный контроль над базой данных, поэтому нам нужно обеспечить максимальную ее безопасность. Сделаем доступ к Phpmyadmin по паролю. Для настройки Apache создайте файл /usr/share/phpmyadmin/.htaccess со следующим содержанием:

sudo vi /usr/share/phpmyadmin/.htaccess

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

Вот что значат эти строки:

  • AuthType Basic - эта строка устанавливает тип аутентификации, мы указываем что будем использовать пароль;
  • AuthName - задаем сообщение, которое будет видеть;
  • AuthUserFile - файл с данными, которые будут использоваться для аутентификации;
  • Require - необходимое условие, для аутентификации.

sudo htpasswd -c /etc/phpmyadmin/.htpasswd пользователь

Вы можете добавить несколько пользователей, но для этого уже не используйте опцию -c:

sudo htpasswd /etc/phpmyadmin/.htpasswd пользователь

Теперь, при попытке открыть адрес phpmyadmin система запросит пароль. Только пользователи, которые введут пароль смогут получить доступ к интерфейсу входа phpmyadmin.

Выводы

В этой статье мы рассмотрели как выполняется установка phpmyadmin Ubuntu 16.04. Как видите, все очень просто, и достаточно потратить немного времени на то, чтобы все разобраться. Если у вас остались вопросы, спрашивайте в комментариях!

Любой веб-разработчик знает, что для работы практически каждого сайта необходима база данных. Она позволяет хранить информацию, управлять ею и получать в нужный момент. Чтобы все перечисленное можно было использовать в более удобной форме, группа энтузиастов решила создать продукт, совмещающий удобство и функциональность при работе с СУБД. Его название — phpMyAdmin. Как правило, он уже имеется на многих хостингах. Поэтому в статье речь пойдёт о том, как провести установку и настройку phpMyAdmin на

Подготовка

Так как сам phpMyAdmin написан на php, то для его работы потребуется установить весь комплект необходимого программного обеспечения — Apache, PHP, MySQL.

Каждый компонент можно установить вручную по отдельности, а можно сразу все. Для Linux есть связка LAMP, для Windows — "Денвер" или OpenServer. Установка всего программного обеспечения и настройка его по отдельности позволит изучить состав и структуру работы всего сервера в целом. Если же время не позволяет разбираться с внутренним строением, проще и удобнее сразу поставить сборку.

Настройка PhpMyAdmin в Ubuntu

Пакет имеется в стандартных репозиториях "Убунту", поэтому достаточно в терминале набрать команду:

sudo apt-get install phpMyAdmin.

В процессе будет предложено пройти по этапам настройки phpMyAdmin. На первом нужно выбрать веб-сервер, который намечено использовать для запуска. В данном случае это — apache2.

В следующем окне будет предложено выполнить конфигурацию базы данных для phpMyAdmin. Стоит согласиться. Система запросит пароль для MySQL. А далее и для phpMyAdmin.

После этого в папке /etc/apache2/conf-enabled/ появится файл конфигурации.

Осталось установить пару деталей и активировать их. Можно использовать команды:

sudo apt-get install php-mbstring php-gettext.

А их запуск выполняется так:

sudo phpenmod mcrypt;

sudo phpenmod mbstring.

После этого понадобится перезапуск веб-сервера. Это выполняется с помощью команды:

sudo systemctl restart apache2.

По идее, все готово и можно приступать к работе.

Запуск и конфигурирование

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

созданный домен/phpmyadmin.

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

Панель управления

Интерфейс приложения разделен на логические блоки, объединённые по общему принципу.

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

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

  • базы данных . Практически дублирует меню слева, то есть содержит перечень имеющихся баз;
  • SQL . Очень интересный пункт для тех, кто знает, как правильно составлять запросы, и активно пользуется ими. Можно вручную выполнить выборку, удаление, сортировку и прочие функции SQL;
  • состояние . Текущее положение в базах. Их общий объём, трафик, количество принятых и отправленных данных;
  • учётные записи пользователей . Все сохранённые данные о пользователях, с указанием их привилегий, адресах и паролях;
  • экспорт и импорт . Очень удобные функции для осуществления обмена между базой и другим программным обеспечением. Например, для обновления сайта вручную, если возникла такая необходимость. К тому же это очень удобный инструмент для создания резервной копии важных данных, если автоматически такая возможность отсутствует;
  • настройки . Множество различных параметров, так или иначе связанных с работой phpMyAdmin, баз, запросов и многого другого;
  • репликация . Связь с другими серверами для одновременного изменения на репликах — то есть повторных экземплярах текущего сервера баз данных;
  • переменные . Как понятно из названия, раздел содержит значения для внутренних нужд сервера и системы. Без надобности ими, как правило, не пользуются;
  • кодировки . Показывает все имеющиеся в системе варианты отображения шрифтов;
  • сведения об используемых в phpMyAdmin видах хранения данных;
  • расширения . Перечень дополнений phpMyAdmin, увеличивающих функционал системы.

Общие настройки прямо по центру позволяют сменить пароль или установить используемую кодировку текста.

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

Справа находится информационная панель со сведениями о сервере баз данных и веб-сервере, а также несколько ссылок для справки по phpMyAdmin.

К сожалению, приложение часто используют злоумышленники для получения несанкционированного доступа, поэтому нужно знать, как оградиться от этого.

Безопасность

Самое первое, что предстоит сделать, — использовать файлы веб-сервера Apache htaccess. Для начала нужно сообщить apache, что будет применяться специальный файл для настройки phpMyAdmin.

Для этого надо настроить файл конфигурации, расположенный по адресу /etc/apache2/conf-available/phpmyadmin.conf.

Нужно добавить особую директиву AllowOverride All. После изменения и сохранения файла необходимо снова перезапустить веб-сервер.

Теперь для настройки phpMyAdmin понадобится сам файл, в котором и будут определены правила доступа в панель управления. Он должен называться.htaccess и размещаться по пути /usr/share/phpmyadmin.

В нем указываются следующие параметры:

AuthName «Restricted Files»

AuthUserFile /etc/phpmyadmin/.htpasswd

Require valid-user.

Это. набор ключевых слов позволит осуществить следующее:

  • Первая строка отвечает за характер авторизации. Параметр «базовый» означает, что войти можно будет по логину и паролю.
  • Вторая определяет, какой текст будет показан вместо приветствия.
  • В третьей строке указываются файл, в котором будет храниться пароль.
  • Четвёртая сообщает системе, что только аутентифицированные пользователи могут сюда попасть.

Пароль

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

Для начала нужно установить утилиту htpasswd. Она имеется в репозиториях "Убунту", поэтому достаточно выполнить команду в терминале:

sudo apt-get install apache2-utils.

Теперь все так же в терминале надо набрать:

sudo htpasswd -c /etc/phpmyadmin/.htpasswd имя пользователя.

Она создаст нового пользователя и предложит указать пароль для него.

Теперь доступ надёжно защищен. При попытке войти в административную панель phpMyAdmin пользователя откроется дополнительное окно для получения прав просмотра и изменения настроек.

CentOS

Настройка phpMyAdmin в CentOS, на самом деле, мало чем отличается. Алгоритм действий будет практически таким же. Разве что команда установки немного другая:

yum install -y phpmyadmin

Все дальнейшие настройки и манипуляции актуальны как для Ubuntu, так и для CentOS.

Среда Windows

Для операционной системы Windows имеется несколько готовых решений по созданию сервера с имеющимся комплектом технологий. Например OpenServer. Он уже содержит на «борту» установленный phpMyAdmin. Найти его можно в контекстном меню сервера, в пункте «Дополнительно».

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

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

  • во избежание падений сервера стоит использовать самые последние версии программного обеспечения;
  • на хостинге, скорее всего, уже установлен phpMyAdmin, но все же его безопасность можно настроить через файлы htaccess;
  • стоит внимательно относиться к выбору пароля. Зачастую его восстановление занимает гораздо больше времени, чем продуманный подход к его созданию;
  • использование готовых сборок позволяет реализовать быстрое развёртывание сервера со всем необходимым, но не всегда дает возможность гибко его настроить и понять тонкости работы.

В заключение

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

.
3. Теперь Вы должны создать конфигурационный файл (config.inc.php). Создание конфигурационного файла - необходимое условие прежде всего для запуска phpMyAdmin, а также необходимо для задания некоторых возможностей. Эта задача может быть выполнена двумя разными способами. Традиционно, пользователи могут вручную отредактировать копию файла config.inc.php. Кроме этого, пользователи, предпочитающие графическую инсталляцию, могут воспользоваться мастером установки (скриптом инсталляции).

  • Для того, чтобы вручную создать конфигурационный файл, достаточно простейшего текстового редактора, с помощью которого нужно создать файл config.inc.php. Для упрощения задачи, Вы можете скопировать в текстовый редактор содержимое файла config.sample.inc.php - образца рабочей конфигурации, содержащей минимальное количество конфигурационных переменных.

    Созданный файл необходимо поместить в главную директорию phpMyAdmin (ту, которая содержит index.php). phpMyAdmin сперва загружает libraries/config.default.php, а затем подменяет значения прописанных в нем переменных теми, что находит в config.inc.php. Если значение по умолчанию (тех переменных, что определены в libraries/config.default.php) Вас устраивает, тогда нет необходимости включать его в config.inc.php. Для запуска phpMyAdmin вам понадобятся как минимум несколько директив, простейшая конфигурация может выглядеть так:

    $cfg["blowfish_secret"] = "ba17c1ec07d65003"; // use here a value of your choice
    $i=0;
    $i++;
    $cfg["Servers"][$i]["auth_type"] = "cookie";
    ?>

    Или, если вы не хотите вводить каждый раз логин/пароль (данная конфигурация не рекомендуется из соображений безопасности), конфигурационный файл может выглядеть так:
  • Вместо ручного редактирования файла config.inc.php, Вы можете использовать скрипт установки. Прежде всего, вам необходимо вручную создать в главной директории phpMyAdmin папку "config". Это - мера безопасности. При работе под ОС Linux/Unix Вы можете использовать следующие команды:

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

    На других платформах, просто создайте директорию и убедитесь, что Ваш веб-сервер имеет права на чтение и запись в неё. FAQ 1.26 может помочь в этом случае.

    Затем, откройте в браузере scripts/setup.php. Помните, что изменения не будут сохранены на диск до тех пор, пока не будет нажата кнопка "Save" в блоке "Configuration". Если все хорошо, то скрипт сохранит новый config.inc.php в директорию config/, но если веб-сервер не имеет необходимых прав, Вы можете увидеть сообщение об ошибке "Cannot load or save configuration". В таком случае, убедитесь, что директория config/ создана и имеет необходимые права, либо воспользуйтесь ссылкой "Download" для сохранения конфигурационного файла на локальный диск и последующей закачки (например, через FTP) на сервер.

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

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

4. Если Вы собираетесь использовать "config" аутентификацию (auth_type), необходимо защитить директорию в которую был установлен phpMyAdmin от несанкционированного доступа, потому что данный режим позволяет любому пользователю получить доступ к phpMyAdmin без предварительного ввода логина/пароля. Рекомендуются альтернативные методы аутентификации, например, HTTP-AUTH (с помощью.htaccess файла), либо использованием одного из двух других методов аутентификации: cookie или http. См. подраздел FAQ "Мультипользовательская установка" для дополнительной информации, особенно обратите внимание на FAQ 4.4 .
5. Откройте главную директорию phpMyAdmin в вашем браузере. Должно появиться окно приветствия phpMyAdmin и Ваши базы данных, или окно ввода логина, в случае использования режима HTTP- или cookie-аутентификации. 6. Вы должны запретить доступ к субдиректории./libraries средствами вашего веб-сервера. В случае использования веб-сервера Apache для защиты директории Вы можете использовать файл.htaccess. При использовании других веб-серверов вы должны запретить доступ к директории./libraries самостоятельно. Подобная конфигурирование - превентивная мера на случай обнаружения уязвимостей: возможного раскрытия пути (path exposure) и межсайтового выполнения сценариев (Cross-site Scripting, XSS).

Linked-tables infrastructure (Инфраструктура связанных таблиц)

Для использования многих опций (закладок, комментариев, SQL-истории, PDF-схем, преобразования содержимого полей, и т.д.) необходимо создать набор специальных таблиц. Эти таблицы могут находиться как в Вашей базе данных, так и в центральной базе при многопользовательской системе (в этом случае данная БД может быть доступна только для пользователя controluser, соответственно, другие пользователи не имеют прав на неё).

Зайдите в директорию scripts/ , здесь вы найдете файл create_tables.sql . (Если используете Windows сервер, обратите особое внимание на FAQ 1.24).

Если у Вас установлена версия 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 на данные таблицы (см. ниже, раздел "Использование режима аутентификации").

Обновление старой версии

Просто скопируйте конфигурационный файл ./config.inc.php от предыдущей версии в директорию куда был распакован phpMyAdmin. Конфигурационные файлы из очень старых версий (2.3.0 or older) могут потребовать некоторых настроек, т.к. некоторые опции были изменены или удалены.

Если Вы обновили свой MySQL-сервер с версии старше, чем 4.1.2 до версии 4.1.2 или новее,и используете инфраструктуру связанных таблиц, тогда необходимо запустить SQL-скрипт, который находится в scripts/upgrade_tables_mysql_4_1_2+.sql.

Использование режимов аутентификации

При использовании "HTTP" и "cookie" режимов phpMyAdmin, рекомендуется завести пользователя (controluser), который должен обладать правами только на выборку (SELECT) из следующих таблиц: mysql.user (все столбцы за исключением "Password"), mysql.db (все столбцы), mysql.host (все столбцы) и mysql.tables_priv (все столбцы за исключением "Grantor" и "Timestamp").

GRANT USAGE ON mysql.* TO "pma"@"localhost" IDENTIFIED BY "pmapass";
GRANT SELECT (
Host, User, Select_priv, Insert_priv, Update_priv, Delete_priv,
Create_priv, Drop_priv, Reload_priv, Shutdown_priv, Process_priv,
File_priv, Grant_priv, References_priv, Index_priv, Alter_priv,
Show_db_priv, Super_priv, Create_tmp_table_priv, Lock_tables_priv,
Execute_priv, Repl_slave_priv, Repl_client_priv
) ON mysql.user TO "pma"@"localhost";
GRANT SELECT ON mysql.db TO "pma"@"localhost";
GRANT SELECT ON mysql.host TO "pma"@"localhost";
GRANT SELECT (Host, Db, User, Table_name, Table_priv, Column_priv)
ON mysql.tables_priv TO "pma"@"localhost";

Необходимо установить настройки для controluser в файле config.inc.php в следующих секциях: $cfg["Servers"][$i]["controluser"] и $cfg["Servers"][$i]["controlpass"] .

В нижеприведенном примере, в обучающих целях используются следующие значения для: "controluser" - "pma", "pmapass" - "controlpass". Но на практике используйте другие значения в своих файлах!

Разумеется, localhost в случае необходимости нужно заменить на реальное имя веб-сервера.

Если вы используете старую версию MySQL (ниже 4.0.2), замените первый запрос GRANT SELECT следующим образом:

GRANT SELECT (Host, User, Select_priv, Insert_priv, Update_priv, Delete_priv, Create_priv, Drop_priv, Reload_priv, Shutdown_priv, Process_priv, File_priv, Grant_priv, References_priv, Index_priv, Alter_priv) ON mysql.user TO "pma"@"localhost";

И если Вы хотите использовать возможности закладок и связей:

GRANT SELECT, INSERT, UPDATE, DELETE ON .* TO "pma"@"localhost";

(конечно, подразумевается, что должна быть настроена инфраструктура связанных таблиц).

  • Разумеется, пользователь должен разрешить браузеру использовать куки. Теперь это необходимое требование для всех методов аутентификации
  • В этом режиме, после прохождения первичной идентификации phpMyAdmin создает на компьютере пользователя cookie-файл, содержащий логин и пароль пользователя, который будет автоматически подставляться при следующих сеансах.
  • При использовании данного режима пользователь может завершить сеанс phpMyAdmin и авторизоваться под другим именем.
  • Если вы собираетесь проходить процедуру идентификации на произвольном сервере обратите внимание на директиву $cfg["AllowArbitraryServer"] .
  • Как указано в секции "Технические требования" , наличие PHP библиотеки mcrypt на сервере способно ускорить фазу авторизации, но наличие её не обязательно.
  • "config" - аутентификация
    Статьи по теме: