Для удобства управления базой MySQL , в этой статье мы установим phpMyAdmin и произведём его первоначальную настройку. Хотя, по
сути, для его работы достаточно просто скачать phpMyAdmin с
официального сайта, забросить на наш веб сервер и работать. Но мы хотим
обновлять phpMyAdmin и нужные для
его работы библиотеки через систему портов, поэтому и установим оттуда же. Не
зря ведь он там есть?
Приступим!
# cd
/usr/ports/databases/phpmyadmin/
# make install clean
Прошу обратить внимание! Если в нашей системе установлен PHP версии 5.5, то в конфигурации установки phpMyAdmin
следует отключить установку APC который не
поддерживает эту редакцию PHP, и
ваша установка завершится ошибкой:
===>
pecl-APC-3.1.14_1 cannot be installed: doesn’t work with lang/php55 poer
(doesn’t support PHP 5.5)
У меня установлен PHP версии
5.3, поэтому я оставил. И моя
установка завершилась сообщением, в котором ясно описано, что мне следует
сделать дальше.
To
make phpMyAdmin available through your web site, I suggest
that
you add something like the following to httpd.conf:
For
Apache versions earlier than 2.4:
Alias /phpmyadmin/ "/usr/local/www/phpMyAdmin/"
<Directory
"/usr/local/www/phpMyAdmin/">
Options none
AllowOverride Limit
Order Deny,Allow
Deny from all
Allow from 127.0.0.1 .example.com
</Directory>
For
Apache version 2.4.x or above:
Alias /phpmyadmin/
"/usr/local/www/phpMyAdmin/"
<Directory
"/usr/local/www/phpMyAdmin/">
Options None
AllowOverride Limit
Require local
Require host .example.com
</Directory>
Идём в конфигурационный файл Apache (в
моем случае это версия 2.4, если у вас другая, то и путь и то, что вы будете в
этот файл писать, будет выглядеть иначе. Как? Смотреть выше)
# ee
/usr/local/etc/apache24/httpd.conf
И дописываем алиас для нашего phpMyAdmin
Alias
/phpmyadmin/ "/usr/local/www/phpMyAdmin/"
<Directory
"/usr/local/www/phpMyAdmin/">
Options None
AllowOverride Limit
Require all granted
</Directory>
Перезапускаем Apache
#
/usr/local/etc/rc.d/apache24 restart
И идем смотреть на наш phpMyAdmin по адресу http://IP_нашего_сервера/phpmyadmin/ Выглядит это
вот так:
Если мы не устанавливали пароль для root, то следует его установить, иначе phpMyAdmin с пустым паролем нас не
пустит.
Устанавливаем пароль для root
# mysqladmin
-u root password '12345'
Теперь разберёмся с жалобами нашего phpMyAdmin,
хотя всё что не помечено красным, можно смело игнорировать, и то...
Перейдем в каталог установки
#
cd /usr/local/www/phpMyAdmin/
И согласно
документации создадим там каталог для конфигурации и дадим ему соответствующие права
# mkdir config
# chown :www config
# chmod g+rw config
Скопируем в эту папку конфигурационный файл и дадим ему
права на запись
# cp config.inc.php config/
# chmod g+rw config/config.inc.php
Перейдем на страницу настройки http://IP_нашего_сервера/phpmyadmin/setup/
И создадим новый сервер. Пожалуй
из основных настроек стоит ввести только имя сервера.
Не забывая при этом нажать «Apply» и «Сохранить»
Теперь наш phpMyAdmin
говорит нам, что нужно удалить каталог настройки. Что мы и сделаем, заменив
оригинальный файл настройки на созданный нами конфигурационный файл, убрав
данные ему права на запись.
# mv config/config.inc.php .
#chmod g-w config.inc.php
# rm -rf config
Мой конфигурационный файл после внесенных изменений стал
выглядеть следующим образом:
<?php
/*
* Generated configuration file
* Generated by: phpMyAdmin 4.1.9 setup script
* Date: Tue, 18 Mar 2014 15:18:15 +0200
*/
/* Servers configuration */
$i = 0;
/* Server: myhost.my.domain [1] */
$i++;
$cfg['Servers'][$i]['verbose'] = 'myhost.my.domain';
$cfg['Servers'][$i]['host'] =
'localhost';
$cfg['Servers'][$i]['port'] = 3306;
$cfg['Servers'][$i]['socket'] = '';
$cfg['Servers'][$i]['connect_type']
= 'tcp';
$cfg['Servers'][$i]['extension'] =
'mysqli';
$cfg['Servers'][$i]['auth_type'] =
'cookie';
$cfg['Servers'][$i]['user'] =
'root';
$cfg['Servers'][$i]['password'] =
'';
/* End of servers configuration */
$cfg['blowfish_secret'] =
'53284790acbbf8.84067969';
$cfg['DefaultLang'] = 'en';
$cfg['ServerDefault'] = 1;
$cfg['UploadDir'] = '';
$cfg['SaveDir'] = '';
?>
Теперь осталось настроить дополнительные возможности phpMyAdmin (если, конечно, они вам нужны). Для этого нужно
создать соответствующую базу с таблицами и пользователя для них.
База создается скриптом create_tables.sql, который лежит в /usr/local/www/phpMyAdmin/examples/ (для версии 4.1.9 точно там)
Подключаемся к MySQL
#
mysql –u root –p
Вводим пароль и выполняем скрипт
mysql> source
/usr/local/www/phpMyAdmin/examples/create_tables.sql
Если всё прошло успешно, нам должно вернуть что-то вроде такого:
Query OK, 0 rows affected (0.01 sec)
Выходим из MySQL
mysql> quit
Теперь идём в наш phpMyAdmin, и создаем
пользователя pma с полным доступом к созданной скриптом базе phpmyadmin, не забывая дать
ему GRANT на администрирование базы, и указать хост localhost.
Теперь нужно прописать созданные таблицы в нашем файле конфигурации.
Если вы подключены по SSH к вашему серверу, то думаю что учить вас пользоваться Ctrl+С, Shift+Insert не нужно :) В противном случае можно поступить вот как.
Скопируем файл пример, и отредактируем в нём нужные нам
строки
# cp config.sample.inc.php pmaconfigee
#
ee pmaconfig
Избавимся от ненужных строк, и раскомментируем необходимые
нам переменные. Из значений, кроме пароля к юзеру pma в принципе
трогать ничего не будем. В итоге у
нас должно выйти вот как.
<?php
/*
* phpMyAdmin configuration storage settings.
*/
/*
User used to manipulate with storage */
$cfg['Servers'][$i]['controlhost']
= '';
$cfg['Servers'][$i]['controlport']
= '';
$cfg['Servers'][$i]['controluser']
= 'pma';
$cfg['Servers'][$i]['controlpass']
= '12345';
/*
Storage database and tables */
$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['Servers'][$i]['users']
= 'pma__users';
$cfg['Servers'][$i]['usergroups']
= 'pma__usergroups';
$cfg['Servers'][$i]['navigationhiding']
= 'pma__navigationhiding';
/*
* End of
servers configuration
*/
?>
Сохраним этот файл
и просто допишем его содержимое в наш основной конфигурационный файл. И потом удалим нашу заготовку.
# catcat
pmaconfig >> config.inc.php
# rm pmaconfig
# rm pmaconfig
После этого перезаходим в phpMyAdmin и проверяем что нет больше
никаких сообщений, что у нас что-то не настроено.
На этом всё. Пользуемся!