Вступление
Статья описывает установку PC v5 с помощью инсталляционного скрипта.
Справка скрипта инсталляции
Installation type (just one of them MUST be setted):
-i install
Install options
-r Register system (only on PC Server, matters with -i option)
Install wildfly database driver
-p PostgreSQL
-o Oracle
Need to set up parameter - jdbc version:
6 for Oracle 11.2, 11gR2 (JDK8)
7 for Oracle 12.1, 12cR1 (JDK8)
8 for Oracle 12.2, 12cR2 (JDK8) and Oracle 18.3 with JDK8, JDK9, JDK10
-m MS SQL
Install PC Server roles
-S PC Server
-I PC Pusher
-E PC External
Examples
install -i -o 8 -SIE -r
also like
install -io8SIEr
will install Oracle JDBC8 Driver, PC Server, PC Pusher, PC External and execute register system request
Перед установкой компонентов PC сервера
Перед установкой PC необходимо:
- Создать базу данных и пользователя на сервере СУБД, где будет работать база данных PC Server
- Предоставить права на доступ пользователю к БД
- Установить последнюю версию JRE ветки 1.8 или 11
Конфигурирование
Перед установкой необходимо сконфигурировать инсталлятор.
Предварительно нужно скопировать файл install.conf.DEFAULT
в файл install.conf
.
Параметры установки необходимо устанавливать в файле install.conf
в разделе CUSTOMER Config
.
Подключение к БД для PC Server
Необходимо установить корректные значения адресов и портов СУБД, имена пользователей и пароли.
СУБД Oracle
При использовании СУБД Oracle необходимо указать, каким образом происходит выбор необходимой БД - с помощью SID или Service Name.
Java
Установить параметр, указывающий, что используется Java версии 8. Так, например:
- Если используется 8-я версия, то параметр
IS_JAVA8
должен иметь значениеtrue
. - При использовании версии 11, должно быть установлено значение
false
.
Настройка PC External для подключения к PC Server
Для соединения PC External с PC Server необходимо указать правильный адрес сервера PC Server по которому он сможет получить к нему доступ.
Пример конфигурации
###################################################
#
# CUSTOMER Config
#
###################################################
PC_PATH='/opt/pc'
IS_JAVA8=true
# PC Servers Settings
## PC Server
### DB
PCSDB_HOST='hostname:port'
PCSDB='DB'
PCSDB_USER='user'
PCSDB_PASSWD='password'
# Oracle connection string delimiters:
# - use ':', if PCSDB contains SID
# - use '/', if PCSDB contains Service Name
PCSDB_Oracle_delimiter=':'
### PC External
PCS_HOSTNAME_PORT='localhost:8080'
Установка
У пользователя, осуществляющего установку должны быть права на выполнение действий с уровнем привилегий root, либо возможность использовать учётную запись root.
- Скопировать файлы дистрибутива на сервер, например в домашнюю папку пользователя.
- Перейти в директорию с дистрибутивом.
Предоставить права пользователю на исполнение файла-скрипта. Пример:
chmod u+x install
Запустить установочный скрипт с привилегиями root, с необходимыми параметрами.
Результат выполнения инсталляционного скрипта
Результат выполнения инсталляционного скрипта является:
- установка службы wildflу (директория
/opt
); - включение автозапуска службы wildfly;
- добавление драйверов СУБД (опционально);
- добавление источников данных (только для PC Server и PC Pusher);
- развёртывание файлов сервера в wildfly;
- регистрация прикладной системы на сервере PC (при установленном параметре
r
).
Результат регистрации - вывод на экран идентификатора системы в конце журнала работы инсталляционного скрипта (systemid).
Пример:
{
"answer_type": "system_info",
"answer": {
"result": {
"error_message": "Success",
"error_code": 0
},
"system_info": {
"billing_period": 365,
"system_id": "e64a67c9-73e9-462c-9c27-2d0195a2bd23",
"description": "Bank1 Payments",
"report_template_path": "/opt/pc/report.docx",
"created_at": "2020-03-23 12:34:1.895",
"pc_is_external_url": "https://bank1.example.com/pc-client-api/",
"register_request": "eyJyZXF1ZXN0I...Xc9PSJFSSZEhTQUFKRXc9PSJEhTQUFKRXc9PSZXN0Ijp7InFyVJ9",
"pc_is_internal_url": "http://localhost:8080/pc-pusher-api/",
"is_deleted": false,
"license_info": {
"users_count": 20,
"used": 0,
"message": "LICENSE NOT FOUND! You are using unlicensed demo-only version of the service"
},
"billing_type": 3,
"user_keys_expiration_period": 365,
"name": "Bank1"
}
},
"answer_version": 3
}
В приведённом примере идентификатором зарегистрированной прикладной системы является e64a67c9-73e9-462c-9c27-2d0195a2bd23
. В дальнейшем этот идентификатор понадобится при настройке прикладной системы на работу с сервером PC. Если значение идентификатора прикладной системы утеряно, свяжитесь с компанией СэйфТек для его уточнения.
Примеры параметров запуска
Примеры ниже приведены для установки компонентов PC сервера с драйвером PostgreSQL (параметр p
).
Всё на одном сервере
- Без регистрации прикладной системы
sudo ./install -ipSIE
- С регистрацией прикладной системы
sudo ./install -ipSIEr
PC Server
- Без регистрации прикладной системы
sudo ./install -ipS
- С регистрацией прикладной системы
sudo ./install -ipSr
PC Pusher
sudo ./install -ipI
PC External
sudo ./install -iE
Контроль
Вывод журнала в консоль в реальном времени
tail -n 300 -f /opt/wildfly/standalone/log/server.log
Просмотр успешности развёртывания компонентов сервера
ls -la /opt/pc/deployments/
Если компонент сервера развёрнут успешно, рядом с файлом компонента сервера создаётся файл с аналогичным именем файлу сервера с расширением .deployed
.
Проверка доступности сервисов
При запросе на серверы по указанным ниже эндпоинтам будут выведены название модуля сервера PC, его версия и версия API.
PC Server
http://<IP или имя сервера PC Server>:8080/pc-api/health_check/
PC Pusher
http://<IP или имя сервера PC Pusher>:8080/pc-pusher-api/health_check/
PC External
http://<IP или имя сервера PC External>:8080/pc-client-api/health_check/
Корректировка (смена) адресов компонентов серверов PC (при необходимости)
Учёт изменения адреса сервера PC Server
Для учёта изменения адреса PC Server необходимо произвести изменения в настройках PC External. В файле /opt/wildfly/bin/standalone.conf
, в следующей строке, указав правильный адрес и при необходимости порт сервера PC Server, а также уточнив протокол подключения (HTTP/HTTPS):
JAVA_OPTS="$JAVA_OPTS -Dpc_url=http[s]://<IP или DNS-имя>[:PORT]/pc-api/ -Duser.language=ru"
Учёт изменения адреса сервера PC Pusher
Для учёта изменения адреса сервера PC Pusher, необходимо, предварительно указав корректные данные (протокол (HTTP/HTTPS), имя или IP сервера, порт, идентификатор системы), выполнить запрос к БД PC Server:
update pc_system set pc_is_internal_url = 'http[s]://<IP или DNS-имя>[:PORT]/pc-pusher-api/' where systemid='<SYSTEMID>';
Изменение локализации ошибок на PC External
Данная настройка позволит изменить язык сообщений об ошибках, возвращаемых сервером мобильному приложению.
Добавьте в файл файл /opt/wildfly/bin/standalone.conf
текст -Dpc_locale=ru
, как на примере ниже:
JAVA_OPTS="$JAVA_OPTS -Dpc_url=http[s]://<IP или DNS-имя>[:PORT]/pc-api/ -Duser.language=ru -Dpc_locale=ru"
После чего, перезапустите Wildfly.
Учёт изменения внешнего адреса сервера PC External
Для учёта изменения внешнего адреса сервера PC, по которому связываются мобильное приложение с сервером PC, необходимо, предварительно указав корректные данные (протокол (HTTP/HTTPS), имя или IP сервера, порт, идентификатор системы), выполнить запрос к БД PC Server:
update pc_system set pc_is_external_url = 'http[s]://<IP или DNS-имя>[:PORT]/pc-client-api/' where systemid='<SYSTEMID>';