UncleFather » 03 ноя 2020 21:31, Вт
Задача:
Необходимо:
-
установить phpMyAdmin на виртуальную машину Bitrix;
-
настроить phpMyAdmin на подключение к нескольким внешним серверам, находящимся в локальной сети;
-
дать возможность подключаться к серверу mySQL, установленному на BitrixVM, из локальной сети.
Решение:
-
Устанавливаем phpMyAdmin, согласно инструкции, например Установка PhpMyAdmin на Bitrix-сервер:
-
Подключаемся к серверу по SSH и выходим из меню Битрикс через пункт “0”$
-
Устанавливаем PhpMyAdmin:
-
Зададём необходимые права для директории с 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/>. В ней необходимо:
-
закомментировать директиву:
-
добавить адреса, откуда будет разрешен доступ к phpMyAdmin директивами:
Код: Выделить всё
Deny from All
Allow from xxx.xxx.xxx.xxx/xx
-
в любое место секции добавить директиву:
Должно получиться как-то так:
Код: Выделить всё
<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:
Исправление ошибки (освобождение места на загрузочном разделе)
At least 1MB more space needed on the /boot filesystem
ОШИБКА В CENTOS 7: AT LEAST MB MORE SPACE NEEDED ON THE /BOOT FILESYSTEM
[b][size=150]Задача:[/size][/b]
[b][size=120]Необходимо:[/size][/b]
[list=1][*] установить [url=https://phpmyadmin.net/]phpMyAdmin[/url] на [url=https://www.1c-bitrix.ru/download/vmbitrix.php]виртуальную машину Bitrix[/url];
[*] настроить phpMyAdmin на подключение к нескольким внешним серверам, находящимся в локальной сети;
[*] дать возможность подключаться к серверу mySQL, установленному на BitrixVM, из локальной сети.[/list]
[hr][/hr]
[b][size=150]Решение:[/size][/b]
[list=I][*] Устанавливаем phpMyAdmin, согласно инструкции, например [url=https://firstvds.ru/technology/ustanovka-phpmyadmin-na-bitrix-server]Установка PhpMyAdmin на Bitrix-сервер[/url]:
[list=1][*] Подключаемся к серверу по SSH и выходим из меню Битрикс через пункт “0”$
[*] Устанавливаем PhpMyAdmin:
[code]yum install phpmyadmin -y[/code]
[*] Зададём необходимые права для директории с phpMyAdmin и директории с временными файлами программы:
[code]chown -R bitrix:bitrix /usr/share/phpMyAdmin
chown bitrix:bitrix /var/lib/phpMyAdmin/temp[/code]
[*] Создаём ссылку в директории сайта, указывающую на установленный phpMyAdmin:
[code]ln -s /usr/share/phpMyAdmin /home/bitrix/www/phpmyadmin[/code]
[b]Примечание:[/b] если у имеется несколько отдельных “kernel” сайтов, и необходимо, чтобы phpMyAdmin открывался по ссылкам каждого сайта, создаём ссылки в директории каждого из сайтов. Например:
[code]ln -s /usr/share/phpMyAdmin /home/bitrix/www/phpmyadmin
ln -s /usr/share/phpMyAdmin /home/bitrix/ext_www/<your_site_name>/phpmyadmin[/code]
[*] Добавляем секретный ключ в файл конфигурации phpMyAdmin. Сгенерировать 32-значный ключ можно, например, [url=http://www.onlinepasswordgenerator.ru/]онлайн генератором паролей[/url], и добавляем его в файл [b][i]/usr/share/phpMyAdmin/libraries/config.default.php[/i][/b] в строку [b][i]$cfg['blowfish_secret'] = '’';[/i][/b]. Получится примерно так:
[code]$cfg['blowfish_secret'] = 'xMMempnm80Fr9tkWubAqSToXenuhrdN1';[/code]
[*] Переносим конфигурационный файл phpMyAdmin для веб-сервера Apache, в нужную директорию:
[code]mv /etc/httpd/conf.d/phpMyAdmin.conf /etc/httpd/bx/conf/[/code]
[*] Редактируем перенесённый файл любым любым редактором. Нас будет интересовать секция [b][i]<Directory /usr/share/phpMyAdmin/>[/i][/b]. В ней необходимо:
[list=i] [*] закомментировать директиву:
[code]#Require local[/code]
[*] добавить адреса, откуда будет разрешен доступ к phpMyAdmin директивами:
[code]Deny from All
Allow from xxx.xxx.xxx.xxx/xx[/code]
[*] в любое место секции добавить директиву:
[code]php_admin_value mbstring.func_overload 0[/code][/list]
Должно получиться как-то так:
[code]<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>
[/code]
[*] Добавляем список mySQL серверов, к которым нам нужно подключаться. Для этого редактируем файл [b][i]/etc/phpMyAdmin/config.inc.php[/i][/b] любым любым редактором. В нём необходимо скопировать записи, относящиеся к первому серверу. Скопировать их нужно столько раз, сколько серверов mySQL, а затем заменить их ip адреса, чтобы получилось так:
[code]/**
* 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;
[/code][/list]
[*] Предоставляем права на чтение на папку [b][i]/etc/phpMyAdmin[/i][/b] и файл [b][i]/etc/phpMyAdmin/config.inc.php[/i][/b] для пользователя [b][i]bitrix [600][/i][/b] - без этого файл конфигурации не будет виден сервисом httpd;
[*] Для пользователя, под которым будем заходить в mySQL, даем права на доступ из локальной сети, или с любого адреса (%);
[*] Открываем порт в [b][i]iptables[/i][/b] для доступа из локальной сети и сохраняем настройки:
[code]iptables -I INPUT -s xxx.xxx.xxx.xxx/xx -p tcp --dport 3306 -j ACCEPT
service iptables save[/code]
[*] Перезапускаем службы:
[code]systemctl restart mysqld.service
systemctl restart httpd.service
systemctl restart iptables.service
apachectl restart[/code][/list]
Теперь интерфейс phpMyAdmin будет доступен по адресу [b][i]http://bitrixVM_address/phpmyadmin[/i][/b], а к СУБД mySQL можно подключаться с любого интерфейса phpMyAdmin из локальной сети, донастроив для него свой config.inc.php, аналогично этой инструкции (п I.8 ).
[hr][/hr]
[b][size=150]Примечания:[/size][/b]
Запуск основного меню BitrixVM:
[code]/root/menu.sh[/code]
[hr][/hr]
Исправление ошибки (освобождение места на загрузочном разделе) [quote]At least 1MB more space needed on the /boot filesystem[/quote]
[url=https://mozgovoy.in.ua/poleznoe/55-oshibka-v-centos-7-at-least-mb-more-space-needed-on-the-boot-filesystem]ОШИБКА В CENTOS 7: AT LEAST MB MORE SPACE NEEDED ON THE /BOOT FILESYSTEM[/url]