Установка вручную
Установка в Windows
Установка Java, Apache Tomcat и ThingWorx
Установка Java и Apache Tomcat
1. Дополнительные сведения о требованиях к версии Java см. в разделе Требования к системе ThingWorx.
2. Загрузите и установите требуемую версию Java.
9.0: Java
9.1 более поздние версии: OpenJDK или Java 11.
Распакуйте загруженный файл (например, openjdk-11 zip) и скопируйте папку jdk-<xxx> из папки un-zipped. Вставьте папку jdk в следующее расположение: C:\\Program Files\Java.
3. Убедитесь, что переменная среды Java сконфигурирована правильно:
a. Найдите папку установки Java и скопируйте путь. По умолчанию путь к папке равен C:\Program Files\Java\jdk_<номер версии>.
b. Из меню "Пуск" в Windows перейдите к Дополнительным параметрам системы. Путь к этим свойствам будет изменяться в зависимости от версии Windows. Например, для Windows 10 выполните поиск Переменные среды и выберите Изменить системные переменные среды.
c. Щелкните Переменные среды.
d. В разделе Системные переменные щелкните Создать.
e. В поле Имя переменной введите JAVA_HOME.
f. В поле Значение переменной введите путь к установке Java, как определено на шаге a.
g. Отредактируйте переменную Path и добавьте новое значение: %JAVA_HOME%\bin.
h. Нажмите кнопку OK.
4. Дополнительные сведения о требованиях к версии Apache Tomcat см. в разделе Требования к системе ThingWorx.
5. Посетите веб-сайт Apache Tomcat, чтобы загрузить файл 32-bit/64-bit Windows Service Installer (pgp, sha1, sha512).
* 
Рекомендуется для каждого выпуска включать проверку целостности файла Tomcat с использованием подписей или контрольных сумм. Дополнительные сведения см. в документации Apache.
6. Запустите Apache Tomcat Setup Wizard. Нажмите кнопку Далее.
7. Щелкните I Agree.
8. В разделе Choose Components используйте настройки по умолчанию. Нажмите кнопку Далее.
9. В поле HTTP/1.1 Connector Port введите 80 (или другой доступный порт).
10. В полях Учетные данные администратора Tomcat (Tomcat Administrator Login) необходимо ввести имя пользователя Tomcat и уникальный безопасный пароль для администрирования Tomcat. В ThingWorx это необходимое действие, а не факультативное.
11. Нажмите кнопку Далее.
12. Нажмите кнопку Далее.
13. Щелкните Install.
14. Нажмите кнопку Finish.
15. Запустите Tomcat. Щелкните Configure Tomcat. В окне Configure Tomcat щелкните вкладку Java.
16. В поле Java Options добавьте следующий код в конце поля опций:
-Dserver -Dd64
-XX:+UseG1GC
-Dfile.encoding=UTF-8
-Duser.timezone=UTC
-Djava.library.path=<path to Tomcat>\webapps\Thingworx\WEB-INF\extensions
-Dlog4j2.formatMsgNoLookups=true
* 
Пример для Djava.library.path :
-Djava.library.path=C:\Program Files\Apache Software Foundation\Tomcat 9.0\webapps\Thingworx\WEB-INF\extensions
* 
Дополнительные сведения об этих опциях и о дополнительных опциях для размещенных и/или общедоступных сред см. в разделе Настройки опций Apache Tomcat Java.
17. Задайте для полей Initial memory pool и Maximum memory pool значение 75 % от доступной памяти ОС (например, 12 ГБ для системы с ОЗУ 16 ГБ). Дополнительные сведения см. в разделе Настройка JVM.
18. Нажмите кнопку OK.
19. В расположении установки Tomcat откройте файл conf/web.xml. Замените страницу с ошибками по умолчанию (значение по умолчанию: stacktrace), добавив в файл web.xml следующие данные. Поместите следующий код в тег web-app (после тега welcome-file-list).
* 
В правильно сконфигурированном веб-приложении это значение по умолчанию будет переопределено в файле webapps/APP_NAME/WEB-INF/web.xml, поэтому проблем не возникнет.
<error-page><exception-type>java.lang.Throwable</exception-type><location>/error.jsp</location></error-page>
20. В расположении установки Tomcat откройте файл conf/server.xml. Добавьте внутрь тегов <Host> </Host> следующее:
<Valve className="org.apache.catalina.valves.ErrorReportValve" showReport="false" showServerInfo="false" />
* 
По соображениям безопасности критически важно отключить соединитель AJP, если это еще не сделано, выполнив следующий шаг.
21. В расположении установки Tomcat откройте файл conf/server.xml и выполните поиск следующей строки. Если она найдена, закомментируйте ее и сохраните файл:
<Connector port ="8009" protocol="AJP/1.3" redirectPort="8443"/>
* 
В Apache Tomcat 9.0 и более поздних версиях для атрибута rejectIllegalHeader по умолчанию задано значение true. Изменение вручную файла conf/web.xml, чтобы задать значение false для этого атрибута, не рекомендуется или поддерживается PTC.
22. Удалите все примеры веб-приложений Tomcat (docs, examples, host-manager, manager, ROOT) в папке /<путь_к_tomcat>/webapps/. Удаление этих приложений предотвращает нежелательный доступ к Tomcat, особенно в контексте, который позволит пользователям просматривать файлы cookie других пользователей.
23. Если для приложения требуется специальный набор шифров, обратитесь к следующей документации для получения информации о конфигурации:
24. PTC настоятельно рекомендует использовать TLS при выполнении ThingWorx. Подробные инструкции по настройке TLS см. в статье технической поддержки (на английском языке).
25. (НЕОБЯЗАТЕЛЬНЫЙ ШАГ) Чтобы увеличить размер кэша по умолчанию, влияющий на кэширование статических файлов, добавьте следующую строку, заключенную в теги <Context></Context> , в файл conf/context.xml :
<Resources cacheMaxSize="501200" cacheObjectMaxSize="2048" cacheTtl="60000"/>
Увеличение этой настройки улучшает производительность и предотвращает появление следующего сообщения в Tomcat:
WARNING: Unable to add the resource at [/Common/jquery/jquery-ui.js] to the cache
because there was insufficient
free space available after evicting expired cache entries -
consider increasing the maximum size of the cache
Установка ThingWorx
1. Создайте папки с именами ThingworxPlatform и ThingworxStorage в корневой папке диска, на котором был установлен Tomcat.
* 
Если нужно создать папки в другом расположении, см. шаги здесь.
* 
Для этой папки должны существовать соответствующие права владения и доступа. Они должны принадлежать тому же пользователю, который выполняет сервис Tomcat и имеет полный контроль. Обычно это пользователь NETWORK_SERVICE, но в вашей среде это может быть другой пользователь. Без этих разрешений сервер невозможно будет запустить.
2. Получите соответствующий файл Thingworx.war для используемой базы данных. Последние загрузки ThingWorx отправляются с сайта support.ptc.com в разделе Download Software (Загрузить ПО) > Order or Download Software Updates (Заказать или загрузить обновления ПО) > ThingWorx Foundation > Release X.X (Выпуск X.X) > ThingWorx PostgreSQL, ThingWorx Mssql, ThingWorx H2 или ThingWorx AzureSql > Most Recent Datecode (Самый последний код даты) > ThingWorx-Platform-<тип базы данных>-<версия>.
3. Поместите файл platform-settings.json в папку ThingworxPlatform.
* 
Если используется H2, необходимо создать файл platform-settings.json, поскольку он не входит в загрузку.
4. Сконфигурируйте пароль администратора.
Добавьте раздел AdministratorUserSettings с паролем, имеющим длину не менее 14 символов, в раздел PlatformSettingsConfig файла platform-settings.json. Дополнительные сведения о размещении см. в разделе Сведения о конфигурации platform-settings.json. Дополнительные сведения о задании паролей см. в разделе Пароли.
* 
Не копируйте и вставляйте приведенный ниже пример, поскольку это может привести к нарушению форматирования в файле platform-settings.json. Вместо этого щелкните здесь и сделайте копию из файла.

