> For the complete documentation index, see [llms.txt](https://academy.pentaho.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://academy.pentaho.com/pentaho-11-installation-en/pentaho-11-installation-es/instalacion/post-installation-tasks.md).

# Tareas posteriores a la instalación

{% hint style="info" %}

#### **Endurecimiento y ajuste posteriores a la instalación**

Configuraciones opcionales que puede aplicar después de la instalación para reforzar Tomcat/Pentaho y ajustar el comportamiento:
{% endhint %}

<details>

<summary>Ocultar el encabezado Server de Tomcat</summary>

Por defecto, Tomcat envía un `Server` encabezado que expone información de la versión. Puede sobrescribirlo para reducir la filtración de información.

1. Edite el conector de Tomcat en `server.xml`.

```bash
sudo nano /opt/pentaho/server/pentaho-server/tomcat/conf/server.xml
```

2. Añada o actualice el `server` atributo en el conector HTTP y, si se usa, en el conector AJP; luego guarde.

```xml
<Connector port="8080" protocol="HTTP/1.1"
           connectionTimeout="20000"
           server=" "
           redirectPort="8443" />
```

3. Reinicie Pentaho Server.

```bash
sudo systemctl restart pentaho-server
```

</details>

<details>

<summary>Java Security Manager (obsoleto/eliminado)</summary>

El antiguo Java Security Manager está obsoleto y no está disponible en las versiones modernas de Java LTS (incluida Java 21). No use `-security` con Tomcat en Java 21. Prefiera el refuerzo a nivel del sistema operativo, usuarios con mínimos privilegios, alcance de red y políticas de contenedor/AppArmor/SELinux según corresponda.

</details>

<details>

<summary>Cambiar la ruta de contexto de la aplicación web</summary>

Cambie la ruta de contexto si no desea que la aplicación sea accesible en `/pentaho`.

1. Detenga Pentaho Server.

```bash
cd /opt/pentaho/server/pentaho-server
sudo ./stop-pentaho.sh
```

2. Edite `context.xml`.

```bash
sudo nano /opt/pentaho/server/pentaho-server/tomcat/webapps/pentaho/META-INF/context.xml
```

3. Actualice la ruta de contexto.

```xml
<Context path="/company" docBase="webapps/company/" />
```

4. Cambie el nombre de la carpeta webapp para que coincida con el nuevo nombre de contexto.

```bash
sudo mv /opt/pentaho/server/pentaho-server/tomcat/webapps/pentaho \
        /opt/pentaho/server/pentaho-server/tomcat/webapps/company
```

5. Actualice la redirección en `ROOT/index.jsp`.

```bash
sudo nano /opt/pentaho/server/pentaho-server/tomcat/webapps/ROOT/index.jsp
```

Cambie el meta refresh a:

```html
<meta http-equiv="refresh" content="0;URL=/company">
```

6. Actualice la URL del servidor.

```bash
sudo nano /opt/pentaho/server/pentaho-server/pentaho-solutions/system/server.properties
```

```
fully-qualified-server-url=http://localhost:8080/company/
```

7. Inicie el servidor y pruebe.

```bash
sudo ./start-pentaho.sh
```

{% hint style="warning" %}
Las actualizaciones pueden sobrescribir las aplicaciones web desplegadas. Vuelva a aplicar las personalizaciones después de las actualizaciones, o use en su lugar el mapeo de rutas mediante proxy inverso.
{% endhint %}

</details>

<details>

<summary>Cambiar a HTTPS</summary>

El puerto predeterminado es 8080.

1. Detenga Pentaho Server.

```bash
cd /opt/pentaho/server/pentaho-server
sudo ./stop-pentaho.sh
```

2. Cambie el puerto del conector.

```bash
sudo nano /opt/pentaho/server/pentaho-server/tomcat/conf/server.xml
```

```xml
<Connector URIEncoding="UTF-8"
      port="8443"
      protocol="org.apache.coyote.http11.Http11NioProtocol"
      maxThreads="150"
      SSLEnabled="true"
      scheme="https"
      secure="true"
      clientAuth="false"
      sslProtocol="TLS"
      keystoreType="PKCS12"
      keystoreFile="/opt/pentaho/pentaho-server/tomcat/ssl/keystore.p12"
      keystorePass="changeit"
    />
```

3. Actualice la URL del servidor.

```bash
sudo nano /opt/pentaho/server/pentaho-server/pentaho-solutions/system/server.properties
```

```
fully-qualified-server-url=http://localhost:8090/pentaho/
```

4. Inicie el servidor y verifique.

```bash
sudo ./start-pentaho.sh
curl -I http://localhost:8090/pentaho/ | head -n 1
```

</details>

<details>

<summary>Cambiar el puerto HTTP predeterminado</summary>

El puerto predeterminado es 8080.

1. Detenga Pentaho Server.

```bash
cd /opt/pentaho/server/pentaho-server
sudo ./stop-pentaho.sh
```

2. Cambie el puerto del conector.

```bash
sudo nano /opt/pentaho/server/pentaho-server/tomcat/conf/server.xml
```

```xml
<Connector URIEncoding="UTF-8"
           port="8090" protocol="HTTP/1.1"
           connectionTimeout="20000"
           redirectPort="8443"
           relaxedPathChars="[]|"
           relaxedQueryChars="^{}[]|&amp;"
           maxHttpHeaderSize="65536" />
```

3. Actualice la URL del servidor.

```bash
sudo nano /opt/pentaho/server/pentaho-server/pentaho-solutions/system/server.properties
```

```
fully-qualified-server-url=http://localhost:8090/pentaho/
```

4. Inicie el servidor y verifique.

```bash
sudo ./start-pentaho.sh
curl -I http://localhost:8090/pentaho/ | head -n 1
```

</details>

<details>

<summary>Refuerce o deshabilite el puerto de apagado de Tomcat</summary>

Por defecto, Tomcat escucha en un puerto local de apagado (8005) para el `SHUTDOWN` comando.

* Deshabilite el puerto configurando `port="-1"`, o
* Cambie tanto el puerto como el comando de apagado a valores impredecibles.

1. Editar el `<Server>` elemento en `server.xml`.

```bash
sudo nano /opt/pentaho/server/pentaho-server/tomcat/conf/server.xml
```

Ejemplos:

```xml
<Server port="-1" shutdown="SHUTDOWN">
```

o

```xml
<Server port="18005" shutdown="My$tr0ngShutCmd">
```

2. Reinicie Pentaho Server.

```bash
sudo systemctl restart pentaho-server
```

</details>

<details>

<summary>Páginas de error personalizadas (404, 403, 500)</summary>

Defina páginas de error a nivel de aplicación para evitar exponer las predeterminadas.

1. Cree una página de error en su webapp.

```bash
sudo tee /opt/pentaho/server/pentaho-server/tomcat/webapps/pentaho/error.jsp >/dev/null <<'EOF'
<html>
<head>
  <title>Error</title>
</head>
<body>
  <h1>Algo salió mal</h1>
  <p>Póngase en contacto con su administrador.</p>
</body>
</html>
EOF
```

2. Añada asignaciones de error en la webapp `web.xml`.

```bash
sudo nano /opt/pentaho/server/pentaho-server/tomcat/webapps/pentaho/WEB-INF/web.xml
```

```xml
<error-page>
  <error-code>404</error-code>
  <location>/error.jsp</location>
</error-page>
<error-page>
  <error-code>403</error-code>
  <location>/error.jsp</location>
</error-page>
<error-page>
  <error-code>500</error-code>
  <location>/error.jsp</location>
</error-page>
```

3. Reinicie el servidor y pruebe.

</details>

<details>

<summary>Tiempo de espera de sesión</summary>

Establezca un tiempo de espera global de sesión para la aplicación.

1. Edite la webapp `web.xml`.

```bash
sudo nano /opt/pentaho/server/pentaho-server/tomcat/webapps/pentaho/WEB-INF/web.xml
```

```xml
<session-config>
  <session-timeout>20</session-timeout>
</session-config>
```

</details>

<details>

<summary>Aumentar el tiempo de espera de inicio de Karaf</summary>

Si el inicio del servidor agota el tiempo mientras Karaf instala características, aumente el tiempo de espera.

1. Detenga el servidor.

```bash
sudo systemctl stop pentaho-server
```

2. Edite `server.properties`.

```bash
sudo nano /opt/pentaho/server/pentaho-server/pentaho-solutions/system/server.properties
```

Descomente o añada:

```
# Tiempo (ms) a esperar a que Karaf instale las características antes de agotar el tiempo
karafWaitForBoot=180000
```

3. Inicie el servidor.

```bash
sudo systemctl start pentaho-server
```

</details>

<details>

<summary>Eliminar datos de ejemplo del servidor</summary>

Elimine los ejemplos de evaluación antes de pasar a producción.

1. Detenga el servidor.

```bash
sudo systemctl stop pentaho-server
```

2. Elimine el `samples.zip` del contenido predeterminado (la ruta puede variar según la versión).

```bash
sudo rm -f /opt/pentaho/server/pentaho-server/pentaho-solutions/system/default-content/samples.zip || true
```

3. Edite la webapp `web.xml` y elimine las definiciones de ejemplo de HSQLDB y el SystemStatusFilter (solo para desarrollo).

```bash
sudo nano /opt/pentaho/server/pentaho-server/tomcat/webapps/pentaho/WEB-INF/web.xml
```

Elimine bloques similares a:

```xml
<context-param>
  <param-name>hsqldb-databases</param-name>
  <param-value>sampledata@../../data/hsqldb/sampledata</param-value>
</context-param>

<listener>
  <listener-class>org.pentaho.platform.web.http.context.HsqldbStartupListener</listener-class>
</listener>

<filter>
  <filter-name>SystemStatusFilter</filter-name>
  <filter-class>com.pentaho.ui.servlet.SystemStatusFilter</filter-class>
</filter>
```

4. Opcionalmente elimine el servidor `data/` directorio si solo se utilizó contenido de ejemplo (verifique su entorno antes de eliminarlo).

```bash
sudo rm -rf /opt/pentaho/server/pentaho-server/data || true
```

5. Inicie el servidor y elimine las carpetas de ejemplo mediante PUC (Examinar archivos → Público → Mover a la papelera).

```bash
sudo systemctl start pentaho-server
```

</details>

<details>

<summary>Ocultar widgets de la perspectiva Inicio</summary>

Oculte Getting Started y otros widgets de la página de inicio de PUC.

1. Detenga el servidor.

```bash
sudo systemctl stop pentaho-server
```

2. Edite la configuración de la perspectiva Inicio.

```bash
sudo nano /opt/pentaho/server/pentaho-server/tomcat/webapps/pentaho/mantle/home/properties/config.properties
```

Añada o actualice:

```
disabled-widgets=getting-started,recents,favorites
```

3. Inicie el servidor e inicie sesión para verificar.

```bash
sudo systemctl start pentaho-server
```

</details>

<details>

<summary>Desactivar el autocompletado en la página de inicio de sesión (avanzado)</summary>

Los cambios en los JSP del proveedor pueden sobrescribirse al actualizar. Prefiera controles de SSO o de proxy inverso. Si debe hacerlo, edite el JSP de inicio de sesión.

1. Detenga el servidor.

```bash
sudo systemctl stop pentaho-server
```

2. Edite `PUCLogin.jsp`.

```bash
sudo nano /opt/pentaho/server/pentaho-server/tomcat/webapps/pentaho/jsp/PUCLogin.jsp
```

3. Establezca autocomplete en off para los campos de usuario/contraseña.

```html
<input id="j_username" name="j_username" type="text" autocomplete="off">
<input id="j_password" name="j_password" type="password" autocomplete="off">
```

4. Inicie el servidor.

```bash
sudo systemctl start pentaho-server
```

</details>

<details>

<summary>Aumentar los límites de carga de CSV</summary>

Ajuste los límites de carga y, opcionalmente, la base de datos de staging.

1. Edite `pentaho.xml`.

```bash
sudo nano /opt/pentaho/server/pentaho-server/pentaho-solutions/system/pentaho.xml
```

```xml
<file-upload-defaults>
  <relative-path>/system/metadata/csvfiles/</relative-path>
  <max-file-limit>10000000</max-file-limit>
  <max-folder-limit>500000000</max-folder-limit>
</file-upload-defaults>
```

2. Cambie la base de datos de staging para archivos CSV (opcional) en `data-access/settings.xml`.

```bash
sudo nano /opt/pentaho/server/pentaho-server/pentaho-solutions/system/data-access/settings.xml
```

```xml
<!-- configuración para Agile Data Access -->
<data-access-staging-jndi>hibernate</data-access-staging-jndi>
```

3. En PUC, vaya a Herramientas → Actualizar configuración del sistema, luego reinicie PUC (o el servidor) para aplicar.

</details>

***


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://academy.pentaho.com/pentaho-11-installation-en/pentaho-11-installation-es/instalacion/post-installation-tasks.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
