= Локальная установка Entaxy на рабочую станцию или сервер. __Alternative languages:__ * xref:windows-local-installation.adoc[English] == Введение. В этой инструкции мы рассмотрим установку Entaxy. Установка на все ОС проходит аналогичным образом и отличается выбором соответствующих инсталляторов или использованием пакетных менеджеров. == Установка Java. . Скачиваем и устанавливаем JAVA. Для работы Entaxy рекомендуется Java 11. Работа платформы протестирована на OpenJDK и LibericaJDK от BellSoft (https://libericajdk.ru/pages/downloads/) . Создаем переменную окружения JAVA_HOME. . Добавляем абсолютный путь к директории bin в системную переменную окружения PATH. == Дистрибутивы Entaxy Сущетсвет несколько вариантов сборок Entaxy, которые доступны по адресу https://entaxy.ru/download . `entaxy-assembly-compact*` - все-в-одном, брокер, бд и графический веб-интерфейс в одной сборке. См. xref:#_установка_all_in_one [Установка all-in-one] . `entaxy-assembly*` - сборка без предустановленного графического веб-интерфейса. См. xref:#_установка_без_ui [Установка без UI] . `entaxy-assembly-with-ui*` - сборка без предустановленного брокера сообщений. См. xref:#_установка_с_внешним_брокером [Установка с внешним брокером] . Все компоненты устанавливаются отдельно. См. xref:#_покомпонентная_установка [Покомпонентная установка] == Установка all-in-one . Распаковываем архив `entaxy-assembly-compact*` . Распакованный архив лучше перенести в другое место, чтобы абсолютный путь до каталога приложения не был слишком длинным, также необходимо чтобы путь содержал только латинские символы и был без пробелов. . Переходим в каталог `/bin` приложения и запускаем: - entaxy - для Linux - entaxy.bat - для Windows . Немного ждем и проверяем, что система корректно запустилась см. xref:#_проверка_готовности_системы [Проверка готовности системы] == Установка без UI . Распаковываем архив `entaxy-assembly*` . Распакованный архив лучше перенести в другое место, чтобы абсолютный путь до каталога приложения не был слишком длинным, также необходимо чтобы путь содержал только латинские символы и был без пробелов. . Переходим в каталог `/bin` приложения и запускаем: - entaxy - для Linux - entaxy.bat - для Windows . Немного ждем и проверяем, что система корректно запустилась см. xref:#_проверка_готовности_системы [Проверка готовности системы] . Веб-интерфейс можно установить, после запуска системы, командой (в консоли Карафа): `source scripts/entaxy-ui.install` == Установка с внешним брокером . Для установки брокера смотрите инструкцию: xref:#_установка_и_настройка_брокера[Установка и настройка брокера] . Распаковываем архив `entaxy-assembly-with-ui*` . Распакованный архив лучше перенести в другое место, чтобы абсолютный путь до каталога приложения не был слишком длинным, также необходимо чтобы путь содержал только латинские символы и был без пробелов. . Переходим в каталог `/bin` приложения и запускаем: - entaxy - для Linux - entaxy.bat - для Windows . Немного ждем и проверяем, что система корректно запустилась см. xref:#_проверка_готовности_системы [Проверка готовности системы] == Покомпонентная установка === Установка и настройка БД. Entaxy не привязана к какой-либо конкретной СУБД, но по умолчанию используется встроенная H2, в данной инструкции будет показано как установить и настроить систему на работу с БД Postgres. . Скачиваем инсталятор с официального сайта (https://www.enterprisedb.com/downloads/postgres-postgresql-downloads). . Запускаем установку. image:image/postgresql-installation-1.jpg[postgresql-installation] . Оставляем все настройки по умолчанию и устанавливаем пароль `postgres`. . Запускаем pgAdmin 4 и устанавливаем мастер пароль для приложения `postgres`. image:image/pgadmin-start.jpg[pgadmin-start] . Добавляем подключение к локальному серверу БД. . Выбираем доступную базу данных из списка и переходим в Query Tool, в котором выполняем sql запрос: [source,sql] ---- CREATE USER "entaxy" WITH PASSWORD 'entaxy'; ---- image:image/pgadmin-create-user.jpg[pgadmin-create-user] [start=7] . Теперь в том же окне по очереди (по одной строчке) выполняем запросы для создания необходимых для Entaxy баз данных. [source,sql] ---- CREATE DATABASE esb_entaxy; ---- [source,sql] ---- GRANT ALL PRIVILEGES ON DATABASE esb_entaxy TO entaxy; ---- [source,sql] ---- CREATE DATABASE cache; ---- [source,sql] ---- GRANT ALL PRIVILEGES ON DATABASE cache TO entaxy; ---- На этом настройка СУБД завершена. === Установка и настройка брокера В этой инструкции мы рассмотрим использование брокера сообщений Artemis. . Скачиваем архив с официального сайта (https://activemq.apache.org/components/artemis/download/). . Распаковываем архив и переходим в директорию bin. . Запускаем в командной строке создание брокера `artemis create --user entaxy --password entaxy --allow-anonymous $ARTEMIS_HOME/brokers/entaxy-broker`. . После создания брокера надо открыть файл `$ARTEMIS_HOME/brokers/entaxy-broker/etc/broker.xml` и проверить, что автоматическое удаление очередей и адресов отключено: [source,xml] ---- false false ---- . Запускаем брокер сообщений `$ARTEMIS_HOME/brokers/entaxy-broker/bin/artemis run` Установка брокера завершена. === Установка Entaxy . xref:#_установка_с_внешним_брокером [Выполняем установку Entaxy без брокера] . xref:#_настройка_entaxy_на_внешнюю_базы_данных [Перенастраиваем Entaxy на внешнюю БД], установленную на предыдущем шаге. == Проверка готовности системы Чтобы проверить, что все сервисы Entaxy готовы к работае, открываем следующий адрес в браузере http://localhost:8181/system/health При полной готовности система выдаст следующую информацию: image:image/health-check.png[] Если при первом запуске Entaxy Connections находится в статусе TEMPORARILY_UNAVAILABLE, необходимо перезапустить Entaxy. == Настройка Entaxy на внешнюю базу данных По умолчанию все сборки Entaxy используют встроенную БД H2. Для того чтобы перенестроить Entaxy на использование внешней БД, нужно выполнить следующие шаги: В каталоге `/etc` приложения: . Найти файлы `org.ops4j.datasource-entaxy.esb.cache.cfg` и `org.ops4j.datasource-entaxy.esb.storage.cfg` . Удалить их или переименовать путем добавления постфикса, например, `*.defaultdb`. . Найти файлы `org.ops4j.datasource-entaxy.esb.cache.cfg.pg` и `org.ops4j.datasource-entaxy.esb.storage.cfg.pg` и удалить постфикс `.pg` из имени. . Если при выполнении установки БД были указаны другие данные или была выполненна установка на другом хосте, то вводим соответствующие значения в файлах. == Тестирование. Для проверки работоспособности платформы переходим к xref:../../connectors/uniform-exchange-service/tests/postman.adoc[инструкции по тестированию]. == Кластерный запуск Entaxy По умолчанию Entaxy использует мультикаст для поиска компонентов кластера по сети, необходимо убедиться что настройки вашего оборудования и файервол настроены для широковещания. Чтобы два и более экземпляра соединились в кластер достаточно их запустить на разных хостах из одной подсети. === Настройка статичных адресов узлов кластера Если требуется указать статичные адреса узлов кластера поиска узлов, то это можно сделать в файле `/etc/hazelcast.xml` - Выключаем мультикаст `` - Включаем ip `` например: [source,xml] ---- 224.2.2.3 54327 127.0.0.1 ---- Также можно задавать маски адресов: [source,xml] ---- 192.168.1.* ---- === Проверка кластера Чтобы понимать, что экземпляры соединились в кластер, выполняем следующую команду в одной из консолей карафа: `cluster:node-list` image:image/cluster-note-list.png[] === Запуск нескольких экземпляров на одном хосте Для того чтобы запустить несколько экземпляров системы на одном хосте, необходимо в файле `etc/entaxy.properties` изменить значения свойств: - entaxy.rmiRegistryPort - entaxy.rmiServerPort - entaxy.jmxmpPort - entaxy.sshPort - entaxy.org.osgi.service.http.port - entaxy.service.port.management - entaxy.service.port.subscription