|
|
| (не показано 17 промежуточных версий 3 участников) |
| Строка 1: |
Строка 1: |
| − | Статья описывает установку с помощью инсталляционного скрипта.
| + | {{Уведомление|Актуальная документация по версии 5 располагается по адресу https://repo.paycontrol.org/index/safe-tech/#paycontrol}} |
| − | =Справка скрипта инсталляции=
| |
| − | <pre>Installation type (just one of them MUST be setted):
| |
| − | -i install
| |
| − | | |
| − | Install options
| |
| − | -r Register system (only on PCS, 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_PRODUCT Server roles
| |
| − | -S PCS
| |
| − | -I PCIS Internal/ Pusher
| |
| − | -E PCIS External/ External
| |
| − | | |
| − | ${bold}Examples${normal}
| |
| − | $0 -i -o 8 -SIE -r
| |
| − | also like
| |
| − | $0 -io8SIEr
| |
| − | will install Oracle JDBC8 Driver, PCS, PCIS Internal, PCIS External and execute register system request</pre>
| |
| − | | |
| − | =Перед установкой PayControl=
| |
| − | Перед установкой необходимо установить JRE.
| |
| − | =Конфигурирование=
| |
| − | Перед установкой необходимо указать правильные значения адресов и портов СУБД и имена пользователей и пароли. Также для правильной настройки сервера PC External необходимо указать правильный адрес сервера PC Server по которому он сможет получить к нему доступ.
| |
| − | | |
| − | Эти параметры задаются в файле ''install.conf''. Предварительно нужно скопировать файл ''install.conf.DEFAULT'' в файл ''install.conf''.
| |
| − | | |
| − | Пример:
| |
| − | <syntaxhighlight lang="bash">PC_VERSION='5.0'
| |
| − | PC_SUBVER='359'
| |
| − | PC_INSTALL_SCRIPT_VERSION='006'
| |
| − | | |
| − | WF_DISTRIB='wildfly-15.0.1.Final'
| |
| − | | |
| − | # PC Settings
| |
| − | ## PC Server
| |
| − | ### DB
| |
| − | PCSDB_HOST='192.168.2.99:1433'
| |
| − | PCSDB='pcs'
| |
| − | PCSDB_USER='pcs-db-username'
| |
| − | PCSDB_PASSWD='passw0rd'
| |
| − | | |
| − | ## PC Pusher
| |
| − | ### APNS Push key
| |
| − | APNS_AUTH_FILE='safetech-apns-JVBQX52N5Z.p8'
| |
| − | ### DB
| |
| − | PCISDB_HOST='192.168.2.99:1433'
| |
| − | PCISDB='pcp'
| |
| − | PCISDB_USER='pcp-db-username'
| |
| − | PCISDB_PASSWD='passw0rd'
| |
| − | | |
| − | ### PC External
| |
| − | PCS_HOSTNAME_PORT='localhost:8080'</syntaxhighlight>
| |
| − | | |
| − | =Установка=
| |
| − | У пользователя, осуществляющего установку должны быть права на выполнение действий с уровнем привилегий root, либо возможность использовать учётную запись root.
| |
| − | # Скопировать файлы дистрибутива на сервер, например в домашнюю папку пользователя.
| |
| − | # Перейти в директорию с дистрибутивом.
| |
| − | # Предоставить права пользователю на исполнение файла-скрипта. Пример:<syntaxhighlight lang="bash">chmod u+x install</syntaxhighlight>
| |
| − | # Запустить установочный скрипт с привилегиями root, с необходимыми параметрами.
| |
| − | =Результат выполнения инсталляционного скрипта=
| |
| − | Результат выполнения инсталляционного скрипта является:
| |
| − | * установка службы wildflу (директория /opt);
| |
| − | * включение автозапуска службы wildfly;
| |
| − | * добавление драйверов СУБД (опционально);
| |
| − | * добавление источников данных (только для PC Server и PC Pusher);
| |
| − | * развёртывание файлов сервера в wildfly;
| |
| − | * регистрация прикладной системы в PayControl (при установленном параметре "'''r'''"). Результат регистрации - вывод на экран идентификатора системы в конце журнала работы инсталляционного скрипта (systemid). Пример:<syntaxhighlight lang="xml"><soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Body><ns3:registerSystemResponse xmlns:ns2="http://ws.safetech.ru/PayControl/services/ws/common/" xmlns:ns3="http://ws.safetech.ru/PayControlV3/"><systemId>e64a67c9-73e9-462c-9c27-2d0195a2bd23</systemId></ns3:registerSystemResponse></soap:Body></soap:Envelope></syntaxhighlight> В приведённом примере идентификатором зарегистрированной прикладной системы является ''e64a67c9-73e9-462c-9c27-2d0195a2bd23''. В дальнейшем этот идентификатор понадобится при настройке прикладной системы на работу с PayControl. Если значение идентификатора прикладной системы утеряно, свяжитесь с компанией СэйфТек для его уточнения.
| |
| − | ==Примеры параметров запуска==
| |
| − | Примеры ниже приведены для установки PayControl с драйвером PostgreSQL (параметр "'''p'''").
| |
| − | ===Всё на одном сервере===
| |
| − | ====Без регистрации прикладной системы====
| |
| − | <syntaxhighlight lang="bash">sudo ./install -ipSIE</syntaxhighlight>
| |
| − | ====С регистрацией прикладной системы====
| |
| − | <syntaxhighlight lang="bash">sudo ./install -ipSIEr</syntaxhighlight>
| |
| − | ===PC Server===
| |
| − | ====Без регистрации прикладной системы====
| |
| − | <syntaxhighlight lang="bash">sudo ./install -ipS</syntaxhighlight>
| |
| − | ====С регистрацией прикладной системы====
| |
| − | <syntaxhighlight lang="bash">sudo ./install -ipSr</syntaxhighlight>
| |
| − | ===PC Pusher===
| |
| − | <syntaxhighlight lang="bash">sudo ./install -ipI</syntaxhighlight>
| |
| − | ===PC External===
| |
| − | <syntaxhighlight lang="bash">sudo ./install -iE</syntaxhighlight>
| |
| − | =Контроль=
| |
| − | ==Вывод журнала в консоль в реальном времени==
| |
| − | <syntaxhighlight lang="bash">tail -n 300 -f /opt/wildfly/standalone/log/server.log</syntaxhighlight>
| |
| − | ==Просмотр успешности развёртывания компонентов сервера==
| |
| − | <syntaxhighlight lang="bash">ls -la /opt/paycontrol/deployments/</syntaxhighlight>
| |
| − | Если компонент сервера развёрнут успешно, рядом с файлом компонента сервера создаётся файл с аналогичным именем файлу сервера с расширением "'''.deployed'''".
| |
| − | ==Проверка доступности сервисов==
| |
| − | При запросе на серверы по указанным ниже эндпоинтам будут выведены название модуля сервера PC, его версия и версия API.
| |
| − | ===PC Server===
| |
| − | <pre>http://<IP или имя сервера PC Server>:8080/pc-api/health_check/</pre>
| |
| − | ===PC Pusher===
| |
| − | <pre>http://<IP или имя сервера PC Pusher>:8080/pc-pusher-api/health_check/</pre>
| |
| − | ===PC External===
| |
| − | <pre>http://<IP или имя сервера PC External>:8080/pc-client-api/health_check/</pre>
| |
| − | | |
| − | =Внесение изменений в БД=
| |
| − | ==Создание индексов БД PC Server==
| |
| − | Для создания индексов необходимо выполнить следующие запросы к БД PC Server:
| |
| − | <syntaxhighlight lang="sql">create index pc_keyinfo1_idx on PC_KEYINFO (userID, expiration_date, is_deleted);
| |
| − | create index pc_delayedkeyinfo1_idx on PC_DELAYEDKEYINFO (userID, is_deleted);
| |
| − | create index pc_device1_idx on PC_DEVICE (userID, is_deleted);
| |
| − | create index pc_transaction1_idx on PC_TRANSACTION (userID, status);
| |
| − | create index pc_device2_idx on PC_DEVICE (userID);
| |
| − | create index pc_keyinfo2_idx on PC_KEYINFO (userID);
| |
| − | create index pc_transaction2_idx on PC_TRANSACTION (userID);
| |
| − | create index pc_user1_idx on PC_USER (systemID);</syntaxhighlight>
| |
| − | ==Корректировка типов данных для MS SQL==
| |
| − | Для корректировки типов данных необходимо выполнить следующий запрос к БД PC Server:
| |
| − | <syntaxhighlight lang="sql">ALTER TABLE PC_TRANSACTION ALTER COLUMN DATA_BINARY image;</syntaxhighlight>
| |
| − | =Внесение аутентификационных данных для отправки push-уведомлений=
| |
| − | {{Предупреждение|Для отличных от PostgreSQL СУБД измените метод работы с последовательностями}}
| |
| − | | |
| − | Для '''MSSQL''' необходимо вместо строк <code>nextval('pc_split_pusher_creds_seq'),</code> использовать строку <code>NEXT VALUE FOR pc_split_pusher_creds_seq,</code>.
| |
| − | | |
| − | Для '''Oracle''' необходимо вместо строк <code>nextval('pc_split_pusher_creds_seq'),</code> использовать строку <code>pc_split_pusher_creds_seq.NEXTVAL,</code>.
| |
| − | ==В приложение PayControl==
| |
| − | Для внесение аутентификационных данных для отправки push-уведомлений в приложение PayControl необходимо выполнить следующие запросы к БД PC Pusher, заменив значения %SYSTEMID% на корректное. После выполнения запросов необходимо [[Руководство_администратора_PayControl#Запуск и остановка служб сервера PayControl|перезапустить Wildfly]] сервера PC Pusher.
| |
| − | | |
| − | Пример для СУБД PostgreSQL:
| |
| − | <syntaxhighlight lang="sql">
| |
| − | INSERT INTO pc_split_pusher_credentials (
| |
| − | id,
| |
| − | appid,
| |
| − | credentials,
| |
| − | os,
| |
| − | systemid)
| |
| − | VALUES (
| |
| − | nextval('pc_split_pusher_creds_seq'),
| |
| − | 'org.paycontrol.app',
| |
| − | '{"google_api_key":"AAAAoZ7vyz4:APA91bFqLfNegQCs_GfHGFeOmS68PHWWSzWpeZaYKfnLul9iHufIQJiNIAjgAykeWrTxiDDs9qQzullXww3o5XR0VS9tlBEpuhTMlz4CyHdmN2EhntJBBUlSQa-8--Rw_UzDbKBCGCXk"}',
| |
| − | 'Android',
| |
| − | '%SYSTEMID%');
| |
| − | | |
| − | INSERT INTO pc_split_pusher_credentials (
| |
| − | id,
| |
| − | appid,
| |
| − | credentials,
| |
| − | os,
| |
| − | systemid)
| |
| − | VALUES (
| |
| − | nextval('pc_split_pusher_creds_seq'),
| |
| − | 'org.paycontrol.app',
| |
| − | '{"apns_key_file":"/opt/wildfly/safetech-apns-JVBQX52N5Z.p8","apns_key_id":"JVBQX52N5Z","apns_team_id":"48HZH4RWJD"}',
| |
| − | 'iOS',
| |
| − | '%SYSTEMID%');
| |
| − | | |
| − | commit;</syntaxhighlight>
| |
| − | | |
| − | ==В другое мобильное приложение==
| |
| − | Для внесение аутентификационных данных для отправки push-уведомлений необходимо выполнить запрос к БД PC Pusher, заменив значение %SYSTEMID%, %appid%, %путь к файлу ключа%, %apns_key_id%, %apns_team_id%, %google_api_key% на корректные (эти данные, за исключением %SYSTEMID%, можно получить от разработчика мобильного приложения):
| |
| − | <syntaxhighlight lang="sql">
| |
| − | INSERT INTO pc_split_pusher_credentials (
| |
| − | id,
| |
| − | appid,
| |
| − | credentials,
| |
| − | is_default,
| |
| − | os,
| |
| − | systemid)
| |
| − | VALUES (
| |
| − | nextval('pc_split_pusher_credentials_id_seq'),
| |
| − | '%appid%',
| |
| − | '{"google_api_key":"%google_api_key%"}',
| |
| − | 1,
| |
| − | 'Android',
| |
| − | '%SYSTEMID%');
| |
| − | | |
| − | INSERT INTO pc_split_pusher_credentials (
| |
| − | id,
| |
| − | appid,
| |
| − | credentials,
| |
| − | is_default,
| |
| − | os,
| |
| − | systemid)
| |
| − | VALUES (
| |
| − | nextval('pc_split_pusher_credentials_id_seq'),
| |
| − | '%appid%',
| |
| − | '{"apns_key_file":"%путь к файлу ключа%","apns_key_id":"%apns_key_id%","apns_team_id":"%apns_team_id%"}',
| |
| − | 1,
| |
| − | 'iOS',
| |
| − | '%SYSTEMID%');
| |
| − | | |
| − | commit;
| |
| − | </syntaxhighlight>
| |
| − | | |
| − | =Корректировка (смена) адресов серверов PayControl (при необходимости)=
| |
| − | {{Предупреждение|Не рекомендуется дополнительно указывать номер порта, в случаях, если для HTTP используется порт 80, или для HTTPS используется порт 443}}
| |
| − | ==Учёт изменения адреса сервера PC Server==
| |
| − | Для учёта изменения адреса сервера PC Server необходимо произвести изменения в настройках PC External. В файле /opt/wildfly/bin/standalone.conf, в следующей строке, указав правильный адрес и при необходимости порт сервера PC Server, а также уточнив протокол подключения (HTTP/HTTPS):
| |
| − | <syntaxhighlight lang="bash">
| |
| − | JAVA_OPTS="$JAVA_OPTS -Dpc_url=http[s]://<IP или DNS-имя>[:PORT]/pc-api/ -Duser.language=ru -Dpc_locale=ru"
| |
| − | </syntaxhighlight>
| |
| − | | |
| − | ==Учёт изменения адреса сервера PC Pusher==
| |
| − | Для учёта изменения адреса сервера PC Pusher, необходимо, предварительно указав корректные данные (протокол (HTTP/HTTPS), имя или IP сервера, порт, идентификатор системы), выполнить запрос к БД PC Server:
| |
| − | <syntaxhighlight lang="sql">update pc_system set pc_is_internal_url = 'http[s]://<IP или DNS-имя>[:PORT]/pc-pusher-api/' where systemid='<SYSTEMID>';</syntaxhighlight>
| |
| − | ==Учёт изменения внешнего адреса сервера PC External==
| |
| − | {{Предупреждение|Если система была переведена в промышленную эксплуатацию, при смене адреса для доступа мобильных устройств, не рекомендуется выводить из действия предыдущий адрес на протяжении всего срока действия выпущенных ключей пользователя. Иначе мобильное приложение потеряет доступ к серверу PayControl и для восстановления будет необходимо перевыпустить ключ и заново добавить его в приложение пользователя.}}
| |
| − | Для учёта изменения внешнего адреса сервера PayControl, по которому связываются мобильное приложение с сервером PayControl, необходимо, предварительно указав корректные данные (протокол (HTTP/HTTPS), имя или IP сервера, порт, идентификатор системы), выполнить запрос к БД PC Server:
| |
| − | <syntaxhighlight lang="sql">update pc_system set pc_is_external_url = 'http[s]://<IP или DNS-имя>[:PORT]/pc-client-api/' where systemid='<SYSTEMID>';</syntaxhighlight>
| |