# Tarefas pós-instalação

{% hint style="info" %}

#### **Endurecimento e Ajustes Pós‑instalação**

Configurações opcionais que você pode aplicar após a instalação para endurecer o Tomcat/Pentaho e ajustar o comportamento:
{% endhint %}

<details>

<summary>Ocultar o cabeçalho do servidor Tomcat</summary>

Por padrão, o Tomcat envia um `Server` cabeçalho expondo informações da versão. Você pode sobrescrevê‑lo para reduzir o vazamento de informações.

1. Edite o conector do Tomcat em `server.xml`.

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

2. Adicione ou atualize o `server` atributo no conector HTTP e (se usado) no conector AJP, então salve.

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

3. Reinicie o Pentaho Server.

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

</details>

<details>

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

O legado Java Security Manager está obsoleto e não está disponível nas versões LTS modernas do Java (incluindo o Java 21). Não use `-security` com o Tomcat no Java 21. Prefira endurecimento ao nível do SO, usuários com privilégios mínimos, escopo de rede e políticas de container/AppArmor/SELinux conforme apropriado.

</details>

<details>

<summary>Alterar o caminho de contexto da aplicação web</summary>

Altere o caminho de contexto se você não quiser que a aplicação seja acessível em `/pentaho`.

1. Pare o 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. Atualize o caminho de contexto.

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

4. Renomeie a pasta da webapp para corresponder ao novo nome de contexto.

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

5. Atualize o redirecionamento em `ROOT/index.jsp`.

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

Altere o meta refresh para:

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

6. Atualize a URL do servidor.

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

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

7. Inicie o servidor e teste.

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

{% hint style="warning" %}
Atualizações podem sobrescrever webapps implantadas. Reaplique personalizações após atualizações ou use mapeamento de caminho via proxy reverso em vez disso.
{% endhint %}

</details>

<details>

<summary>Mudar para HTTPS</summary>

A porta padrão é 8080.

1. Pare o Pentaho Server.

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

2. Altere a porta do 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. Atualize a URL do servidor.

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

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

4. Inicie o servidor e verifique.

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

</details>

<details>

<summary>Alterar a porta HTTP padrão</summary>

A porta padrão é 8080.

1. Pare o Pentaho Server.

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

2. Altere a porta do 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. Atualize a URL do servidor.

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

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

4. Inicie o servidor e verifique.

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

</details>

<details>

<summary>Endurecer ou desabilitar a porta de shutdown do Tomcat</summary>

Por padrão o Tomcat escuta em uma porta local de shutdown (8005) para o `SHUTDOWN` comando.

* Desabilite a porta definindo `port="-1"`, ou
* Altere tanto a porta quanto o comando de shutdown para valores imprevisíveis.

1. Edite o `<Server>` elemento em `server.xml`.

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

Exemplos:

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

ou

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

2. Reinicie o Pentaho Server.

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

</details>

<details>

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

Defina páginas de erro em nível de aplicação para evitar expor padrões.

1. Crie uma página de erro na sua 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>Something went wrong</h1>
  <p>Please contact your administrator.</p>
</body>
</html>
EOF
```

2. Adicione mapeamentos de erro no 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 o servidor e teste.

</details>

<details>

<summary>Tempo limite de sessão</summary>

Defina um tempo limite de sessão global para a aplicação.

1. Edite a 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 o tempo de espera de inicialização do Karaf</summary>

Se a inicialização do servidor expirar enquanto o Karaf instala recursos, aumente o tempo de espera.

1. Pare o 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 ou adicione:

```
# Tempo (ms) para aguardar o Karaf instalar recursos antes de expirar
karafWaitForBoot=180000
```

3. Inicie o servidor.

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

</details>

<details>

<summary>Remover dados de exemplo do servidor</summary>

Remova amostras de avaliação antes de mover para produção.

1. Pare o servidor.

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

2. Exclua o `samples.zip` do conteúdo padrão (o caminho pode variar conforme a versão).

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

3. Edite a webapp `web.xml` e remova as definições de amostra HSQLDB e o SystemStatusFilter (apenas dev).

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

Remova blocos semelhantes 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 remova o `data/` diretório se apenas conteúdo de exemplo foi usado (verifique seu ambiente antes de excluir).

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

5. Inicie o servidor e remova pastas de amostra via PUC (Browse Files → Public → Move to Trash).

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

</details>

<details>

<summary>Ocultar widgets da perspectiva Home</summary>

Oculte Getting Started e outros widgets da página Home do PUC.

1. Pare o servidor.

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

2. Edite a configuração da perspectiva Home.

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

Adicione ou atualize:

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

3. Inicie o servidor e faça login para verificar.

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

</details>

<details>

<summary>Desativar autocomplete na página de login (avançado)</summary>

Alterações em JSPs do fornecedor podem ser sobrescritas na atualização. Prefira SSO ou controles via proxy reverso. Se necessário, edite o JSP de login.

1. Pare o 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. Defina autocomplete como off para os campos de usuário/senha.

```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 o servidor.

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

</details>

<details>

<summary>Aumentar limites de upload de CSV</summary>

Ajuste os limites de upload e (opcionalmente) o banco de dados 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. Altere o banco de dados de staging para arquivos CSV (opcional) em `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. No PUC, vá em Tools → Refresh System Settings, então reinicie o PUC (ou o 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-pt-br/instalacao/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.
