Задача:
Необходимо:
-
установить phpMyAdmin на виртуальную машину Bitrix;
-
настроить phpMyAdmin на подключение к нескольким внешним серверам, находящимся в локальной сети;
-
дать возможность подключаться к серверу mySQL, установленному на BitrixVM, из локальной сети.
Решение:
-
Устанавливаем phpMyAdmin, согласно инструкции, например Установка PhpMyAdmin на Bitrix-сервер:
-
Подключаемся к серверу по SSH и выходим из меню Битрикс через пункт “0”$
-
Устанавливаем PhpMyAdmin:
Код: Выделить всё
yum install phpmyadmin -y
-
Зададём необходимые права для директории с phpMyAdmin и директории с временными файлами программы:
Код: Выделить всё
chown -R bitrix:bitrix /usr/share/phpMyAdmin chown bitrix:bitrix /var/lib/phpMyAdmin/temp
-
Создаём ссылку в директории сайта, указывающую на установленный phpMyAdmin:
Код: Выделить всё
ln -s /usr/share/phpMyAdmin /home/bitrix/www/phpmyadmin
Примечание: если у имеется несколько отдельных “kernel” сайтов, и необходимо, чтобы phpMyAdmin открывался по ссылкам каждого сайта, создаём ссылки в директории каждого из сайтов. Например:
Код: Выделить всё
ln -s /usr/share/phpMyAdmin /home/bitrix/www/phpmyadmin ln -s /usr/share/phpMyAdmin /home/bitrix/ext_www/<your_site_name>/phpmyadmin
-
Добавляем секретный ключ в файл конфигурации phpMyAdmin. Сгенерировать 32-значный ключ можно, например, онлайн генератором паролей, и добавляем его в файл /usr/share/phpMyAdmin/libraries/config.default.php в строку $cfg['blowfish_secret'] = '’';. Получится примерно так:
Код: Выделить всё
$cfg['blowfish_secret'] = 'xMMempnm80Fr9tkWubAqSToXenuhrdN1';
-
Переносим конфигурационный файл phpMyAdmin для веб-сервера Apache, в нужную директорию:
Код: Выделить всё
mv /etc/httpd/conf.d/phpMyAdmin.conf /etc/httpd/bx/conf/
-
Редактируем перенесённый файл любым любым редактором. Нас будет интересовать секция <Directory /usr/share/phpMyAdmin/>. В ней необходимо:
-
закомментировать директиву:
Код: Выделить всё
#Require local
-
добавить адреса, откуда будет разрешен доступ к phpMyAdmin директивами:
Код: Выделить всё
Deny from All Allow from xxx.xxx.xxx.xxx/xx
-
в любое место секции добавить директиву:
Код: Выделить всё
php_admin_value mbstring.func_overload 0
Должно получиться как-то так:
Код: Выделить всё
<Directory /usr/share/phpMyAdmin/> AddDefaultCharset UTF-8 php_admin_value mbstring.func_overload 0 #Require local Deny from All Allow from 192.168.0.1/24 </Directory>
-
-
Добавляем список mySQL серверов, к которым нам нужно подключаться. Для этого редактируем файл /etc/phpMyAdmin/config.inc.php любым любым редактором. В нём необходимо скопировать записи, относящиеся к первому серверу. Скопировать их нужно столько раз, сколько серверов mySQL, а затем заменить их ip адреса, чтобы получилось так:
Код: Выделить всё
/** * Servers configuration */ $i = 0; /** * First server */ $i++; /* Authentication type */ $cfg['Servers'][$i]['auth_type'] = 'cookie'; /* Server parameters */ $cfg['Servers'][$i]['host'] = '192.168.0.15'; $cfg['Servers'][$i]['compress'] = false; $cfg['Servers'][$i]['AllowNoPassword'] = false; /** * Second server */ $i++; /* Authentication type */ $cfg['Servers'][$i]['auth_type'] = 'cookie'; /* Server parameters */ $cfg['Servers'][$i]['host'] = 'localhost'; $cfg['Servers'][$i]['compress'] = false; $cfg['Servers'][$i]['AllowNoPassword'] = false; /** * Third server */ $i++; /* Authentication type */ $cfg['Servers'][$i]['auth_type'] = 'cookie'; /* Server parameters */ $cfg['Servers'][$i]['host'] = '192.168.0.91'; $cfg['Servers'][$i]['compress'] = false; $cfg['Servers'][$i]['AllowNoPassword'] = false;
-
-
Предоставляем права на чтение на папку /etc/phpMyAdmin и файл /etc/phpMyAdmin/config.inc.php для пользователя bitrix [600] - без этого файл конфигурации не будет виден сервисом httpd;
-
Для пользователя, под которым будем заходить в mySQL, даем права на доступ из локальной сети, или с любого адреса (%);
-
Открываем порт в iptables для доступа из локальной сети и сохраняем настройки:
Код: Выделить всё
iptables -I INPUT -s xxx.xxx.xxx.xxx/xx -p tcp --dport 3306 -j ACCEPT service iptables save
-
Перезапускаем службы:
Код: Выделить всё
systemctl restart mysqld.service systemctl restart httpd.service systemctl restart iptables.service apachectl restart
Теперь интерфейс phpMyAdmin будет доступен по адресу http://bitrixVM_address/phpmyadmin, а к СУБД mySQL можно подключаться с любого интерфейса phpMyAdmin из локальной сети, донастроив для него свой config.inc.php, аналогично этой инструкции (п I.8 ).
Примечания:
Запуск основного меню BitrixVM:
Код: Выделить всё
/root/menu.sh
Исправление ошибки (освобождение места на загрузочном разделе)
At least 1MB more space needed on the /boot filesystem
ОШИБКА В CENTOS 7: AT LEAST MB MORE SPACE NEEDED ON THE /BOOT FILESYSTEM