Установка и настройка

Установка XRAD

Подробная настройка ОС и установка всех компонентов кроме XRAD рассмотрены в документации PGHS. В данной документации рассмотрим непосредственно развертывание XRAD.

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

Для установки XRAD копируем исполняемые файлы из дистрибутива в каталог /usr/local/xsquare.xrad

Например:

1. Копируем все компоненты

cp -R ./usr /

или 2. Копируем непосредственно дистрибутив XRAD

cp -R ./usr/local/xsquare.xrad /usr/local/

Примечание: назначьте права на исполнение

chmod +x /usr/local/xsquare.xrad/xrad

Создаем сервис

vi /etc/systemd/system/xsquare.xrad.service

[Unit]
Description=XRAD Services
After=syslog.target network.target
After=postgresql.service

[Service]
Type=simple
ExecStart=/usr/local/xsquare.xrad/xrad
WorkingDirectory=/usr/local/xsquare.xrad
Restart=on-failure
RestartSec=3

[Install]
WantedBy=default.target

Примечание: файл сервиса по умолчанию можно скопировать из дистрибутива. Например:

cp -R ./etc/systemd /etc/

Запускаем XRAD как службу и проверяем статус

systemctl start xsquare.xrad.service
systemctl enable xsquare.xrad.service
systemctl --no-pager status xsquare.xrad.service

Далее настроим HTTP proxy server на примере NGINX и Apache2

Копируем из дистрибутива файлы веб-контроллера XRAD

cp -R ./var/www/xrad.xsquare*

Настройка NGINX

Копируем из дистрибутива конфигурационные файлы nginx

cp -R ./etc/nginx /etc/

и редактируем файл /etc/nginx/conf.d/xrad.xsquare.conf, внося необходимые изменения vi /etc/nginx/conf.d/xrad.xsquare.conf

server {
    listen 8080;
    server_name xrad.xsquare;
    root /var/www/xrad.xsquare;
    index index.html;
    location /ds{
            proxy_pass http://127.0.0.1:8889/ds;
    }
    location / {
        try_files $uri $uri/ =404;
    }
}

Для применения новых настроек перезапускаем nginx

systemctl restart nginx
systemctl enable  nginx

проверяем его состояние

systemctl --no-pager status nginx

Настройка Apache2 на DEB-based ОС

Копируем из дистрибутива конфигурационные файлы apache2

cp -R ./etc/apache2 /etc/

и редактируем файл конфигурации VirtualHost /etc/apache2/sites-available/xrad.xsquare.conf, внося необходимые изменения:

 vi /etc/apache2/sites-available/xrad.xsquare.conf

 <VirtualHost *:80>
ServerAdmin info@xsquare.ru
ServerName  xrad.xsquare
ServerAlias xrad.xsquare
DocumentRoot /var/www/xrad.xsquare

Alias /files "/var/www/xrad.xsquare.files.local"
<Directory /var/www/xrad.xsquare.files.local>
        Options FollowSymLinks
        AllowOverride None
        Require all granted
</Directory>

ProxyPass        /ds http://127.0.0.1:8889/ds
ProxyPassReverse /ds http://127.0.0.1:8889/ds

ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
 </VirtualHost>

Применяем новую конфигурацию

a2ensite xrad.xsquare.conf

и перезапускаем apache2

systemctl restart apache2

Настройка Apache2 на RPM-based ОС

Копируем из дистрибутива конфигурационные файлы httpd

cp -R ./etc/httpd /etc/

и редактируем файл конфигурации VirtualHost /etc/httpd/conf.d/xrad.xsquare.conf, внося необходимые изменения:

 vi /etc/httpd/conf.d/xrad.xsquare.conf
 <VirtualHost *:80>
ServerAdmin info@xsquare.ru
ServerName  xrad.xsquare
ServerAlias xrad.xsquare
DocumentRoot /var/www/xrad.xsquare

Alias /files "/var/www/xrad.xsquare.files.local"
<Directory /var/www/xrad.xsquare.files.local>
        Options FollowSymLinks
        AllowOverride None
        Require all granted
</Directory>

ProxyPass        /ds http://127.0.0.1:8889/ds
ProxyPassReverse /ds http://127.0.0.1:8889/ds

ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
 </VirtualHost>

Отключаем Security-Enhanced Linux для HTTP запросов

setsebool -P httpd_can_network_connect 1

и перезапускаем apache

systemctl restart httpd

Настройка XRAD

Для настройки XRAD редактируем файл config.json:

    vi /usr/local/xsquare.xrad/config.json
    {
"app": {
    "port": "8889"
},
"XRAD": {
    "login": "xrad_user",
    "password": "xrad_user",
    "host": "localhost",
    "port": 5432,
    "minCons": 1,
    "maxCons": 15,
    "dbName":"xraddb",
    "runtimeOptions":{
        "LC_NUMERIC":"ru_RU.UTF-8"
    }
},
"datasources": {
    "login": "app_user",
    "password": "app_user",
    "host": "localhost",
    "port": 5432,
    "minCons": 1,
    "maxCons": 15,
    "dbName":"appdb",
    "runtimeOptions":{
        "LC_NUMERIC":"ru_RU.UTF-8"
    }
}
    }