Установка phpmyadmin на Linux — Debian. PhpMyAdmin — что это такое, где можно его скачать, как установить, настроить и использовать.

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

Помимо этого, ПхпМайАдмин представляет возможность разграничить уровни доступа между пользователи - чтобы одни пользователи имели возможность управлять только своей БД, а другие имели контроль над всем MySQL сервером.

Ну а в этой статье вы прочитаете все об установке и настройке приложения phpmyadmin.

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

Введение

Основные операции, при которых вам понадобится этот скрипт в качестве повседневного инструмента такие:

  • Создание новой, чистой БД для сайта.
  • Создание определенных таблиц с полями внутри БД.
  • Импорт и конечно же экспорт баз данных.
  • Бэкап БД.
  • Оптимизация таблиц БД.
  • Разовое внесение сотен изменений в базу данных при помощи SQL-запроса.

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

Вообще-то, phpMyAdmin установлен на любом уважающем себя хостинге и является стандартом для предоставления вебмастерам и блоггерам интерфейса для работы со своими БД. Новички часто путаются, потому что создается БД в интерфейсе cPanel, а чтобы изменить БД приходится заходить в другую панель.

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

Phpmyadmin - как установить и настроить

Скачать актуальную версию на русском можно , либо скачивайте официальную версию на английском .

Обратите внимание на совместимость скачиваемой версии с установленной версией PHP и MySQL на вашем хостинге (или локалхосте). Версии PhpMyAdmin новее 4.0 поддерживают совместимость с PHP 5, MySQL 5. Версия 2.11 совместима с PHP 4+, MySQL 3+.

Итак, чтобы установить phpmyadmin на сервер, подключитесь к нему через FTP - используйте для этого FileZilla или WinSCP. Создайте папку, пусть это будет «phpmyadmin» (не используйте заглавные буквы) и залейте в нее архив с phpmyadmin.

Распакуйте содержимое архива. Теперь можем перейти к настройке скрипта.

Найдите в созданной вами папке «config.sample.inc.php» и смело переименуйте его в «config.inc.php». Следующее ваше действие - откройте файл «config.inc.php» и задайте идентификатор доступа, который зашифрует пароль к скрипту управления БД. Для этого введите не менее 11-12 знаков в строку (для примера я сделал свой ключ):

$cfg [ "blowfish_secret" ] = "slllvojnfgvhsbnslfkshdf" ;

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

$cfg [ "Servers" ] [ $i ] [ "auth_type" ] = "cookie" ;

И замените ее на:

$cfg [ "Servers" ] [ $i ] [ "auth_type" ] = "config" ;

$cfg [ "Servers" ] [ $i ] [ "user" ] = "your_creative_login" ;

$cfg [ "Servers" ] [ $i ] [ "password" ] = "your_strong_password" ;

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

Все настроено. Дополнительные возможности настройки вы можете посмотреть в официальной документации на русском языке: http://php-myadmin.ru/doc/config.html .

Как установить phpmyadmin на Windows Denwer

Вообще, phpmyadmin уже установлен и по умолчанию входит в стартовый комплект таких локальных серверов с установленным MySQL как Denwer, Openserver, Winginx. Но, всякое бывает - вдруг есть потребность поставить заново или обновить.

Чтобы установить phpmyadmin на Denwer, посмотрите следующее видео:

Установка phpmyadmin на Linux - Ubuntu

Для того чтобы установить ПхпМайАдмин на Убунту, вам нужен доступ к MySQL в том месте где вы собрались устанавливать phpmyadmin - на локалхосте или на удаленном сервере, который доступен по локальной сети или через интернет.

Итак, введите в терминале:

sudo apt-get install phpmyadmin

Затем выберите вебсервер, который будет настроен. Часто это Apache2, но у вас может быть другой. Теперь перейдем к настройке Апача, чтобы все работало.

Если у вас Убунту версии 13.10 и позднее, введите в терминале:

sudo ln -s /etc/phpmyadmin/apache.conf
/etc/apache2/conf-available/phpmyadmin.conf
sudo a2enconf phpmyadmin
sudo /etc/init.d/apache2 reload

