Установить Creatio .NET Core на Linux

Продукты
Все продукты

Перед тем, как развернуть сервер, необходимо выполнить следующие действия:

На заметку. Запуск сервера PostgreSQL в Docker описан в документации Docker.

Способ 1. Установить Creatio .NET Core непосредственно на Linux 

Чтобы развернуть сервер приложения:

  • Установите .NET Core, GDI+ совместимый API для семейства UNIX-подобных операционных систем, библиотеки разработки и файлы заголовков для GNU C. Подробнее >>>

  • Запустите сервер приложения Creatio. Подробнее >>>

Установить .NET Core и другие зависимости Creatio 

  1. Скачайте пакеты microsoft-prod package:

    wget -q https://packages.microsoft.com/config/ubuntu/18.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
  2. Войдите в систему как администратор (root):

    sudo su
  3. Установите загруженные пакеты:

    dpkg -i packages-microsoft-prod.deb
  4. Обновите список пакетов:

    apt-get update
  5. Установите транспорт APT для загрузки по протоколу HTTP Secure:

    apt-get install apt-transport-https
  6. Обновите список пакетов:

    apt-get update
  7. Установите .NET Core:

    apt-get install dotnet-sdk-3.1
  8. Установите GDI+ совместимый API для альтернативных Windows операционных систем:

    apt-get install -y libgdiplus
  9. Установите библиотеки разработки и файлы заголовков для GNU C:

    apt-get install -y libc6-dev
  10. Выйдите из root-сессии:

    exit

Запуск сервера приложения Creatio 

На заметку. Если вы разворачиваете среду разработки .Net Core с доступом по протоколу http, то перед запуском приложения необходимо внести изменения в конфигурационный файл Terrasoft.WebHost.dll.config, который находится в корневой папке приложения. Для параметра "add key" укажите значение

<add key="CookiesSameSiteMode" value="Lax" />

Это обеспечит корректную работу как по протоколу https, так и по http. В тоже время при такой настройке не будет работать мобильное приложение.

Чтобы запустить приложение:

  1. Перейдите в папку с установочными файлами Creatio:

    cd /path/to/application/directory/
  2. Запустите сервер .Net Core:

    COMPlus_ThreadPool_ForceMinWorkerThreads=100 dotnet Terrasoft.WebHost.dll

Версия Creatio для HTTP будет доступна через порт 5000.

Версия Creatio для HTTPS будет доступна через порт 5002.

На заметку. Первый вход в систему после настройки приложения осуществляется под учетной записью Supervisor (логин — Supervisor; пароль — Supervisor).

Способ 2. Установить Creatio .NET Core на Linux с использованием Docker 

Используйте этот метод развертывания для запуска приложения Creatio изолированно от операционной системы. Установка сервера Redis, восстановление БД и настройка файла ConnectionStrings.config выполняются аналогично, по описанной выше инструкции.

Чтобы развернуть сервер приложения с использованием Docker:

Важно. Развертывание приложения в Docker рекомендуется для сред разработки и тестирования. Развертывание промышленной среды в Docker станет доступно в будущих релизах, после реализации возможности обновления приложений в Docker.

Настроить сервер кэширования данных Creatio (Redis) 

  1. Откройте redis.conf в текстовом редакторе от имени пользователя root. Например, для этого можно использовать текстовый редактор Nano:

    sudo nano /etc/redis/redis.conf
  2. Найдите запись “bind 127.0.0.1 ::1”. Замените ее на запись “bind 0.0.0.0”, чтобы использовать все доступные интерфейсы IPV4.

  3. Сохраните изменения и закройте текстовый редактор.

  4. Перезагрузите сервер Redis:

    sudo systemctl restart redis-server

Установить Docker 

Чтобы установить Docker, выполните команду:

sudo apt-get install docker

Создать Dockerfile 

/path/to/application/directory/ — путь к папке, в которую распакован архив с установочными файлами Creatio.

  1. Перейдите в папку приложения:

    cd /path/to/application/directory/
  2. Создайте Dockerfile в текстовом редакторе. Например, для этого можно использовать текстовый редактор Nano:

    nano Dockerfile
  3. Добавьте следующий код:

    FROM mcr.microsoft.com/dotnet/core/sdk:3.1 AS base
    EXPOSE 5000 5002
    RUN apt-get update && \
    apt-get -y --no-install-recommends install \
    libgdiplus \
    libc6-dev && \
    apt-get clean all && \
    rm -rf /var/lib/apt/lists/* /var/cache/apt/*
    WORKDIR /app
    COPY . ./
    FROM base AS final
    WORKDIR /app
    ENV ASPNETCORE_ENVIRONMENT Development
    ENV TZ US/Eastern
    ENV COMPlus_ThreadPool_ForceMinWorkerThreads 100
    ENTRYPOINT ["dotnet", "Terrasoft.WebHost.dll"]
  4. Нажмите Ctrl+O, чтобы сохранить изменения.

  5. Закройте редактор нажатием Ctrl+X.

Создать и запустить образ Docker 

На заметку.. Если вы разворачиваете среду разработки .Net Core с доступом по протоколу http, то перед запуском образа Docker необходимо внести изменения в конфигурационный файл Terrasoft.WebHost.dll.config, который находится в корневой папке приложения. Для параметра "add key" укажите значение

<add key="CookiesSameSiteMode" value="Lax" />
Это обеспечит корректную работу как по протоколу https, так и по http. В тоже время при такой настройке не будет работать мобильное приложение.

 

Создайте образ Docker:

docker build -f Dockerfile -t creatioimg .

Запустите созданный образ:

docker run -p http_port_number:5000 -p https_port_number:5002  -d --dns=DNS_server_ip --dns-search=DNS_address_suffix -v /logspath/mycreatio:/app/Logs --name Creatio creatioimg

http_port_number — номер порта. Docker будет предоставлять версию HTTP через этот порт.

https_port_number — номер порта. Docker будет предоставлять версию HTTPS через этот порт.

DNS_server_ip — IP-адрес сервера DNS, который позволяет серверу определять адреса интернет-доменов. Вы можете использовать несколько значений --dns для разных DNS-серверов.

DNS_address_suffix — поисковый домен DNS, который позволяет контейнеру искать не полностью определенные имена хостов. Вы можете использовать несколько значений --dns-search для разных поисковых доменов DNS.

На заметку. Добавьте --restart, чтобы по команде всегда использовался определенный контейнер.

Версия Creatio для HTTP будет доступна через порт http_port_number.

Версия Creatio для HTTPS будет доступна через порт https_port_number.

На заметку. Первый вход в систему после настройки приложения осуществляется под учетной записью Supervisor (логин — Supervisor; пароль — Supervisor).

Настроить работу Creatio .NetCore на https 

Прежде чем приступить к работе в приложении по протоколу HTTPS, вам необходимо:

  1. Получить цифровой сертификат от центра сертификации в формате *.pfx. 

    На заметку. При использовании самоподписанного сертификата подключение мобильного приложения к сайту Creatio будет недоступно из-за ограничений политики безопасности мобильных приложений.

  2. Открыть файл appsettings.json, который находится в корневом каталоге приложения.
  3. В блоке "Https" указать адрес вашего сайта, путь к полученному сертификату и пароль.
Пример блока "Https" файла appsettings.json
"Https": {
    "Url": "https://::5002",
    "Certificate": {
    "Path": "C:\\Projects\\site\\20210215_103239\\localhost.pfx",
    "Password": "Password"
    }
}

На заметку. Вы можете указать как относительный путь к сертификату, так и абсолютный. Обратите внимание, что абсолютный путь должен быть указан в json-совместимом формате.