Установка phpMyAdmin на BitrixVM (Debian)

Первые шаги в nix - системах. Unix, Linux, Free BSD, Ubuntu...


Модератор: UncleFather

Аватара пользователя
UncleFather
Site Admin
Сообщения: 1505
Зарегистрирован: 17 авг 2004 16:20, Вт
Контактная информация:

Установка phpMyAdmin на BitrixVM (Debian)

Сообщение UncleFather »

Задача:

Необходимо:

  1. установить phpMyAdmin на виртуальную машину Bitrix;

  2. настроить phpMyAdmin на подключение к нескольким внешним серверам, находящимся в локальной сети;

  3. дать возможность подключаться к серверу mySQL, установленному на BitrixVM, из локальной сети.


Решение:

  1. Устанавливаем phpMyAdmin, согласно инструкции, например Установка PhpMyAdmin на Bitrix-сервер:

    1. Подключаемся к серверу по SSH и выходим из меню Битрикс через пункт “0”$

    2. Устанавливаем PhpMyAdmin:

      Код: Выделить всё

      yum install phpmyadmin -y
    3. Зададём необходимые права для директории с phpMyAdmin и директории с временными файлами программы:

      Код: Выделить всё

      chown -R bitrix:bitrix /usr/share/phpMyAdmin
      chown bitrix:bitrix /var/lib/phpMyAdmin/temp
    4. Создаём ссылку в директории сайта, указывающую на установленный 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
    5. Добавляем секретный ключ в файл конфигурации phpMyAdmin. Сгенерировать 32-значный ключ можно, например, онлайн генератором паролей, и добавляем его в файл /usr/share/phpMyAdmin/libraries/config.default.php в строку $cfg['blowfish_secret'] = '’';. Получится примерно так:

      Код: Выделить всё

      $cfg['blowfish_secret'] = 'xMMempnm80Fr9tkWubAqSToXenuhrdN1';
    6. Переносим конфигурационный файл phpMyAdmin для веб-сервера Apache, в нужную директорию:

      Код: Выделить всё

      mv /etc/httpd/conf.d/phpMyAdmin.conf /etc/httpd/bx/conf/
    7. Редактируем перенесённый файл любым любым редактором. Нас будет интересовать секция <Directory /usr/share/phpMyAdmin/>. В ней необходимо:

      1. закомментировать директиву:

        Код: Выделить всё

        #Require local
      2. добавить адреса, откуда будет разрешен доступ к phpMyAdmin директивами:

        Код: Выделить всё

        Deny from All
        Allow from xxx.xxx.xxx.xxx/xx
      3. в любое место секции добавить директиву:

        Код: Выделить всё

        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>
      
    8. Добавляем список 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;
      
  2. Предоставляем права на чтение на папку /etc/phpMyAdmin и файл /etc/phpMyAdmin/config.inc.php для пользователя bitrix [600] - без этого файл конфигурации не будет виден сервисом httpd;

  3. Для пользователя, под которым будем заходить в mySQL, даем права на доступ из локальной сети, или с любого адреса (%);

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

    Код: Выделить всё

    iptables -I INPUT -s xxx.xxx.xxx.xxx/xx -p tcp --dport 3306 -j ACCEPT
    service iptables save
  5. Перезапускаем службы:

    Код: Выделить всё

    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


Alexander A. Manaeff©

Понравилась статья? Будем крайне признательны за репосты в соцсетях! Материально поддержать проект можно здесь

Мои странички:
ВКонтакте
Одноклассники
Youtube
Facebook
Instagram

Изображение
Изображение
Изображение
Изображение