Page tree
Skip to end of metadata
Go to start of metadata

Данное руководство позволит настроить доступ к phpMyAdmin с помощью Рутокен Web в  среде Linux. Протестировано на Centos 7 minimal.

1. Устанавливаем LAMP на Centos 7 

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

$ sudo yum install epel-release
$ sudo yum install nginx
$ sudo yum install phpmyadmin
$ sudo yum install php-fpm
$ sudo yum install php-fpm php-cli php-mysql php-gd php-ldap php-odbc php-pdo php-pecl-memcache php-pear php-xml php-xmlrpc php-mbstring php-snmp php-soap php-gettext
$ sudo yum install php-devel
$ sudo yum install mariadb-server mariadb

3. Настраиваем доступ к phpMyAdmin 

Если не настроен доступ к phpmyadmin извне, то с файлом /etc/httpd/conf.d/phpMyAdmin.conf следует произвести следующие действия:

  • В секции <Directory /usr/share/phpMyAdmin/> редактируем следующие строки:

    Require ip 127.0.0.1 - сюда дописываем IP-адреса, с которых будет разрешено заходить на web-страницу phpMyAdmin. Если используется IPv6, то в строке Require ip ::1 нужно указать Ipv6-адреса нужных пользователей.
    Если предполагается заходить на сервис отовсюду, то данную строку заменяем на Require all granted.

    <Directory /usr/share/phpMyAdmin/>
    AddDefaultCharset UTF-8

    <IfModule mod_authz_core.c>
    # Apache 2.4
    <RequireAny>
    # Require ip 127.0.0.1
    # Require ip ::1
    Require all granted
    </RequireAny>
    </IfModule>
    <IfModule !mod_authz_core.c>
    # Apache 2.2
    Order Deny,Allow
    Allow from All
    # Deny from All
    # Allow from 127.0.0.1
    # Allow from ::1
    </IfModule>
    </Directory>

     

  • В секции <Directory /usr/share/phpMyAdmin/libraries/> меняем Deny from All на Allow from all. Это нужно для того, чтобы система могла подгружать js-скрипты плагина.

    <Directory /usr/share/phpMyAdmin/libraries/>
    Order Deny,Allow
    # Deny from All
    Allow from All
    </Directory>

    Пример файла конфигурации: phpMyAdmin.conf


Перестартуем сервис apache2:

$ sudo service httpd restart

4.Устанавливаем плагин

Копируем архив rt_web_pma.tar.gz с исходниками плагина на целевую рабочую станцию. Удаленно это можно сделать разными способами:

  • установив и настроив samba для простого файлообмена через сетевую папку. Пример конфигурации с созданной в корне файловой системы папкой /share (smb.conf). Папке /share нужно не забыть назначить права для чтения и записи. 
  • с помощью утилиты WinSCP для копирования файлов на сервер по SSH.

Распаковываем архив

$ tar -xzvf rt_web.pma.tar.gz 

и видим папку rt_web_pma.

Содержимое подпапки (без подпапки!) rt_web_pma/plugin нужно скопировать в папку файловой системы ОС /usr/share/phpMyAdmin/libraries/plugins/auth/.

Переходим в папку файловой системы /etc/phpMyAdmin/ и открываем для редактирования файл config.inc.php для редактирования.

После строки $cfg['blowfish_secret']...

и перед строкой // The $cfg['Servers'] array starts with $cfg['Servers'][1]...

добавляем строки:

$cfg['blowfish_secret'] = '26KwS4bp0EB6UqrLgulnFrXmanpy8dmv'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */

$cfg['DisplayServersList'] = true;

/**
* Server(s) configuration
*/
$i = 0;

$i++;
/* Authentication type */
$cfg['Servers'][$i]['auth_type'] = 'rutoken_token';
/* Server parameters */
$cfg['Servers'][$i]['host'] = 'localhost';
$cfg['Servers'][$i]['connect_type'] = 'tcp';
$cfg['Servers'][$i]['compress'] = false;
$cfg['Servers'][$i]['AllowNoPassword'] = true;
$cfg['Servers'][$i]['verbose'] = 'Авторизация по токену';
$cfg['Servers'][$i]['rutoken_register_user_with_host'] = 'localhost';
$cfg['Servers'][$i]['rutoken_register_login'] = 'user'; // Не забыть указать пользователя с правами на запись в mysql
$cfg['Servers'][$i]['rutoken_register_password'] = 'userpwd';   // Не забыть указать пароль пользователя с правами на запись в mysql
$cfg['Servers'][$i]['LogoutURL'] = '/';

$i++;
/* Authentication type */
$cfg['Servers'][$i]['auth_type'] = 'rutoken_cookie';
/* Server parameters */
$cfg['Servers'][$i]['host'] = 'localhost';
$cfg['Servers'][$i]['connect_type'] = 'tcp';
$cfg['Servers'][$i]['compress'] = false;
$cfg['Servers'][$i]['AllowNoPassword'] = true;
$cfg['Servers'][$i]['verbose'] = 'Обычная авторизация';

// The $cfg['Servers'] array starts with $cfg['Servers'][1].  Do not use

Пример файла конфигурации: config.inc.php

5. Запускаем

На рабочей станции пользователя необходимо установить плагин Рутокен Web и расширение для браузеров типа Chrome.

Подключаем Рутокен Web и заходим на страницу phpMyAdmin. Токен должен замигать.

Регистрируем нового пользователя, введя его имя в боксе Регистрация, и, нажав кнопку Вперед. Потребуется ввести PIN-код. На токен запишется контейнер с ключевой парой, имя которого будет состоять из имени пользователя и URL сервера.

Для логина пользователя необходимо выбрать в боксе Авторизация имя контейнера и нажать кнопку Вперед. Пользователь попадет на страницу управления СУБД.


  • No labels