Установка адаптера для обмена данными интеграционной шиной

Установка адаптера для обмена данными с интеграционной шиной требуется в случае работы с модулем «Студент» (Личный кабинет студента - ЛКС). Для использования модуля «Абитуриент» (Личный кабинет абитуриента - ЛКА) установка адаптера не требуется.

Содержание

Требования к серверу

Адаптер для обмена данными с НСИ работает в качестве отдельного микросервиса, подключенного к базе данных Личного кабинета.

Для установки приложения должны выполняться следующие требования:

  • Установленное приложение Личного кабинета
  • PHP = 7.4. На более ранних версиях PHP приложение работать не будет.
    • Установленное расширение JSON
    • Установленное расширение SOAP
    • Установленное расширение Mbstring
    • Установленное расширение OpenSSL
    • Установленное расширение PDO
  • MySQL 8 или MariaDB >= 10.4.
  • Composer 2.0
  • Node.js >= 6.14
  • Git >= 2.25

Установка приложения

Прежде всего необходимо убедиться, что есть доступ к репозитарию. В терминале необходимо выполнить команду:

ssh -T git@bitbucket.org

Среди доступных репозитариев должен быть следующий:

...
tandem_mind/nsi-adapter
...

Далее необходимо скопировать последнюю версию приложения:

git clone git@bitbucket.org:tandem_mind/nsi-adapter.git

После завершения копирования приложения необходимо установить требуемые зависимости. Перейдите в папку приложения и выполните команду:

composer install --no-dev

Настройка

Настройка окружения

Перейдите в директорию приложения и откройте файл .env. Если его нет, то создайте копию файла .env.example и переименуйте его в .env.

  1. Создайте криптографический ключ:

    php artisan key:generate
    
  2. Откройте файл .env.

  3. Настройте название приложения:

    APP_NAME="Адаптер НСИ"
    APP_ENV=production
    APP_KEY=base64:Z234567890900NEb1TmOzWC5673nM5zLHb6h30o4n90c=
    APP_DEBUG=FALSE
    APP_URL=http://<URL приложения>
    APP_TIMEZONE=UTC
    
  4. Настройте параметры соединения с БД:

Необходимо указать реквизиты базы данных, которую использует приложение личных кабинетов (Настройка окружения).

```
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=dbname
DB_USERNAME=dbuser
DB_PASSWORD=password
```
  1. Настройте параметры аутентификации в НСИ:

    NSI_SUBSYSTEM_LOGIN=login
    NSI_SUBSYSTEM_PASSWORD=password
    

Итоговый файл может иметь следующий вид:

APP_NAME="Адаптер НСИ"
APP_ENV=production
APP_KEY=base64:Z234567890900NEb1TmOzWC5673nM5zLHb6h30o4n90c=
APP_DEBUG=FALSE
APP_URL=http://<URL приложения>
APP_TIMEZONE=UTC

LOG_CHANNEL=stack

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=dbname
DB_USERNAME=dbuser
DB_PASSWORD=password

NSI_SUBSYSTEM_LOGIN=login
NSI_SUBSYSTEM_PASSWORD=password

CACHE_DRIVER=file
QUEUE_CONNECTION=sync

Настройка директории public

Для работы приложения необходимо настроить корневую папку, из которой будет запускаться приложение. В директории приложения находится папка public, а внутри папки находится файл index.php. Необходимо настроить виртуальный хост веб-сервера таким образом, чтобы он указывал на папку public.

Права доступа к директориям

Все вложенные папки и файлы в директориях storage и bootstrap/cache должны быть доступны для чтения и записи веб-сервером. В ОС Windows веб-сервер чаще всего запускается от имени самого пользователя, поэтому обычно не требуется дополнительных настроек прав доступа.

В ОС Linux настройку можно сделать двумя способами:

Веб-сервер как владелец приложения

Предполагается, что /var/www/html/laravel/root/directory — путь до директории приложения, имя вашего пользователя tandem, а имя пользователя для веб-сервера www-data. Замените данные параметры на свои и выполните команды в терминале:

sudo chown -R www-data:www-data /var/www/html/laravel/root/directory
sudo usermod -a -G www-data tandem

И затем настройте права доступа:

sudo find /var/www/html/laravel/root/directory -type f -exec chmod 644 {} \;
sudo find /var/www/html/laravel/root/directory -type d -exec chmod 755 {} \;

Пользователь как владелец приложения

Предполагается, что /var/www/html/laravel/root/directory — путь до директории приложения, имя вашего пользователя tandem, а имя пользователя для веб-сервера www-data. Замените данные параметры на свои и выполните команды в терминале:

sudo chown -R tandem:www-data /var/www/html/laravel/root/directory

И затем настройте права доступа:

sudo find /path/to/your/laravel/root/directory -type f -exec chmod 664 {} \;    
sudo find /path/to/your/laravel/root/directory -type d -exec chmod 775 {} \;

Дальнейшие действия

Следующим этапом является настройка веб-сервера для работы с установленным сервисом. В результате сервис становится доступным по определенному URL, например 192.168.0.22:8080. Данный URL, а также значения параметров NSI_SUBSYSTEM_LOGIN и NSI_SUBSYSTEM_PASSWORD необходимо вписать в форме добавления новой подсистемы в НСИ.