# Tareas posteriores a la instalación

{% hint style="info" %}

#### **Endurecimiento y ajuste después de la instalación**

Configuraciones opcionales que puede aplicar después de la instalación para endurecer 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 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. Agregue 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 versiones LTS modernas de Java (incluido Java 21). No use `-security` con Tomcat en Java 21. Prefiera endurecimiento a nivel de SO, usuarios con privilegios mínimos, delimitación de red y políticas de contenedores/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 webapps desplegadas. Vuelva a aplicar las personalizaciones después de las actualizaciones o use, en su lugar, el mapeo de ruta de un proxy inverso.
{% endhint %}

</details>

<details>

<summary>Cambiar a HTTPs</summary>

El puerto por defecto 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 por defecto</summary>

El puerto por defecto 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>Endurecer o deshabilitar 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 estableciendo `port="-1"`, o
* Cambie tanto el puerto como el comando de apagado a valores impredecibles.

1. Edite 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>Por favor contacte a su administrador.</p>
</body>
</html>
EOF
```

2. Agregue mapeos 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 expiración de la sesión</summary>

Establezca un tiempo de expiración 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 expira 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 agregue:

```
# Tiempo (ms) para esperar a que Karaf instale características antes de expirar
karafWaitForBoot=180000
```

3. Inicie el servidor.

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

</details>

<details>

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

Elimine las muestras 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 muestra 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 `data/` directorio si solo se utilizó contenido de ejemplo (verifique su entorno antes de eliminar).

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

5. Inicie el servidor y elimine carpetas de muestra a través de PUC (Browse Files → Public → Move to Trash).

```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 Inicio de PUC.

1. Detenga el servidor.

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

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

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

Agregue 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 autocompletar en la página de inicio de sesión (avanzado)</summary>

Cambiar los JSPs del proveedor puede ser sobrescrito en una actualización. Prefiera SSO o controles de proxy inverso. Si debe, 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 subida de CSV</summary>

Ajuste los límites de subida 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
<!-- settings for Agile Data Access -->
<data-access-staging-jndi>hibernate</data-access-staging-jndi>
```

3. En PUC, vaya a Tools → Refresh System Settings, luego reinicie PUC (o el servidor) para aplicar.

</details>

***


---

# Agent Instructions: 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:

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

The question should be specific, self-contained, and written in natural language.
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.
