Установка и настройка
Установка 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"
}
}
}