Затем откройте новую вкладку в браузере и перейдите по адресу http://localhost/phpmyadmin (в зависимости от папки, которую вы создали для установки скрипта). Все, теперь заходите в качестве пользователя root, либо введите другой логин и пароль, если вы задавали эти данные в конфиге.

Если при переходе по адресу http://localhost/phpmyadmin внезапно возникает распространенная ошибка: «404 - Not found», нужно еще раз проверить, где расположен файл phpmyadmin.conf.

Допустим, у вас Убунту 12.04 и этого файла нет по адресу /etc/apache2/conf.d/phpmyadmin.conf. Тогда вам нужно проверить, может быть он спрятался от нас по другому - /etc/phpmyadmin/apache.conf. И если есть - просто переместите файл и затем перезапустите сервер:

sudo ln -s /etc/phpmyadmin/apache.conf /etc/apache2/conf.d/phpmyadmin.conf
sudo /etc/init.d/apache2 restart

Снова попробуйте войти через браузер. Если все работает, значит phpmyadmin установлен корректно и готов к работе. Теперь вы можете изменить пароль пользователя root. А уже после этого, смело создавайте других пользователей и проводите операции над базами данных.

Немного о настройке phpmyadmin на Ubuntu

Вы наверное уже знаете, что файлы настройки phpMyAdmin расположены здесь /etc/phpmyadmin, а файл глобальных настроек применяемых ко всему скрипту здесь - /etc/phpmyadmin/config.inc.php.

Другой файл настройки это /etc/phpmyadmin/apache.conf. Он создан для настройки самого Apache2 для обслуживания phpMyAdmin и является ссылкой-проводником на /etc/apache2/conf.d/phpmyadmin.conf.

В нем вы найдете настройки по загрузке PHP, сможете изменить права доступа к каталогу и делать другие интересные вещи.

Если у вас остались вопросы, предлагаю ознакомиться с официальной документацией phpMyAdmin Ubuntu Wiki .

Установка phpmyadmin на Linux - Debian

Перед установкой phpmyadmin на Дебиан, у вас уже должны быть установлены Apache, MySQL и PHP. Т.е. хостинг работает, но недостает phpmyadmin - инструмента для удобства при работе с базами данных, значительно упрощающего администрирование сервера БД (добавление и удаление пользователей, создание и удаление баз данных, выполнение SQL-запросов).

Для установки phpMyAdmin на Debian выполните команду:

apt-get install phpmyadmin

После этого загрузятся все компоненты и начнется процесс установки - перед вами будет мастер настройки phpMyAdmin. Первый вопрос мастера установки - об установленном вебсервере, выберите свой (apache2, lighthttpd).


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



Если у вас возникли проблемы, вы можете посмотреть дополнительное видео по теме установки phpMyAdmin:

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

Нам потребуется создать новую базу данных - щелкаем по вкладке "Базы данных" . В текстовом поле подраздела "Создать базу данных" вводим 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 символов

.
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 сервер, обратите особое внимание на. Кроме этого необходимо обладать правами 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";

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