{
"PlatformSettingsConfig": {
"AdministratorUserSettings": {
"InitialPassword": "changeme"
}
}
}
* 
Если не удается запустить Tomcat и появляется сообщение об ошибке "Check the InitialPassword setting in the AdministratorUserPassword section in platform-settings.json...", проверьте, выполняются ли следующие условия:
Настройка пароля хранится в файле platform-settings.json
Пароль имеет допустимую длину (минимум 14 символов по умолчанию).
Файл platform-settings.json отформатирован правильно. Неправильное форматирование может привести к ошибкам.
5. Включите импорт расширений. По умолчанию импорт расширений отключен для всех пользователей.
Добавьте в файле platform-settings.json следующие данные в раздел PlatformSettingsConfig. Обновите следующие параметры ExtensionPackageImportPolicy, изменив их значения на истина, чтобы разрешить импорт расширений. Рекомендации по управлению импортом расширений см. в разделе Импорт расширений.
"ExtensionPackageImportPolicy": {
"importEnabled": <true or false>,
"allowJarResources": <true or false>,
"allowJavascriptResources": <true or false>,
"allowCSSResources": <true or false>,
"allowJSONResources": <true or false>,
"allowWebAppResources": <true or false>,
"allowEntities": <true or false>,
"allowExtensibleEntities": <true or false>
},
6. Пропустите этот шаг, если H2 не используется в качестве базы данных. Добавьте имя пользователя и пароль для H2 в файл platform-settings.json. Дополнительные сведения см. в разделе Сведения о конфигурации platform-settings.json.
* 
Для соединений ThingWorx с базой данных H2 требуются имя пользователя и пароль, определенные пользователем; в противном случае сервер не будет запущен. Эта конструкция полностью исключает любую потенциальную уязвимость, представленную в документе CVE-2018-10054.
},
"PersistenceProviderPackageConfigs":{
"H2PersistenceProviderPackage":{
"ConnectionInformation":
{
"password": "<addsecurepassword>",
"username": "twadmin"
}
},
7. Пропустите этот шаг, если Azure SQL не используется в качестве базы данных. Откройте файл platform-settings.json и добавьте параметры поставщика хранилища данных Azure SQL:
"PersistenceProviderPackageConfigs": {
"AzuresqlPersistenceProviderPackage": {
"ConnectionInformation": {
"driverClass": "com.microsoft.sqlserver.jdbc.SQLServerDriver",
"jdbcUrl": "jdbc:sqlserver://<server name>:<port>;databaseName=thingworx;applicationName=Thingworx;",
"password": "<database password>",
"username": "twadmin"
}
}
}
8. Если не используется база данных H2, перейдите к разделу Установка и конфигурация базы данных, чтобы настроить базу данных. Вернитесь к следующему шагу после конфигурирования базы данных. Если H2 используется, перейдите к следующему шагу.
9. Конфигурирование лицензирования:
Откройте файл platform-settings.json и добавьте следующую информацию в раздел PlatformSettingsConfig (дополнительные сведения о размещении см. в разделе Сведения о конфигурации platform-settings.json).
* 
При выполнении отсоединенной установки (без доступа к Интернету) информацию о лицензировании добавлять в файл platform-settings.json не нужно. См. раздел Лицензирование ThingWorx Platform для отсоединенных сайтов и пропустите этот шаг.
{
"PersistenceProviderPackageConfigs": {
"PostgresPersistenceProviderPackage": {
"ConnectionInformation": {
"jdbcUrl": "jdbc:postgresql://localhost:5432/thingworx",
"password": "<password>",
"username": "<username>"
}
}
},
"PlatformSettingsConfig": {
"LicensingConnectionSettings": {
"username":"<PTC_support_portal_username>",
"password":"<PTC_support_portal_password>"
}
}
}
Остановите Tomcat.
Скопируйте файл Thingworx.war и поместите его в следующее расположение установки Tomcat:
<Tomcat_Install_Location>\webapps
Запустите Tomcat.
Убедитесь, что файл лицензий (successful_license_capability_response.bin) создан в папке ThingworxPlatform.
* 
Если настройки заполнены неправильно, или если серверу не удается установить соединение, текстовый файл запроса лицензии (licenseRequestFile.txt) будет создан в папке ThingworxPlatform. В этом сценарии лицензия должна быть создана вручную. Если она не будет создана, ThingWorx запустится в ограниченном режиме. Ограниченный режим не позволяет сохранять лицензируемые сущности в базе данных. К лицензируемым сущностям относятся вещи, мэшапы, мастеры, гаджеты, пользователи и поставщики хранилищ данных.
Дополнительные сведения о получении лицензии ThingWorx для отсоединенных сайтов можно найти на сайте управления лицензиями PTC в разделе Licensing for ThingWorx Platform (Лицензирование ThingWorx Platform) (на английском языке) для отсоединенных сайтов (без соединения с порталом поддержки PTC). В этом случае, если файл лицензии генерируется вручную, он должен быть переименован в license_capability_response.bin и помещен в папку ThingworxPlatform.
* 
Рекомендации по устранению неполадок лицензирования см. в статье на сайте поддержки.
10. Зашифруйте пароль для сервера лицензий, выполнив шаги, описанные в разделе Шифрование паролей.
11. Если используется база данных Azure SQL, выполните следующие шаги, чтобы загрузить драйвер JDBC. Пропустите этот шаг, если вы не используете базу данных Azure SQL.
a. Перейдите на портал Azure и перейдите к базе данных ThingWorx.
b. Выберите Connection strings.
c. Выберите вкладку JDBC.
d. Выберите Download Microsoft JDBC Driver for SQL Server.
e. Выберите Microsoft JDBC Driver 6.0 for SQL Server.
f. Извлеките и скопируйте загруженный двоичный файл в свою виртуальную машину ThingWorx, в каталог Tomcat lib.
12. Перезапустите Tomcat.
13. Чтобы запустить ThingWorx, перейдите в расположение http://<имя_сервера>:<порт>/Thingworx в веб-браузере.
14. Измените начальный пароль администратора.
a. В Composer выберите Администратор > Изменить пароль.
b. В окне Изменить пароль ведите Текущий пароль, Новый пароль и новый пароль в поле Подтвердите пароль.
* 
Пароль не должен легко угадываться или узнаваться, обычно пароль должен иметь длину не менее 14 символов и состоять из смеси прописных и строчных букв, цифр и специальных символов.
c. Удалите начальный пароль администратора из файла platform-settings.json.
15. Выберите Готово.
16. (НЕОБЯЗАТЕЛЬНЫЙ ШАГ) Чтобы определить статус вашей лицензии, откройте в Composer: Мониторинг > Подсистема > Настройки подсистемы лицензирования, чтобы подтвердить список компонентов (лицензируемых сущностей), включенных вместе с лицензией. Если лицензируемые сущности не присутствуют в списке, вы находитесь в ограниченном режиме.
Было ли это полезно?