Instalación manual
Instalación de Windows
Instalación de Java, Apache Tomcat y ThingWorx
Instalación de Java y Apache Tomcat
1. Consulte los Requisitos del sistema de ThingWorx para conocer los requisitos de la versión de Java.
2. Descargue e instale la versión necesaria de Java.
9.0: Java
9.1 y versiones posteriores: OpenJDK o Java 11.
Descomprima el fichero descargado (por ejemplo, el zip openjdk-11) y copie la carpeta jdk-<xxx> de la carpeta sin comprimir. Pegue la carpeta jdk en la siguiente ubicación: c:\\Archivos de programa\Java.
3. Asegúrese de que la variable de entorno de Java esté configurada correctamente:
a. Localice el directorio de instalación de Java y copie la ruta. La ruta por defecto es c:\Archivos de Programa\Java\jdk_<número de versión>.
b. En el menú de inicio de Windows, navegue hasta Propiedades avanzadas del sistema. La ruta de estas propiedades variará en función de la versión de Windows. Por ejemplo, para Windows 10, busque Variables de entorno y, a continuación, seleccione Editar las variables de entorno del sistema.
c. Pulse en Variables de entorno.
d. En la sección Variables del sistema, pulse en Nuevo.
e. En el campo Nombre de variable, introduzca JAVA_HOME.
f. En el campo Valor de variable, introduzca la ruta a la instalación de Java que se ha definido en el paso a.
g. Edite la variable Path y añada un nuevo valor de %JAVA_HOME%\bin.
h. Pulse en Aceptar.
4. Consulte los Requisitos del sistema de ThingWorx para los requisitos de la versión de Apache Tomcat.
5. Visite el sitio Web de Apache Tomcat para descargar 32-bit/64-bit Windows Service Installer (pgp, sha1, sha512).
* 
Entre las prácticas recomendadas se incluye la verificación de la integridad del fichero de Tomcat mediante el uso de firmas o sumas de control para cada versión. Consulte la documentación de Apache para obtener más información.
6. Se inicia el asistente para la configuración de Apache Tomcat. Pulse en Next.
7. Pulse en I Agree.
8. En la sección Choose Components, utilice la configuración por defecto. Pulse en Next.
9. En el campo HTTP/1.1 Connector Port, escriba 80 (u otro puerto disponible).
10. En el campo Tomcat Administrator Login, se debe introducir un nombre de usuario de Tomcat y una contraseña segura y única para la administración de Tomcat. En ThingWorx es obligatorio, no opcional.
11. Pulse en Next.
12. Pulse en Next.
13. Pulse en Install.
14. Pulse en Finalizar.
15. Inicie Tomcat. Pulse en Configure Tomcat. En la ventana de configuración de Tomcat, pulse en la ficha Java.
16. En el campo Java Options, añada lo siguiente al final del campo de opciones:
-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
* 
Ejemplo de Djava.library.path :
-Djava.library.path=C:\Program Files\Apache Software Foundation\Tomcat 9.0\webapps\Thingworx\WEB-INF\extensions
* 
Para obtener más información sobre estas opciones y opciones adicionales para entornos alojados o de cara al público, consulte Tomcat Java Option Settings de Apache.
17. Defina los campos Initial memory pool y Maximum memory pool en el 75 % de la memoria del sistema operativo disponible (por ejemplo, 12 GB para un sistema de 16 GB de RAM). Consulte la sección Ajuste de JVM para obtener información adicional.
18. Pulse en Aceptar
19. En la ubicación de la instalación de Tomcat, abra conf/web.xml. Reemplace la página de error por defecto (el valor por defecto es el seguimiento de pila) mediante la adición de lo siguiente al fichero web.xml. Coloque lo siguiente dentro de la etiqueta web-app (después de la etiqueta welcome-file-list).
* 
Una aplicación Web bien configurada sustituirá este valor por defecto en webapps/APP_NAME/WEB-INF/web.xml, por lo que no producirá problemas.
<error-page><exception-type>java.lang.Throwable</exception-type><location>/error.jsp</location></error-page>
20. En la ubicación de la instalación de Tomcat, abra conf/server.xml. Añada lo siguiente dentro de las etiquetas <Host> </Host>:
<Valve className="org.apache.catalina.valves.ErrorReportValve" showReport="false" showServerInfo="false" />
* 
Por razones de seguridad, es fundamental desactivar el conector de AJP, si no lo está por defecto, realizando el siguiente paso.
21. En la ubicación de la instalación de Tomcat, abra conf/server.xml y busque la siguiente línea. Si se encuentra, coméntelo y guarde el fichero:
<Connector port ="8009" protocol="AJP/1.3" redirectPort="8443"/>
* 
En Apache Tomcat 9.0 y versiones posteriores, el atributo rejectIllegalHeader está definido en verdadero por defecto. PTC no soporta ni recomienda la modificación manual del fichero conf/web.xml para definir este atributo en falso.
22. Quite todas las webapps de ejemplo de Tomcat (docs, examples, host-manager, manager, ROOT) que se encuentran en /<ruta_a_tomcat>/webapps/. Al quitar estas aplicaciones, se impide el acceso innecesario a Tomcat, específicamente en el contexto que puede permitir a los usuarios ver cookies de otros usuarios.
23. Si la aplicación requiere un conjunto de cifrado específico, consulte la siguiente documentación para obtener información de configuración:
24. PTC recomienda encarecidamente utilizar TLS al ejecutar ThingWorx. Para obtener instrucciones detalladas sobre la configuración de TLS, consulte este artículo de soporte técnico.
25. (PASO OPCIONAL) Para aumentar la configuración de la caché por defecto que afecta al almacenamiento en caché de ficheros estáticos, añada la siguiente línea dentro de las etiquetas <Context></Context> del fichero /conf/context.xml:
<Resources cacheMaxSize="501200" cacheObjectMaxSize="2048" cacheTtl="60000"/>
Al aumentar esta configuración se mejora el rendimiento y se evita el siguiente mensaje de 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
Instalación de ThingWorx
1. Cree carpetas denominadas ThingworxPlatform y ThingworxStorage en la raíz de la unidad donde se ha instalado Tomcat.
* 
Si desea crear las carpetas en otra ubicación, consulte los pasos aquí.
* 
Estas carpetas deben tener derechos adecuados de acceso y de propiedad. Deben pertenecer al mismo usuario que ejecuta el servicio de Tomcat, quien debe tener asignado el control total. Este usuario suele ser NETWORK_SERVICE, pero puede variar en el entorno. Sin estos permisos, no se podrá iniciar el servidor.
2. Obtenga el fichero Thingworx.war apropiado para la base de datos que se está utilizando. Las descargas más recientes de ThingWorx se publican en support.ptc.com, en Descargar software > Pedir o descargar actualizaciones de software > ThingWorx Foundation > Versión X.X > ThingWorx PostgreSQL, ThingWorx MSSQL, ThingWorx H2 o ThingWorx Azure SQL > Código de fecha más reciente > ThingWorx-Platform-<tipo de base de datos><versión>.
3. Coloque platform-settings.json en la carpeta ThingworxPlatform.
* 
Si se utiliza H2, se debe crear el fichero platform-settings.json, ya que no se incluye en la descarga.
4. Configure la contraseña del administrador.
Añada la siguiente sección AdministratorUserSettings (en PlatformSettingsConfig) al fichero platform-settings.json con una contraseña que tenga al menos 14 caracteres. Para obtener más información sobre la colocación, consulte Detalles de la configuración de platform-settings.json. Consulte Contraseñas para obtener información adicional sobre la definición de contraseñas.
* 
No se debe copiar y pegar el siguiente ejemplo, ya que puede generar un formato incorrecto en platform-settings.json. En su lugar, pulse aquí y cópielo del fichero.

