= Локальная установка Entaxy на рабочую станцию или сервер.

__Alternative languages:__

* xref:windows-local-installation.adoc[English]

== Введение.

В этой инструкции мы рассмотрим установку Entaxy, включая брокер и бд, на одной машине с операционной системой Windows. Установка на другие ОС проходит аналогичным образом и отличается выбором соответствующих инсталяторов или использованием пакетных менеджеров.

== Шаг 1: Установка Java.

Скачиваем и устанавливаем JAVA. Для работы Entaxy рекомендуется Java 11. Работа платформы протестирована на OpenJDK и LibericaJDK от BellSoft (https://libericajdk.ru/pages/downloads/).

== Шаг 2: Установка и настройка Maven.

1. Скачиваем архив с официального сайта (https://maven.apache.org/download.cgi).
2. Распаковываем архив и переходи в директорию bin.
3. Копируем абсолютный путь к директории bin и добавляем его в системную переменную окружения PATH.

== Шаг 3: Получение исходных кодов и сборка проекта.

1. Для получения исходных кодов платформы переходим по адресу https://git.emdev.ru/entaxy-public/entaxy-public и нажимаем иконку `скачать`. image:image/source-download.jpg[source-download]
2. Распаковываем архив и переходим в корневую директорию проекта `entaxy-public`.
3. Собираем проект командой `mvn install`.

== Шаг 4: Установка и настройка БД.

Entaxy не привязана к какой-либо конкретной СУБД, но в большинстве случаев используется PostgreSQL.

1. Скачиваем инсталятор с официального сайта (https://www.enterprisedb.com/downloads/postgres-postgresql-downloads).
2. Запускаем установку. image:image/postgresql-installation-1.jpg[postgresql-installation]
3. Оставляем все настройки по умолчанию и устанавливаем пароль `postgres`.
4. Запускаем pgAdmin 4 и устанавливаем мастер пароль для приложения `postgres`. image:image/pgadmin-start.jpg[pgadmin-start]
5. Добавляем подключение к локальному серверу БД.
6. Выбираем доступную базу данных из списка и переходим в 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;
----

На этом настройка СУБД завершена.

== Шаг 5: Установка и настройка брокера.

В этой инструкции мы рассмотрим использование брокера сообщений Artemis.

1. Скачиваем архив с официального сайта (https://activemq.apache.org/components/artemis/download/).
2. Распаковываем архив и переходим в директорию bin.
3. Запускаем в командной строке создание брокера `artemis create --user entaxy --password entaxy --allow-anonymous $ARTEMIS_HOME/brokers/entaxy-broker`.
4. После создания брокера надо открыть файл `$ARTEMIS_HOME/brokers/entaxy-broker/etc/broker.xml` и проверить, что автоматическое удаление очередей и адресов отключено:

[source,xml]
----
<!--default for catch all-->
<address-setting match="#">

    <auto-delete-queues>false</auto-delete-queues>
    <auto-delete-addresses>false</auto-delete-addresses>

</address-setting>
----
5. Запускаем брокер сообщений `$ARTEMIS_HOME/brokers/entaxy-broker/bin/artemis run`

Установка брокера завершена.

== Шаг 6: Установка и запуск карафа.

1. Скачать Karaf Runtime 4.2.9 (Binary Distribution : ZIP) с официального сайта (https://archive.apache.org/dist/karaf/4.2.9/apache-karaf-4.2.9.zip).
2. Распаковываем архив и переходим в директорию `etc`.
3. Копируем в директорию `etc` карафа все файлы исходных кодов из директории `entaxy-public\features\target\cfg` и ещё один файл `entaxy-public\features\target\script\install.karaf`.
4. Переходим в директорию `bin` карафа и запускаем командой `karaf`
После запуска откроется консоль карафа.

== Шаг 7: Установка Entaxy в караф.

В командной строке карафа выполнить команду
[source,bash]
----
shell:source etc/install.karaf
----
Если времени на установку не хватило, то нужно повторить последнюю команду или выполнить команды установки построчно. Для отображения списка команд достаточно в консоли карафа выполнить команду
[source,bash]
----
cat etc/install.karaf
----

После успешной установки, выполняем команду `list`, чтобы убедиться, что все модули находятся в состоянии `Active`.

== Шаг 8: Тестирование.

Для проверки работоспособности платформы переходим к xref:../../connectors/uniform-exchange-service/tests/postman.adoc[инструкции по тестированию].