Разумеется, вышеприведенный запрос работает только в том случае, если рабочая версия MySQL поддерживает команду GRANT (поддерживается начиная с версии 3.22.11).

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

    Дата: 2011-01-26

    Воспользуемся версией phpMyAdmin-3.3.9-all-languages. Распакуем архив, создадим папку phpmyadmin на сервере Apache 2.2. В нашем примере путь к папке Apache: C:\WWW\htdocs. Рекомендуется создать виртуальный хост специально для phpMyAdmin. Конфигурирование и создание виртуальных хостов Apache рассматривается в другой инструкции, данная инструкция рассматривается с основными настройками.

    Создание config.inc.php.

    Формируем файл конфигурации в любом браузере вводим http://localhost/phpmyadmin/setup/
    Откроется мастер, с помощью которого можно сосать файл конфигурации phpMyAdmin - config.inc.php. В инструкции подробно рассмотрим расширенные функции phpMyAdmin.

    Для начала работы сформируем начальный конфигурационный файл config.inc.php.

    Кликните по кнопке Новый сервер, в предложенном окне заполните необходимые поля на вкладке основные настройки:
    Без ввода пароля . Введите пользователя по умолчанию root, пароль подключения к серверу БД, порт по умолчанию – 3306, установите галочку соединение без пароля, тип идентификации установите config, порт можно не указывать.
    Для подключения с проверкой пароля в поле тип идентификации установите cookie, остальное как на рисунке ниже.


    Установка расширенных функций для работы со связанными таблицами.

    Переходим на вкладку Расширения РМА. Для установки функций кликните по значку карандаша. Выбираем все элементы. В поле Выделенный пользователь введите имя пользователя pma, в поле Пароль выделенного пользователя пароль.


    После окончании конфигурирование кликните на кнопке Сохранить.
    В следующем окне выберите кнопку Скачать.



    Для изменения настроек используйте ссылку изменить.

    Дополнительные настройки.

    В примере конфигурационного файла не используется. Кликните по ссылки настройки. Выберете вкладку импорт / экспорт.
    Пожеланию можете задать каталоги для импорта и экспорта, разрешить перекодирование, выбрать методы архивации.
    Если ваш веб сервер поддерживает SSL соединения, перейдите на вкладку Безопасность установите необходимую галочку, используем SSL соединения. Ключ Blowfish создаётся автоматически.

    Пример файла конфигурации config.inc.php с запросом подключения к серверу БД.

    Созданный файл config.inc.php перемещаем в корень папки phpMyAdmin в нашем примере используется C:\WWW\htdocs\phpmeadmin\

    Настройка сервера БД MySQL 5 для работы со связанными таблицами.

    Вводим в браузере http://localhost/phpmyadmin/ Вводим пользователя по умолчанию rooot и его пароль. Для безопасности можете изменить пользователя, создав учётную запись и пароль для него. При внесении изменений отредактируйте файл конфигурации phpMyAdmin, если установлено подключение без запроса пароля - config.inc.php изменяем строки:
    $cfg["Servers"][$i]["user"] = "пользователь ";
    $cfg["Servers"][$i]["password"] = "пароль ";

    Создаём базу данных phpmyadmin .
    Введите название в поле новая база данных и нажмите кнопку Создать.


    С помощью мастера импорта импортируем таблицы расположенные в разделе phpMyAdmin, папка scripts файл create_tables.sql. Щелкните по вкладке в браузере Импорт. В открывшемся окне выберете Обзор.

    В нижнем правом углу нажмите кнопку ОК. При возникновении проблем поменяйте кодировку.

    Создаём пользователя pma.
    Выбираем из раскрывающего списка созданную БД phpmyadmin. Переходим на вкладку и Привилегии. Кликните по ссылке. Добавить нового пользователя.


    Введите Имя пользователя pma, Хост Localhost, пароль который создали при конфигурации config.inc.php на вкладке Расширения PMA. Пропускаем глобальные привилегии не установите галочки в поле глобальные привилегии.


    Создаём привилегии уровня БД . Можете выбрать все щелкнув по ссылке отметить всё или укажите в поле Данные SELECT, INSERT, UPDATE, DELETE, FILE кликнем по кнопке ОК.

    Phpmyadmin — популярный инструмент для управления через браузер базами данных mysql. Я почти всегда устанавливаю его на сервер, если там есть базы mysql. Мне он кажется наиболее простым и удобным средством управления. В статье опишу подробно процесс установки на web сервер apache и nginx.

    Ранее я уже касался темы установки phpmyadmin в статье про . Сейчас хочу рассмотреть более подробно этот вопрос не только на nginx, но и традиционном apache (httpd).

    Несколько слов о том, что же из себя представляет инструмент под названием phpmyadmin. Это набор php скриптов, которые устанавливаются на веб сервер. С их помощью можно подключиться к локальному или удаленному mysql серверу и управять им через веб браузер. Я чаще всего с помощью phpmyadmin делаю следующие операции:

    1. Создание новых баз и пользователей, назначение прав.
    2. Экспорт или импорт баз не очень большого объема, до 50-ти мегабайт. Если база большего объема, использую утилиты командной строки (mysqldump и mysql) для управления сервером БД.
    3. Просмотр содержимого баз данных или информации о них.

    По сути, делаю практически все стандартные действия с базами данных. Без phpmyadmin можно обходиться, для самых простых конфигураций серверов (например голый zabbix сервер) мне хватает консольных утилит. Но если есть, к примеру, веб сервер с сайтами, я обязательно поставлю phpmyadmin. Мне так быстрее и удобнее.

    Приступим к простой установке phpmyadmin на CentOS 7.

    Подготовка web сервера apache

    Если на голом сервере выполнить:

    # yum install phpmyadmin

    Вы увидите полный список зависимостей, но в нем не будет самого веб сервера и интерпретатора php, только его модули. Веб сервер вам нужно предварительно установить и настроить самим. Сделем это на примере веб сервера httpd (апач). Устанавливаем его:

    # yum install -y httpd

    Теперь установим php, без него панель администрирования не заработает:

    # yum install -y php

    Запускаем веб сервер, добавляем его в автозагрузку и проверяем работу:

    # systemctl enable httpd # systemctl start httpd

    Заходите по адресу http://ip-адрес-сервер . Вы должны увидеть тестовую страницу апача. Теперь проверим, работает ли php. Создаем тестовую страничку в папке /var/www/html :

    # mcedit /var/www/html/index.php

    Назначаем владельца apache на созданный файл:

    # chown apache. /var/www/html/index.php

    Теперь снова заходим по адресу http://ip-адрес-сервера , вы должны увидеть вывод phpinfo:


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

    Установка phpmyadmin

    Устанавливаем phpmyadmin со всеми зависимостями:

    После установки в каталоге с конфигурациями httpd /etc/httpd/conf.d появляется файл phpMyAdmin.conf . Сохраним сразу на всякий случай оригинальный файл, перед тем как начать его редактировать:

    # cp /etc/httpd/conf.d/phpMyAdmin.conf /etc/httpd/conf.d/phpMyAdmin.conf.orig

    По-умолчанию, в конфиге закрыт доступ к панели управления для всех адресов, кроме 127.0.0.1. Чтобы открыть доступ для всех, приведите файл к следующему виду:

    # mcedit /etc/httpd/conf.d/phpMyAdmin.conf Alias /phpMyAdmin /usr/share/phpMyAdmin Alias /phpmyadmin /usr/share/phpMyAdmin Require all granted Order Deny,Allow Deny from All Allow from None Order Deny,Allow Deny from All Allow from None

    Я удалил все лишнее из файла, в том числе настройки, которые относились к версии apache 2.2. Перезапускаем httpd:

    # systemctl restart httpd

    Заходим по адресу . Вы должны увидеть страницу логина:

    В этот момент я понял, что мне некуда логиниться. На тестовом сервере, где я готовлю статью, нет mysql. Если у вас та же ситуация, что у меня, установите mariadb. Подробно об я рассказал в статье, посвещенной настройке web-сервера, все подробности можете там посмотреть. Сейчас быстро ставим базу данных и запускаем ее:

    # yum install -y mariadb mariadb-server # systemctl enable mariadb.service # systemctl start mariadb # /usr/bin/mysql_secure_installation

    После этого можно еще раз окрыть web интерфейс phpmyadmin и зайти под учетной записью рута. Откроется главная страница панели с общей информацией о сервере:


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

    Установка на nginx

    Настроим работу phpmyadmin на веб сервере nginx + php-fpm. Подробно вопрос настройки такого сервера я рассматривал ранее в статье . Там речь шла именно о веб сервере и уклон был в эту сторону. Но phpmyadmin может понадобиться не только на веб серверах. Так что рассмотрим общий случай быстрой и простой настройки phpmyadmin на nginx.

    Устанавливаем nginx:

    # yum install -y nginx

    Устанавливаем php-fpm:

    # yum install -y php-fpm

    Запускаем службы и добавляем в автозагрузку:

    # systemctl start nginx.service # systemctl enable nginx.service # systemctl start php-fpm.service # systemctl enable php-fpm.service

    Заходим по адресу http://ip-адрес-сервера и проверяем. Вы должны увидеть тестовую страницу nginx:


    # yum install -y phpmyadmin

    Редактируем конфигурационный файл nginx для добавления установленной веб панели управления:

    # mcedit /etc/nginx/nginx.conf

    Приводим секцию server {} к следующему виду:

    Server { listen 80 default_server; listen [::]:80 default_server; server_name _; root /usr/share/nginx/html; index index.php index.html index.htm; location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $request_filename; fastcgi_ignore_client_abort off; } include /etc/nginx/default.d/*.conf; location / { } error_page 404 /404.html; location = /40x.html { } error_page 500 502 503 504 /50x.html; location = /50x.html { } }

    # ln -s /usr/share/phpMyAdmin /usr/share/nginx/html/phpmyadmin

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

    # systemctl restart nginx

    Дальше по идее все должно работать, но у меня не работало, пришлось перезагрузить весь сервер, так как не работал модуль php mbstring, хотя он установлен и подключен. Перезапуск php-fpm тоже не помогал, а перезагрузка помогла. Проверил 2 раза, оба раза воспроизвел ошибку. Разбираться не стал в чем причина такого поведения, просто перезагрузите сервер и продолжайте.

    Идем по адресу http://ip-адрес-сервера/phpmyadmin . Должны увидеть стандартную страницу входа. У меня на ней было предупреждение:

    Warning in ./libraries/session.inc.php#105 session_start(): open(/var/lib/php/session/sess_j0r4moac0oo7oh250e6t14rn1kfkl6ta, O_RDWR) failed: No such file or directory (2)


    Это сязано с тем, что в папке /var/lib/php нет директории session. Исправляем это:

    # cd /var/lib/php/ # mkdir session # chown apache:apache session/

    Обращаю внимание на то, что я назначил владельцем папки с сессиями пользователя apache, хотя у нас веб сервер nginx. Это связано с тем, что php-fpm по-умолчанию работает под пользователем apache. Логичнее изменить это и запускать его от nginx. Для этого надо отредактировать файл /etc/php-fpm.d/www.conf, изменив там параметры user и group. Я не стал этого делать сейчас для простоты. Оставляю данный параметр на ваше усмотрение.

    Перезагружаем страницу, ошибка должна исчезнуть. Можно подключиться к mysql. Если сервер бд у вас не установлен, смотрите выше, как быстро его поставить и запустить. На этом установка закончена, рассматрим несколько полезных настроек phpmyadmin.

    Настройка phpmyadmin

    Пхпадмин готов к работе сразу после установки, дополнительные настройки не обазательны. Приведу полезный пример при использовании — ограничение доступа к phpmyadmin средствами веб-сервера. Для использования панели необходимо будет не только знать имя учетной записи mysql, но и пользователя и пароль для доступа непосредственно к панели.

    Рассмотрим сначала пример с веб сервером apache . Будем использовать стандартное средство для ограничения доступа к каталогу с помощью.htaccees. Создадим такой файл в папке со скриптами phpmyadmin:

    # mcedit /usr/share/phpMyAdmin/.htaccess AuthName "Enter Password" AuthType Basic Require valid-user AuthUserFile "/usr/share/phpMyAdmin/.htpasswd"

    Теперь создадим файл с авторизационными данными:

    Чтобы авторизация заработала, необходимо в файле /etc/httpd/conf.d/phpMyAdmin.conf в разделе Directory добавить параметр AllowOverride, чтобы получилось вот так:

    AddDefaultCharset UTF-8 Require all granted AllowOverride All

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

    Проделаем то же самое на 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/ .

    Заключение

    Я рассмотрел основные моменты по установке и настройке phpmyadmin на веб сервер apache и nginx. Хочу подчеркнуть, что это мой личный опыт. Возможно, я где-то ошибась или поступаю не совсем верно. Если вы заметите это, прошу написать в комментариях. Я приму к сведению и исправлю статью. Я пишу статьи в том числе и для того, чтобы самому научиться чему-то новому. Комментарии к статьям мне в этом помогают.

    Видео

    Предалагаю посмотреть видео всего процесса установки и настройки phpmyadmin на примере веб сервера apache.