{
"PlatformSettingsConfig": {
"AdministratorUserSettings": {
"InitialPassword": "changeme"
}
}
}
* 
Si Tomcat no se inicia y emite el mensaje de error: Check the InitialPassword setting in the AdministratorUserPassword section in platform-settings.json..., verifique lo siguiente:
La configuración de la contraseña existe en platform-settings.json.
La contraseña es válida (14 o más caracteres por defecto).
El fichero platform-settings.json tiene el formato correcto. El formato incorrecto podría provocar errores.
5. Active la importación de extensión. Por defecto, la importación de extensión está desactivada para todos los usuarios.
Añada lo siguiente al fichero platform-settings.json en PlatformSettingsConfig. Actualice los siguientes parámetros de ExtensionPackageImportPolicy a true para permitir la importación de las extensiones. Consulte Importación de extensiones para conocer las prácticas recomendadas para controlar la importación de extensiones.
"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. Si H2 no se utiliza como base de datos, omita este paso. Añada un nombre de usuario y contraseña para H2 en el fichero platform-settings.json. Para obtener más información, consulte el tema Detalles de configuración de platform-settings.json.
* 
Las conexiones de ThingWorx a la base de datos H2 requieren un nombre de usuario y una contraseña definidos por el usuario, o el servidor no se iniciará. Este diseño mitiga completamente cualquier vulnerabilidad potencial representada por CVE-2018-10054.
},
"PersistenceProviderPackageConfigs":{
"H2PersistenceProviderPackage":{
"ConnectionInformation":
{
"password": "<addsecurepassword>",
"username": "twadmin"
}
},
7. Si Azure SQL no se utiliza como base de datos, omita este paso. Abra el fichero platform-settings.json y añada los parámetros del proveedor de persistencia de 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. Si no se utiliza H2 para la base de datos, vaya a Instalación y configuración de la base de datos para configurar la base de datos. Vuelva al siguiente paso una vez configurada la base de datos. Si se utiliza H2, continúe en el paso siguiente.
9. Configure la gestión de licencias:
Abra el fichero platform-settings.json y añada lo siguiente a la sección PlatformSettingsConfig (consulte Detalles de la configuración de platform-settings.json para obtener más información sobre la colocación).
* 
Si se realiza una instalación desconectada (sin acceso a Internet), no es necesario añadir información de licencias al fichero platform-settings.json. Consulte Licencias de ThingWorx Platform para sitios desconectados y omita este paso.
{
"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>"
}
}
}
Detenga Tomcat.
Copie el fichero Thingworx.war y colóquelo en la siguiente ubicación de la instalación de Tomcat:
<Tomcat_Install_Location>\webapps
Inicie Tomcat.
Verifique que se crea un fichero de licencias (successful_license_capability_response.bin) en la carpeta ThingworxPlatform.
* 
Si la configuración se rellena incorrectamente o si el servidor no se puede conectar, se crea un fichero de texto de solicitud de licencia (licenseRequestFile.txt) en la carpeta ThingworxPlatform. En este escenario, se debe crear manualmente una licencia. (Si no se crea, ThingWorx se iniciará en modo limitado. El modo limitado no permite almacenar entidades con licencia en la base de datos. Las entidades con licencia son las cosas, los mashups, los maestros, los gadgets, los usuarios y los proveedores de persistencia).
Encontrará más información sobre cómo obtener una licencia de sitio desconectado de ThingWorx a través del sitio de gestión de licencias en Licencias de ThingWorx Platform para sitios desconectados (sin conexión al portal de soporte técnico de PTC). En esta situación, si el fichero de licencias se genera manualmente, se debe cambiar su nombre a license_capability_response.bin y colocarse en la carpeta ThingworxPlatform.
* 
Para la resolución de problemas de licencias, consulte este artículo de soporte.
10. Cifre la contraseña del servidor de licencias siguiendo los pasos descritos en el tema Cifrado de contraseñas.
11. Si se utiliza Azure SQL como base de datos, siga estos pasos para descargar el controlador JDBC. Si no se utiliza Azure SQL, omita este paso.
a. Vaya a Azure Portal y navegue hasta la base de datos de ThingWorx.
b. Seleccione Cadenas de conexión.
c. Seleccione la ficha JDBC.
d. Seleccione Descargar Microsoft JDBC Driver para SQL Server.
e. Seleccione Microsoft JDBC Driver 6.0 para SQL Server.
f. Extraiga y copie el binario descargado en la máquina virtual de ThingWorx en el directorio lib de Tomcat.
12. Reinicie Tomcat.
13. Para iniciar ThingWorx, vaya a http://<nombre_servidor>:<puerto>/Thingworx en un explorador Web.
14. Cambie la contraseña de administrador inicial.
a. En Composer, seleccione Administrador > Cambiar contraseña.
b. En la ventana Cambiar contraseña, introduzca Contraseña actual, Contraseña nueva y Confirmar la contraseña.
* 
La contraseña, que no se debe poder averiguar fácilmente ni ser una contraseña común conocida, debe tener al menos 14 caracteres e incluir una combinación de mayúsculas y minúsculas, números y caracteres especiales.
c. Borre la contraseña de administrador inicial del fichero platform-settings.json.
15. Seleccione Terminado.
16. (PASO OPCIONAL) Para determinar el estado de la licencia, abra Supervisión>Subsistema>Configuración del subsistema de licencias en Composer para confirmar la lista de las funciones (entidades con licencia) incluida con la licencia. Si no hay entidades con licencia presentes, se está en modo limitado.
¿Fue esto útil?