> 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-pt-br/instalacao/archive-installation/install-pentaho-server.md).

# Instalar Pentaho Server

{% hint style="info" %}

#### **Servidor Pentaho**

Esta seção orienta você na instalação e inicialização do Servidor Pentaho no Ubuntu.

Você irá:

* Criar diretórios de instalação
* Preparar os bancos de dados do Repositório Pentaho
* Configurar conexões JDBC/JNDI
* Iniciar o Servidor Pentaho (e, opcionalmente, configurar o systemd)
* Configurar o Gerenciador de Licenças
  {% endhint %}

{% hint style="warning" %}
Base testada: Ubuntu 24.04 LTS com Java 21 (OpenJDK) e PostgreSQL 17.

Certifique-se de ter concluído [Preparar o Ambiente](/pentaho-11-installation-en/pentaho-11-installation-pt-br/instalacao/archive-installation/prepare-environment.md) primeiro.

Para detalhes de compatibilidade, consulte [Referência de Componentes](https://docs.pentaho.com/install/components-reference).
{% endhint %}

{% hint style="info" %}
**Pré-requisitos**

* Servidor Ubuntu 24.04 LTS
* Java 21 instalado e `PENTAHO_JAVA_HOME` definido
* PostgreSQL 17 instalado e em execução
* Um usuário `pentaho` não root com sudo
* `pacote unzip` instalado
* Arquivos ZIP do pacote e drivers JDBC baixados
  {% endhint %}

<figure><img src="/files/0f9ef399a14819e6f79ab5eaeefe9aea2afe8d05" alt="Pentaho Pro Suite overview image"><figcaption><p>Pentaho Pro Suite</p></figcaption></figure>

{% tabs %}
{% tab title="1. Servidor Pentaho" %}
{% hint style="info" %}

#### **Diretórios do Servidor Pentaho**

O Servidor Pentaho é uma aplicação web executada em um contêiner servlet Apache Tomcat.
{% endhint %}

1. Crie diretórios base em `/opt/pentaho`.

```bash
cd
sudo mkdir -p /opt/pentaho/{server,software}
```

```
/opt/pentaho
├── server      # Runtime do servidor descompactado (tomcat, pentaho-solutions, scripts)
└── software    # Instaladores, ZIPs, drivers (área de preparação)
```

2. Crie subdiretórios em `/opt/pentaho/software`.

```bash
cd /opt/pentaho/software
sudo mkdir -p {db-drivers,docker,ee-client,ee-plugins,ops-mart,sdk,server,shims}
```

```
db-drivers   - drivers JDBC
docker       - configuração on-prem do Pentaho e dockerfiles
ee-client    - plugins cliente do Pentaho EE
ee-plugins   - plugins do servidor Pentaho EE
ops-mart     - scripts do Operations Mart
sdk          - kit Pentaho SDK
server       - servidor Pentaho
shims        - coleções de shims do Hadoop
```

***

{% hint style="info" %}
**Descompactar o Pacote do Servidor Pentaho (ZIP)**

Use `pacote unzip` para extrair o ZIP do servidor para o diretório de execução. Isso evita a necessidade da JDK completa (o JRE não inclui a ferramenta `jar` ).

* `pentaho-server-ee-11.0.0.0-2xx.zip` - Servidor Pentaho (Arquivo - incl. Tomcat 10)
  {% endhint %}

1. Certifique-se de que `pacote unzip` esteja disponível e copie os ZIPs do servidor para a área de preparo.

```bash
cd
sudo apt update -y && sudo apt install -y unzip
sudo cp ~/Downloads/'Archive Build (Suggested Installation Method)'/* /opt/pentaho/software/server
```

2. Extraia o ZIP do Servidor Pentaho em `$PENTAHO_BASE/server`.

```bash
cd
cd "$PENTAHO_BASE/server"

# Substitua <version> pelo nome exato do arquivo que você baixou
sudo unzip /opt/pentaho/software/server/pentaho-server-ee-11.0.0.0-2xx.zip
```

<figure><img src="/files/12f92b514ac0d2adcde1ac5294656815d78493ec" alt=""><figcaption><p>Descompactar o Servidor Pentaho</p></figcaption></figure>

3. Torne todos os `.sh` arquivos executáveis.

```bash
cd
cd "$PENTAHO_BASE/server"
sudo find . -iname "*.sh" -exec chmod +x {} \;
```

4. Defina a propriedade e permissões adequadas para executar 'pentaho' como um usuário não root.

```bash
cd
sudo chown -R pentaho:pentaho /opt/pentaho
sudo find /opt/pentaho -type d -exec chmod 755 {} \;
sudo find /opt/pentaho -type f -exec chmod 644 {} \;
sudo find /opt/pentaho -name "*.sh" -exec chmod 755 {} \;
```

{% hint style="info" %}
755 significa que você pode fazer qualquer coisa com o arquivo ou diretório, e outros usuários podem lê-lo e executá-lo, mas não alterá-lo. Adequado para programas e diretórios que você deseja disponibilizar publicamente.

644 significa que você pode ler e gravar o arquivo ou diretório e outros usuários podem apenas lê-lo.
{% endhint %}

5. Verifique a estrutura do diretório do servidor.

{% hint style="info" %}
/opt/pentaho/

```
  server/
    pentaho-server/
      pentaho-solutions/
        system/
```

Os plugins do servidor são instalados na pasta `pentaho-solutions/system` .
{% endhint %}
{% endtab %}

{% tab title="2. Repositório Pentaho" %}
{% hint style="info" %}

#### **Componentes do Repositório Pentaho**

O Repositório Pentaho (no PostgreSQL por padrão) consiste em:

* Jackrabbit: repositório de soluções, segurança e metadados de conteúdo
* Quartz: dados do agendador
* Hibernate: registro de auditoria
* Pentaho Operations Mart: uso e relatórios de desempenho
  {% endhint %}

{% stepper %}
{% step %}
**Revise as senhas padrão nos scripts SQL**

1. Inspecione os scripts PostgreSQL fornecidos com o servidor.

```bash
cd
cd "$PENTAHO_SERVER/data/postgresql"
ls -1
```

Você deverá ver arquivos semelhantes a:

```
alter_script_postgresql_BISERVER-13674.sql
create_jcr_postgresql.sql
create_quartz_postgresql.sql
create_repository_postgresql.sql
migrate_old_quartz_data_postgresql.sql
pentaho_logging_postgresql.sql
pentaho_mart_drop_postgresql.sql
pentaho_mart_postgresql.sql
pentaho_mart_upgrade_audit_postgresql.sql
pentaho_mart_upgrade_postgresql.sql

```

2. Abra um script para revisar usuários/senhas padrão (altere para produção).

```bash
sed -n '1,120p' create_jcr_postgresql.sql
```

{% hint style="danger" %}
Orientação de produção: use senhas únicas e fortes, troque-as regularmente, armazene-as em um cofre seguro e nunca faça commit de segredos no controle de código-fonte.

Não mantenha as senhas padrão da oficina em produção.
{% endhint %}
{% endstep %}

{% step %}
**Executar scripts SQL para criar bancos de dados do Repositório**

1. Confirme que o PostgreSQL está em execução e localize os scripts.

```bash
sudo systemctl status postgresql --no-pager
cd
cd "$PENTAHO_SERVER/data/postgresql"
ls -l
```

2. Conecte-se como um `pentaho` superusuário.

Senha: `SecurePassword123`

```bash
sudo -u pentaho psql -d postgres
```

3. Execute os comandos passo a passo - não como um único bloco de script. Forneça as senhas se solicitado - veja abaixo.

```plsql
\i create_jcr_postgresql.sql
\i create_quartz_postgresql.sql
\q saia após Quartz e faça login novamente ..
certifique-se de estar no diretório "$PENTAHO_SERVER/data/postgresql"
sudo -u pentaho psql -d postgres
\i create_repository_postgresql.sql
\i pentaho_mart_postgresql.sql
\q saia após hibernate e faça login novamente ..
certifique-se de estar no diretório "$PENTAHO_SERVER/data/postgresql"
sudo -u pentaho psql -d postgres
\i pentaho_logging_postgresql.sql
\q
```

| Usuário       | Senha             |
| ------------- | ----------------- |
| postgres      | SecurePassword123 |
| pentaho       | SecurePassword123 |
| jcr\_user     | password          |
| pentaho\_user | password          |
| hibuser       | password          |

4. Validação rápida (CLI) - liste os bancos de dados criados e conecte-se - pressione q para rolar a lista.

```sql
\l+ jackrabbit
\l+ quartz
\l+ hibuser
\l+ opsmart
\c jackrabbit
\dt
\c quartz
\dt
```

{% hint style="warning" %}
As tabelas para Hibernate e Jackrabbit podem ser criadas mais tarde pelo Servidor Pentaho na primeira inicialização. Ver esquemas vazios nesta etapa pode ser esperado.
{% endhint %}

5. Opcional: verifique no pgAdmin (GUI).

<figure><img src="/files/6188f4e592b4c98885999176e5729ca04e6977a2" alt=""><figcaption><p>Bancos de dados do Pentaho</p></figcaption></figure>
{% endstep %}

{% step %}
**Configure o Pentaho para usar PostgreSQL**

{% hint style="info" %}
PostgreSQL é o padrão. Se você manteve as senhas e a porta padrão (`5432`), apenas verifique as configurações abaixo; caso contrário, ajuste host/porta/usuário/senha para corresponder ao seu ambiente.
{% endhint %}

***

{% hint style="info" %}
Quartz - defina o delegate PostgreSQL e a fonte de dados JNDI.
{% endhint %}

1. Abra a configuração do Quartz.

```bash
cd "$PENTAHO_SERVER/pentaho-solutions/system/scheduler-plugin/quartz"
sudo nano -c quartz.properties
```

2. Verifique estes valores (os números das linhas podem diferir):

{% code title="quartz.properties — entradas obrigatórias" %}

```
org.quartz.jobStore.driverDelegateClass=org.quartz.impl.jdbcjobstore.PostgreSQLDelegate
org.quartz.dataSource.myDS.jndiURL=Quartz
```

{% endcode %}

***

{% hint style="info" %}
Hibernate — aponte para o arquivo de configuração PostgreSQL.
{% endhint %}

1. Abra as configurações do Hibernate.

```bash
cd "$PENTAHO_SERVER/pentaho-solutions/system/hibernate"
sudo nano -c hibernate-settings.xml
```

2. Confirme a referência ao arquivo de configuração:

{% code title="hibernate-settings.xml" %}

```
<config-file>system/hibernate/postgresql.hibernate.cfg.xml</config-file>
```

{% endcode %}

3. Opcionalmente, revise `postgresql.hibernate.cfg.xml` quanto ao nome da fonte de dados e dialect.

```bash
sudo nano -c postgresql.hibernate.cfg.xml
```

Garanta:

{% code title="postgresql.hibernate.cfg.xml — propriedades principais" %}

```
<property name="connection.driver_class">org.postgresql.Driver</property>
<property name="dialect">org.hibernate.dialect.PostgreSQLDialect</property>
<property name="hibernate.connection.datasource">java:comp/env/jdbc/Hibernate</property>
```

{% endcode %}

***

{% hint style="info" %}
Jackrabbit — verifique o armazenamento PostgreSQL em `repository.xml`.
{% endhint %}

1. Abra a configuração do Jackrabbit.

```bash
cd "$PENTAHO_SERVER/pentaho-solutions/system/jackrabbit"
sudo nano -c repository.xml
```

2. Verifique se as seções PostgreSQL estão ativas (as outras comentadas), por exemplo:

{% hint style="info" %}

* Esquema do sistema de arquivos: `postgresql`
* Armazenamento `databaseType="postgresql"`
* Esquema do PersistenceManager: `postgresql`
* Journal do banco de dados: `postgresql`
  {% endhint %}

{% hint style="warning" %}
Compare os nomes JNDI e as portas entre Quartz, Hibernate, Jackrabbit e Tomcat `context.xml` para garantir consistência (mesmo host, porta 5432, a menos que alterada, e nomes de recursos JNDI correspondentes).

Nomes JNDI esperados:

* Quartz: `Quartz`
* Hibernate: `java:comp/env/jdbc/Hibernate`
* Jackrabbit: conforme referenciado em `repository.xml`
  {% endhint %}
  {% endstep %}
  {% endstepper %}
  {% endtab %}

{% tab title="3. Tomcat" %}
{% hint style="info" %}

#### **Tomcat**

Depois de configurar o Repositório, configure o servidor de aplicação web (Tomcat 10) para conectar-se ao Repositório usando JDBC/JNDI.
{% endhint %}

{% tabs %}
{% tab title="1. Drivers de Banco de Dados" %}
{% hint style="warning" %}

#### **Drivers JDBC**

Para conectar-se a bancos de dados (incluindo o Repositório), instale os drivers JDBC apropriados. Devido a restrições de licenciamento, alguns drivers devem ser baixados manualmente.
{% endhint %}

{% embed url="<https://docs.pentaho.com/install/jdbc-drivers-reference>" %}

{% embed url="<https://jdbc.postgresql.org/download/postgresql-42.7.8.jar>" %}

1. Verifique se o driver JDBC do PostgreSQL está presente na lib do Tomcat (necessário para o Repositório):

```bash
ls -1 "$TOMCAT_HOME/lib" | grep -i postgresql || echo "PostgreSQL driver not found"
```

{% hint style="info" %}
Se não for encontrado, baixe o driver JDBC do PostgreSQL (por exemplo, `postgresql-42.7.8.jar`) e distribua-o usando o script auxiliar:
{% endhint %}

```bash
sudo cp ~/Downloads/'Database Drivers'/postgresql-*.jar /opt/pentaho/server/jdbc-distribution
cd /opt/pentaho/server/jdbc-distribution
sudo ./distribute-files.sh "$TOMCAT_HOME/lib"
```

2. Copie quaisquer drivers JDBC adicionais para a pasta de preparação e distribua.

```bash
sudo cp ~/Downloads/'Database Drivers'/* /opt/pentaho/software/db-drivers
cd /opt/pentaho/software/db-drivers
sudo cp mysql-connector-j-9.0.0.jar /opt/pentaho/server/jdbc-distribution
```

3. Distribua os drivers para o Tomcat.

```bash
cd /opt/pentaho/server/jdbc-distribution
sudo ./distribute-files.sh "$TOMCAT_HOME/lib"
```

4. Verifique se os JARs estão presentes na lib do Tomcat.

```bash
ls -1 "$TOMCAT_HOME/lib" | grep -Ei 'mysql|postgresql' || echo "Not found"
```

{% hint style="danger" %}
Você deve reiniciar o Servidor Pentaho (e as ferramentas cliente, se estiverem em execução) para carregar os novos drivers JDBC. Não é necessário reinicializar todo o sistema.
{% endhint %}
{% endtab %}

{% tab title="2. context.xml" %}
{% hint style="info" %}

#### **context.xml**

As informações de conexão de banco de dados para os recursos JNDI usados pelo Pentaho são armazenadas em `context.xml`.
{% endhint %}

1. Abra o arquivo e revise os recursos JNDI e as credenciais.

```bash
cd "$TOMCAT_HOME/webapps/pentaho/META-INF"
sudo nano -c context.xml
```

{% hint style="warning" %}
Em produção, verifique se nome de usuário, senha, classe do driver, host/IP e porta correspondem ao seu ambiente. Certifique-se de que os nomes JNDI estejam alinhados com as configurações do Quartz, Hibernate e Jackrabbit.
{% endhint %}
{% endtab %}
{% endtabs %}
{% endtab %}

{% tab title="4. Iniciar Servidor" %}
{% hint style="info" %}

#### **Iniciar o Servidor Pentaho**

Execute o servidor como o `pentaho` usuário para evitar problemas de permissão.
{% endhint %}

1. Inicie o servidor.

```bash
cd
cd "$PENTAHO_SERVER"
./start-pentaho.sh
```

2. Monitore o log do Tomcat (padrão robusto).

```bash
tail -f "$TOMCAT_HOME/logs/catalina."*.log
```

As mensagens esperadas incluem:

```
... Iniciando ProtocolHandler ["http-nio-8080"]
... Inicialização do servidor em [xxxxx] milissegundos
```

***

{% hint style="info" %}
**Pentaho User Console (PUC)**

O Pentaho User Console (PUC) é a interface web para criar e visualizar conteúdo.
{% endhint %}

{% embed url="<http://localhost:8080/pentaho>" %}
Link para o Servidor Pentaho
{% endembed %}

Credenciais padrão (altere imediatamente após o primeiro login):

```
Usuário: admin
Senha: password
```

<figure><img src="/files/7dc3716acbd3b88a7eac7255a7f8ae7191cee7e7" alt=""><figcaption><p>Pentaho User Console</p></figcaption></figure>

3. Você também tem a opção de mudar para a nova tela de login.

{% embed url="<http://localhost:8080/pentaho/content/login/web/index.html>" %}

<figure><img src="/files/2800eb1f54658ff66e3746a576a35a74c6743225" alt=""><figcaption><p>NOVO - Pentaho User Console</p></figcaption></figure>

{% hint style="info" %}
Se você já inseriu seus detalhes de licenciamento, então será redirecionado para a nova User Console.
{% endhint %}

***

{% hint style="success" %}
**Validações rápidas**
{% endhint %}

* Verifique se o HTTP está respondendo:

```bash
curl -I http://localhost:8080/pentaho/ | head -n 1
```

* Opcional (acesso remoto): abra o firewall e teste de uma máquina cliente (ajuste à sua política de rede):

```bash
sudo ufw allow 8080/tcp || true
```

***

<details>

<summary>Validar o Repositório após a primeira execução (clique para expandir)</summary>

```sql
-- Exemplo do Quartz
\c quartz
SELECT COUNT(*) FROM qrtz_scheduler_state;

-- Exemplo do Hibernate (espere muitas tabelas após a primeira inicialização)
\c hibuser
\dt
```

</details>

***

{% hint style="info" %}
**Systemd (opcional)**

Crie um serviço systemd para gerenciar o Pentaho na inicialização e em caso de falha.
{% endhint %}

1. Salve o arquivo de unidade como `/etc/systemd/system/pentaho-server.service`.

{% code title="/etc/systemd/system/pentaho-server.service" %}

```ini
[Unit]
Description=Servidor Pentaho
After=network-online.target
Wants=network-online.target

[Service]
Type=forking
User=pentaho
Group=pentaho
EnvironmentFile=-/etc/environment
# Fallback opcional se não estiver usando PENTAHO_JAVA_HOME em /etc/environment
# Environment="JAVA_HOME=/usr/lib/jvm/java-21-openjdk-amd64"
WorkingDirectory=/opt/pentaho/server/pentaho-server
ExecStart=/opt/pentaho/server/pentaho-server/start-pentaho.sh
ExecStop=/opt/pentaho/server/pentaho-server/stop-pentaho.sh
TimeoutSec=500
Restart=on-failure
RestartSec=5
SuccessExitStatus=5 6
LimitNOFILE=65535

[Install]
WantedBy=multi-user.target
```

{% endcode %}

2. Recarregue e inicie.

```bash
sudo systemctl daemon-reload
sudo systemctl start pentaho-server
sudo systemctl enable pentaho-server
```

Gerencie o serviço:

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

***

<details>

<summary>Solução de problemas (clique para expandir)</summary>

* HTTP 404 em `/pentaho` após a inicialização: confirme `"$TOMCAT_HOME/webapps/pentaho"` existe, verifique `catalina.*.log` para erros de implantação e verifique as permissões de arquivo em `$PENTAHO_SERVER`.
* Porta 8080 já em uso: altere a porta do Tomcat em `server.xml` ou pare o serviço em conflito.
* Driver JDBC não encontrado: verifique os JARs do driver (por exemplo, `postgresql-*.jar`, `mysql-*.jar`) existem em `"$TOMCAT_HOME/lib"`.
* A autenticação no PostgreSQL falha: prefira `scram-sha-256`; revise `pg_hba.conf`, reinicie o PostgreSQL e teste `psql -h 127.0.0.1` com o usuário de destino.
* Problemas de esquema do Jackrabbit: verifique novamente `repository.xml` as seções estão definidas para `postgresql`.
* Erros de ativação da licença: verifique os logs do Tomcat em `tomcat/logs/` para `licença`/`elm` mensagens.

</details>

***

{% endtab %}

{% tab title="5. Gerenciador de Licenças" %}
{% hint style="info" %}

#### **Gerenciador de Licenciamento**

O Pentaho Pro Suite 11.x usa um Gerenciador de Licenças (na nuvem ou local) para gerenciar direitos do PDI e BA e verificar plugins EE.
{% endhint %}

<figure><img src="/files/e39b40e7cfd9e6550b2c7756bf4432652402a1b0" alt=""><figcaption><p>Licenças</p></figcaption></figure>

{% tabs %}
{% tab title="Gerenciador de Licenças" %}
{% hint style="info" %}

#### **Licença de avaliação**

Uma licença de avaliação de 30 dias está incluída se você tiver baixado de: [Avaliação do Pentaho por 30 dias](https://pentaho.com/download/)

Se você tiver baixado os binários GA de: [Portal do Cliente Pentaho](https://support.pentaho.com/hc/en-us), então você precisará de um ID de ativação ou da sua URL de licenciamento.

Se você tiver instalado em um ambiente isolado da rede, precisará solicitar uma licença offline.
{% endhint %}

1. Abra Pentaho Server > Administração > Licenças para abrir a caixa de diálogo Adicionar licença.
2. Clique no sinal de +.

<figure><img src="/files/98e0ac8df3012ed97ccec8264581f5109793f24b" alt=""><figcaption><p>Adicionar licença</p></figcaption></figure>

5. Digite o código de ativação ou sua URL de licenciamento:

<figure><img src="/files/02e208fa4c9462356603e9f1d68bc1a25cd9365f" alt="Add License dialog"><figcaption><p>Gerenciador de Licenças</p></figcaption></figure>

{% hint style="warning" %}
**Licenças Enterprise**

Se estiver atualizando da versão 9.x ou anterior, instale a nova versão do produto antes de ativar as licenças. Não inicie o servidor antes de atualizar as licenças.
{% endhint %}
{% endtab %}

{% tab title="Definir caminho da licença no ENV" %}
{% hint style="info" %}
**Defina a variável de ambiente do caminho da licença**

Crie uma `PENTAHO_LICENSE_INFORMATION_PATH` variável de ambiente para que o Pentaho Server encontre seu arquivo de licença de forma consistente.
{% endhint %}

1. Certifique-se de que o diretório de destino exista e esteja protegido.

```bash
sudo -u pentaho mkdir -p /home/pentaho/.pentaho
sudo chown -R pentaho:pentaho /home/pentaho/.pentaho
chmod 700 /home/pentaho/.pentaho
```

2. Edite `/etc/environment` e adicione a linha abaixo (sem `export`).

```bash
sudo nano /etc/environment
```

Acrescente (ou atualize) o seguinte:

```
PENTAHO_LICENSE_INFORMATION_PATH=/home/pentaho/.pentaho/.elmLicInfo.plt
```

3. Saia/entre novamente ou recarregue o ambiente e verifique.

```bash
source /etc/environment
env | grep PENTAHO_LICENSE_INFORMATION_PATH
```

A `PENTAHO_LICENSE_INFORMATION_PATH` variável agora está definida.
{% endtab %}
{% endtabs %}
{% endtab %}
{% endtabs %}


---

# 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-pt-br/instalacao/archive-installation/install-pentaho-server.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.
