Архив рубрики: Creatio
Установка Creatio локально
Этапы установки локальной установки Creatio
1. Требования для локальной установки Creatio на Windows 10
2. Установка Server SQL
3. Скачиваем нужный пакет Creatio
4. Cтавим IIS
5. Настройка сайта Creatio
6. Создаем базу данных Creatio
7. Скачиваем и устанавливаем Redis
8. Настраиваем файл ConnectionStrings.config
9. Готово, заходим браузере в Creatio
Требования для локальной установки Creatio на Windows 10
Нужно иметь права администратора на ПК
желательно SSD диск, ОЗУ память от 8 ГБ
свободно место на диске от 10 GB
Ставим для локальной разработки или тестирования Creatio.
Вводные
В этой установке DESKTOP-HL2I9V5\Саша — локальная учетка от нее ставим SQL и запускаем apppool [ =) ]
Планируем время 40-60 минут
Скачать MS SQL Server 2019 Dev – free lic. https://go.microsoft.com/fwlink/?linkid=866662
Установка Server SQL, выбираем базовая
Потом выбираем кнопку установить SSMS
Скачиваем GUI к управлению SQL.
Устанавливаем с сайта https://aka.ms/ssmsfullsetup
Скачиваем нужный пакет Creatio
На оф. сайте можно скачать разные версии
http://ftp.creatio.com/support/downloads/!Release/installation_files/7.18.4/
Более удобно скачать Creatio можно тут
Для обучения на курсе аналитика скачиваем эту версию
http://ftp.creatio.com/support/downloads/!Release/installation_files/7.18.4/7.18.4.1532_Studio_Softkey_MSSQL_ENU.zip
Для проекта Sales этот пакет
http://ftp.creatio.com/support/downloads/!Release/installation_files/7.17.4/7.17.4.2265_SalesEnterprise_Marketing_ServiceEnterprise_Softkey_MSSQL_ENU.zip
В нашем случаи берем для курса 7.18.3.1241_Studio_Softkey_MSSQL_ENU.zip
я распаковал архив в папку на своем ПК C:\CreatioStudio\
Обязательно выдаем права на эту папку пользователю — DESKTOP-HL2I9V5\Саша
Далее ставим IIS
нажимаем WIN+R и выполняем OptionalFeatures
В окне ставим обязательно перечисленные компоненты
Настройка сайта Creatio
Запустим оснастку IIS – выполним InetMgr
Удалим сайт по умолчанию
Сделаем новый
Настроим на наш каталог, куда распаковали файлы
Добавим приложение
указать псевдоним 0 и папку \Terrasoft.WebApp
Настраиваем Handler Mappings
Включаем выполнение .DLL
Далее перенастроим запуск нашего пула от своей учетки
выберем свой пул — Дополнительные параметры
Далее изменим удостоверение
И выберем свою учетку
Перезапустим наш пул.
Переходим на сайт, хотя нет еще нужно сделать базу данных Creatio
Находим в Пуск
Подключаемся с своему ПК
Выбираем рестор базы
Выбираем в нашей папке распакованого дистирбутива папку db бэкап базы
Запомним имя базы потом пригодится в настройке файла подключений.
Проверим что DESKTOP-HL2I9V5\Саша учетка или sysadmin или выдаем права owner на новую базу.
Почти все готово.
Осталось настроить Redis подключения к базам SQL.
Скачиваем и устанавливаем Redis
https://github.com/tporadowski/redis/releases берем последнюю версию 5.0.14
можно еще встретить старый архив MS с 3.0.504 версией Redis но его не нужно использовать.
Устанавливаем все по умолчанию, после установки появится служба Redis.
Настраиваем файл ConnectionStrings.config
C:\CreatioStudio\ConnectionStrings.config
прописываем туда наши настройки redis и базы данных, правим две строчки
<add name=»redis» connectionString=»host=127.0.0.1;db=13;port=6379″ />
<add name=»db» connectionString=»Data Source=127.0.0.1;Initial Catalog=Name_DB;Integrated Security=SSPI;MultipleActiveResultSets=True;Pooling=true;Max Pool Size=100″ />
Теперь в браузере заходим
http://localhost/
Логин и пароль по умолчанию Supervisor
Creatio .NetCore,PostgeSQL в Docker Desktop
Разворачиваем Creatio локально в Docker Desktop версию для .NetCore естественно с базой PostgresSQL.
Urls:
- http://localhost:5000 Creatio http Login = Supervisor pass = Supervisor
- https://localhost:5002 Creatio https
- http://localhost:5050 pgadmin админка SQL (password = admin)
Install
- запускаем docker-compose up -d —build
- первый раз контейнер creatio упадет, так как долго ресторится база, а она большая
- заходим в логи postgres и смотрим пока не закончится до PostgreSQL init process complete; ready for start up.
- запускаем контейнер creatio, ждем и заходим по URL
- чтобы запустить создание базы заново, просто удалить папку \db
Папки
- \postgres — для pgadmin папка через которую можно залить бэкап SQL
- \Creatio — исходники файлов Creatio взяты тут http://ftp.creatio.com/support/downloads/!Release/installation_files/7.18.0/ для Docker нужно брать с …NetCore.zip в имени файла
- \logs — папка логов Creatio
- \db — папка для сохранения баз PG
Файлы для правки
- \Creatio\ConnectionStrings.config — для работы нужно прописать, заменить две строки
1 2 |
<span id="LC1" class="line" lang="plaintext"> <add name="db" connectionString="Pooling=true; Database=Creatio; Host=postgres; Port=5432; Username=Creatio; Password=password; Timeout=5; CommandTimeout=400" /></span> <span id="LC2" class="line" lang="plaintext"> <add name="redis" connectionString="host=redis;db=0;port=6379" /></span> |
Опционально. чтобы развернуть базу SQL вручную
заходим http://localhost:5050 pgadmin админка SQL (password = admin) создаем базу c именем Creatio и ресторим из папки /home/backup дамп BPMonline7180SalesEnterprise_Marketing_ServiceEnterprise_Linux.backup (будет папка с ПК ./postgres) потом еще можно прогнать скрипт CreateTypeCastsPostgreSql.sql как бы правит имена
Error
При первом запуске он может долго ресторить базу, смотрим логи и потом запускаем контейнер с креатио
FATAL Microsoft.AspNetCore.Hosting.Diagnostics ApplicationError — Application startup exception Npgsql.PostgresException (0x80004005): 42P01: relation «public.SysSettings» does not exist Как раз такая ошибка когда база не ресторина, тогда разворачиваем базу вручную
PostgreSQL Database directory appears to contain a database; Skipping initialization решение удалить локальный vol чтобы база был чистая https://stackoverflow.com/questions/59715622/docker-compose-and-create-db-in-postgres-on-init так и не получилось реторить из дампа через sh pg_restore нашел решение просто из full.sql
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 |
version: "3.7" services: Creatio: container_name: Creatio_container_7_18 build: context: ./Creatio dockerfile: Dockerfile image: creatio:7.18.0.1350 ports: - 5000:5000 - 5002:5002 volumes: - ./logs:/app/Logs depends_on: - postgres - redis redis: # container_name: redis_container restart: always image: redis ports: - 6379:6379 postgres: # container_name: postgres_container_7180 image: postgres:13 environment: POSTGRES_USER: Creatio POSTGRES_PASSWORD: password POSTGRES_DB: Creatio PGDATA: /data/postgres volumes: - ./postgres/full.sql:/docker-entrypoint-initdb.d/full.sql - ./db:/data/postgres ports: - "5432:5432" restart: unless-stopped pgadmin: # container_name: pgadmin_container image: dpage/pgadmin4 environment: PGADMIN_DEFAULT_EMAIL: alexander.kepman@softline.com PGADMIN_DEFAULT_PASSWORD: admin PGADMIN_CONFIG_SERVER_MODE: 'False' volumes: - creatio_pgadmin_7180:/root/.pgadmin - ./postgres:/home/backup ports: - 5050:80 restart: unless-stopped depends_on: - postgres volumes: creatio_pgadmin_7180: |
Интеграция Creatio + LDAP AD
Есть официальная документация Creatio по интеграции с MS AD по LDAP, там все подробно описано, но некоторые моменты нужно иметь ввиду, которые хочу описать.
Как работает механизм интеграции Creatio LDAP. Запускается периодически процесс и стягивает данные к себе в базу Creatio. Обновляет данные пользователя и его привязанного контакта и группы из AD, которые потом можно выбрать в привязке к ролям. Для настройки нужно…
1. Подготовить AD пользователей и группы. Важно чтобы пользователь был в группе (domain users не считается) иначе не пройдет синхронизация. Любые ошибки синхронизации нужно смотреть в логах Auth.log.
Создадим новую группу CreatioUsers и добавим в нее несколько тестовых пользователей.
2. Настройка Creatio конфиг UI
Основные настройки делаем
https://site.ru/0/Nui/ViewModule.aspx#ConfigurationModuleV2/LDAPServerSettings/
можно заменить site.ru вашим сайтом Creatio
Тут данные для доступа на чтение в AD LDAP, может быть любой пользователь. Ставим выдавать лицензии, так удобнее.
Это те данные, которые он будет синхронизировать, если вам нужно больше полей то нужно писать свой отдельный скрипт интеграции. Важно 5 обязательных полей должны быть сопоставлены с LDAP атрибутами пользователя. Для уникальности лучше выбрать objectGUID, а не objectSID почему тут.
С группами и фильтрами оставим все как есть, по умолчанию.
3. Запускаем синхронизацию вручную
Тут можно вручную запустить, если объектов LDAP будет больше 1000 и нет лицензий Creatio, то не пройдет синхронизация.
4. Проверяем логи синхронизации
Нажимаем на Шестерёнку, потом Журнал процессов, находим наш процесс и если есть ошибка, а они будут, то смотрим и решаем.
5. Делаем привязку к группе
Если все прошло удачно, то нужно настроить привязку групп AD к ролям. Для этого прописываем нашу группу CreatioUsers к роли например All employees.
Пользователи сами добавятся в область ниже.
6. Настройка Creatio конфиг IIS Web.config
Когда пользователи появились у роли. Разрешим входить используя логин и пароль LDAP. Для этого сделаем изменения в файл Web.config корневой папки.
Добавим Ldap провайдер, дополнив providerNames=»InternalUserPassword,Ldap»
1 |
<auth providerNames="InternalUserPassword,Ldap" autoLoginProviderNames="" defLanguage="ru-RU" defWorkspaceName="Default" useIPRestriction="false" loginTimeout="30000"> |
Настроим провайдер на наш сервер, пропишем свой домен и сервер LDAP
1 2 3 4 5 6 7 8 9 10 11 |
<provider name="Ldap" type="Terrasoft.WebApp.Loader.Authentication.Ldap.LdapProvider, Terrasoft.WebApp.Loader"> <parameters> <add name="ServerPath" value="192.168.1.1" /> <add name="AuthType" value="Ntlm" /> <add name="DistinguishedName" value="dc=domen,dc=ru" /> <add name="UseLoginUserLDAPEntryDN" value="false" /> <!--<add name="SearchPattern" value="(&(objectCategory=person)(objectClass=user)(!(userAccountControl:1.2.840.113556.1.4.803:=2))(memberOf=CN=SVNUsers,OU=groups,OU=Terrasoft,DC=tscrm,DC=com))" />--> <add name="SearchPattern" value="(&(sAMAccountName={0})(objectClass=person))" /> <add name="KeyDistributionCenter" value="" /> </parameters> </provider> |
Перезапускаем IIS, чтобы применить изменения.
7. Проверим вход в Creatio
8. Дополнительные настройки интеграции LDAP Creatio
В системных настройках есть те же настройки по отдельности
9. Возможные ошибки
Если у пользователя=контакта есть обязательные поля, то импорт будет завершатся ошибкой, решение нужно убрать у этих полей обязательность.
Больше по настройке тут.
Если есть ошибки которые не решить, перезапустите сервер иногда помогает.