Обновление компонента Apache Tomcat вручную (Windows)
Apache Tomcat — это необходимый компонент, требующийся для запуска веб-консоли ESET PROTECT. Обновите Apache Tomcat вручную, если вы изначально устанавливали Apache Tomcat вручную или у вас нет последней версии комплексного установщика ESET PROTECT.
Если установлена специальная версия Apache Tomcat (ручная установка службы Tomcat), последующее обновление веб-консоли ESET PROTECT с помощью комплексного установщика не поддерживается.
Действия перед обновлением
• Для Apache Tomcat требуется 64-разрядная версия Java/OpenJDK. Если в вашей системе установлено несколько версий Java, рекомендуем удалить предыдущие версии Java и оставить только последнюю поддерживаемую версию Java.
С января 2019 года для общедоступных обновлений Oracle JAVA SE 8 нужна лицензия, если ПО используется в целях ведения бизнеса, коммерции или производства. Если вы не хотите приобретать подписку JAVA SE, можете перейти на бесплатную альтернативу. См. поддерживаемые версии JDK.
• Проверьте, какая версия Apache Tomcat используется в настоящее время.
a. Перейдите в папку установки Apache Tomcat:
C:\Program Files\Apache Software Foundation\[ Tomcat папка ]\
b. Откройте файл RELEASE-NOTES в текстовом редакторе и проверьте номер версии (например, 9.0.34 ).
c. Если доступна более новая поддерживаемая версия, выполните обновление.
Обновление
1. Остановите службу Apache Tomcat: Перейдите в меню Пуск > Службы , щелкните правой кнопкой мыши службу Apache Tomcat и выберите пункт Остановить .
Закройте файл Tomcat7w.exe в области уведомлений, если он запущен.
2. Сделайте резервные копии следующих файлов:
C:\Program Files\Apache Software Foundation\[ Tomcat папка ]\ .keystore
C:\Program Files\Apache Software Foundation\[ Tomcat папка ]\ conf\server.xml
C:\Program Files\Apache Software Foundation\[ Tomcat папка ]\ webapps\era\WEB-INF\classes\sk\eset\era\g2webconsole\server\modules\config\EraWebServerConfig.properties
Если вы используете хранилище SSL-сертификатов с пользовательскими настройками в папке Tomcat , выполните также резервное копирование сертификата.
3. Удалите текущую версию Apache Tomcat.
4. Удалите следующую папку, если она все еще присутствует в вашей системе:
C:\Program Files\Apache Software Foundation\[ Tomcat папка ]\
5. Загрузите последнюю поддерживаемую версию файла установщика Apache Tomcat (32- или 64-разрядный установщик службы Windows) apache-tomcat-[ версия ].exe с сайта https://tomcat.apache.org.
6. Установите более новую версию Apache Tomcat, которую вы загрузили:
• Если установлено больше версий Java, во время установки выберите путь к новейшей версии Java.
• По завершении установки снимите флажок Запустить Apache Tomcat .
7. Восстановите .keystore , server.xml и настраиваемые сертификаты в первоначальные расположения.
8. Откройте файл server.xml и убедитесь, что путь keystoreFile задан правильно (обновите путь, если вы перешли на более высокий основной номер версии Apache Tomcat):
keystoreFile=» C:\Program Files\Apache Software Foundation\[ Tomcat папка ]\ .keystore»
9. Убедитесь, что подключение HTTPS для Apache Tomcat для веб-консоли ESET PROTECT правильно настроено.
10. Разверните веб-консоль ESET PROTECT (Установка веб-консоли — Windows).
11. Восстановите EraWebServerConfig.properties в исходной папке.
12. Запустите Apache Tomcat и задайте правильную виртуальную машину Java. Для этого выполните следующие действия:
a) Перейдите к папке C:\Program Files\Apache Software Foundation\[ Tomcat папка ]\ bin и запустите Tomcat9w.exe .
b) На вкладке Общие установите для параметра Тип запуска значение Автоматический и щелкните Запустить .
c) Перейдите на вкладку Java , снимите флажок Использовать умолчания и убедитесь, что в разделе Виртуальная машина Java указан путь к файлу jvm.dll (см. иллюстрированные инструкции в базе знаний). Затем щелкните ОК .
13. Подключитесь к веб-консоли ESET PROTECT и удостоверьтесь, что веб-консоль загружается правильно.
Устранение неполадок
• Если вам не удалось установить подключение по протоколу HTTPS для Apache Tomcat, пропустите этот этап и временно используйте подключение по протоколу HTTP.
• Если вам не удалось обновить Apache Tomcat, установите первоначальную версию и примените к ней конфигурацию, указанную в описании этапа 2.
• Обновление веб-консоли и Apache Tomcat очищает файлы автономной справки. Если вы использовали автономную справку в ESMC или в более старой версии ESET PROTECT, после обновления создайте ее повторно для ESET PROTECT 9.0, чтобы она отвечала вашей версии ESET PROTECT.
Как обновить Apache на Windows
Или можно посмотреть открыв ApacheMonitor.exe:
Скачать Apache Windows
Заходим на главную страницу сайта https://apache-windows.ru:
и видим, что вышла новая версия — скачиваем её для 64 битных систем (Win64) или 32-битных (Win32).
Заодно можно обновить и C++ Redistributable Visual Studio 2017.
Далее я исхожу из того, что веб-сервер у меня установлен в c:\Server\bin\Apache24 — если у вас другое расположение, то отредактируйте пути соответствующим образом.
Скопируйте в безопасное место файл c:\Server\bin\Apache24\conf\httpd.conf — это главный конфигурационный файл Apache. Мы делаем его резервную копию чтобы не пришлось заново настраивать Apache.
Остановите и удалите службу Apache:
c:\Server\bin\Apache24\bin\httpd.exe -k stop c:\Server\bin\Apache24\bin\httpd.exe -k uninstall
Эти команды надо ввести в командную строку, чтобы открыть командную строку нажмите Win+x, и там выберите Windows PowerShell (Администратор).
Удалите папку C:\Server\bin\Apache24\. Пмните о ваших сайтах и базах данных — у меня они расположены в другой папке, специально, чтобы было легко обновлять сервер. Если у вас сайты размещены в папке c:\Server\bin\Apache24\htdocs\ (внутри директории Apache24, как это сделано по умолчанию), то вам самостоятельно нужно позаботиться об их резервном копировании.
Распакуйте новый архив в C:\Server\bin\. Скопируйте сохранённый ранее файл httpd.conf в c:\Server\bin\Apache24\conf\httpd.conf.
Запустите службу Apache:
c:\Server\bin\Apache24\bin\httpd.exe -k install c:\Server\bin\Apache24\bin\httpd.exe -k start
Apache Tomcat
Tomcat представляет веб-контейнер сервлетов и предназначен для работы с рядом технологий Java EE, в частности, с JSP, сервлетами и рядом других. Нередко Tomcat называют веб-сервером.
В данном случае мы будем использовать последнюю на сегодняшний день (29.08.2018) 9-ю версию. Для установки Tomcat перейдем на официальный сайт данного контейнера на странцу загрузок — https://tomcat.apache.org/download-90.cgi. На данной странице мы можем увидеть различные опции для загрузки: в виде архива, который достаточно распаковать, либо в виде инсталлятора.
В данном случае большой разницы не будет, какой именно пакет использовать. Но в моем случае для упрощения настройки я выберу пункт 32-bit/64-bit Windows Service Installer .
После выбора этой опции на компьютер будет загружен инсталлятор, который надо запустить.
Вначале надо принять лицензионное соглашение:
Затем надо настроить устанавливаемые компоненты:
Здесь можно выбрать те компоненты, которые мы хотим установить, в частности, можно выбрать пункт Service Startup , и тогда Tomcat будет запускаться автоматически при запуске системы. Можно выбрать все, а можно ограничиться теми компонентами, которые уже выбраны по умолчанию.
Далее будет предложено настроить порты и ряд дополнительных моментов конфигурации Tomcat:
Здесь стоит обратить внимание на пункт HTTP/1.1 Connector Port . Он указывает, по какому порту будет запускаться приложение. Укажем в этом поле номер 8081.
Затем надо будет указать версию java, которая будет использоваться:
По умолчанию инсталлятор должен определять путь к Java. Но естественно при необходимости его можно изменить. И в конце надо будет указать путь к устанавливаемому веб-контейнеру на жестком диске:
Также можно оставить путь по умолчанию. И после этого собственно произойдет установка контейнера.
После установки на финальном экране оставим отмеченнным пункт Run Apache Tomcat и нажмем на кнопку Finish. После этого Tomcat будет запущен, и мы сможем к нему обращаться.
Как обновить apache tomcat
▪ Распакуйте загруженный файл (например, openjdk-11 zip ) и скопируйте папку jdk-
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= \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 , поэтому проблем не возникнет.
20. В расположении установки Tomcat откройте файл conf/server.xml . Добавьте внутрь тегов следующее:
По соображениям безопасности критически важно отключить соединитель AJP, если это еще не сделано, выполнив следующий шаг.
21. В расположении установки Tomcat откройте файл conf/server.xml и выполните поиск следующей строки. Если она найдена, закомментируйте ее и сохраните файл:
В Apache Tomcat 9.0 и более поздних версиях для атрибута rejectIllegalHeader по умолчанию задано значение true. Изменение вручную файла conf/web.xml , чтобы задать значение false для этого атрибута, не рекомендуется или поддерживается PTC.
22. Удалите все примеры веб-приложений Tomcat ( docs , examples , host-manager , manager , ROOT ) в папке /<путь_к_tomcat>/webapps/ . Удаление этих приложений предотвращает нежелательный доступ к Tomcat, особенно в контексте, который позволит пользователям просматривать файлы cookie других пользователей.путь_к_tomcat>
23. Если для приложения требуется специальный набор шифров, обратитесь к следующей документации для получения информации о конфигурации:
24. PTC настоятельно рекомендует использовать TLS при выполнении ThingWorx. Подробные инструкции по настройке TLS см. в статье технической поддержки (на английском языке).
25. (НЕОБЯЗАТЕЛЬНЫЙ ШАГ) Чтобы увеличить размер кэша по умолчанию, влияющий на кэширование статических файлов, добавьте следующую строку, заключенную в теги , в файл conf/context.xml :
Увеличение этой настройки улучшает производительность и предотвращает появление следующего сообщения в 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 , изменив их значения на истина , чтобы разрешить импорт расширений. Рекомендации по управлению импортом расширений см. в разделе Импорт расширений .
6. Пропустите этот шаг, если H2 не используется в качестве базы данных. Добавьте имя пользователя и пароль для H2 в файл platform-settings.json . Дополнительные сведения см. в разделе Сведения о конфигурации platform-settings.json .
Для соединений ThingWorx с базой данных H2 требуются имя пользователя и пароль, определенные пользователем; в противном случае сервер не будет запущен. Эта конструкция полностью исключает любую потенциальную уязвимость, представленную в документе CVE-2018-10054 .
>,
«PersistenceProviderPackageConfigs»: «H2PersistenceProviderPackage»: <
«ConnectionInformation»:
«password»: «»,
«username»: «twadmin»
>
>,
7. Пропустите этот шаг, если Azure SQL не используется в качестве базы данных. Откройте файл platform-settings.json и добавьте параметры поставщика хранилища данных Azure SQL:
«PersistenceProviderPackageConfigs»: <
«AzuresqlPersistenceProviderPackage»: <
«ConnectionInformation»: <
«driverClass»: «com.microsoft.sqlserver.jdbc.SQLServerDriver»,
«jdbcUrl»: «jdbc:sqlserver://:;databaseName=thingworx;applicationName=Thingworx;»,
«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»: «»,
«username»: «»
>
>
>,
«PlatformSettingsConfig»: <
«LicensingConnectionSettings»: <
«username»:»»,
«password»:»»
>
>
>
◦ Остановите Tomcat.
◦ Скопируйте файл Thingworx.war и поместите его в следующее расположение установки Tomcat:
◦ Запустите 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: Мониторинг > Подсистема > Настройки подсистемы лицензирования , чтобы подтвердить список компонентов (лицензируемых сущностей), включенных вместе с лицензией. Если лицензируемые сущности не присутствуют в списке, вы находитесь в ограниченном режиме.