screwdriver-wrenchPreparar o Ambiente

Tarefas de pré-verificação ..

circle-info

Preparar Ambiente

Prepare seu servidor Ubuntu para uma instalação por Arquivo do Pentaho Server.

Este processo irá:

  • Crie um pentaho usuário de instalação (com sudo)

  • Definir caminhos do Pentaho - $PENTAHO_BASE

  • Instalar Java 21 (OpenJDK)

  • Definir PENTAHO_JAVA_HOME

  • Instalar PostgreSQL 17 (15 suportado para Pentaho 11)

  • Criar usuário de banco de dados do repositório - pentaho para configuração

  • Instalar pgAdmin 4 (desktop)

circle-exclamation
1

Pré-requisitos

  1. Certifique-se de que unzip está instalado.

unzip --version
  1. Defina as variáveis de caminho do Pentaho.

2

Crie um usuário de instalação do Pentaho

triangle-exclamation
  1. Atualize os pacotes (execute uma vez):

sudo apt update -y && sudo apt upgrade -y
  1. Adicione o usuário e defina uma senha:

sudo adduser pentaho
  1. Conceda privilégios sudo:

sudo usermod -aG sudo pentaho
  1. Valide o acesso:

su - pentaho
groups
sudo -v
3

Instalar Java 21 (OpenJDK)

circle-info

Pentaho 11.x é certificado com Java 21.

chevron-rightQual é a diferença entre Oracle JDK e OpenJDK?hashtag

Oracle JDK e OpenJDK são ambas implementações da Plataforma Java, mas têm algumas diferenças importantes:

Licenciamento e Custo:

  • OpenJDK é completamente livre e de código aberto sob a licença GPL. Você pode usá-lo para qualquer propósito sem restrições.

  • Oracle JDK mudou seu modelo de licenciamento em 2019. Agora é gratuito para desenvolvimento e uso pessoal, mas requer uma assinatura paga para uso comercial em produção (Oracle Java SE Subscription).

Fonte e Desenvolvimento:

  • OpenJDK é a implementação de referência do Java e serve de base para a maioria das distribuições JDK. A Oracle contribui de forma significativa para o desenvolvimento do OpenJDK.

  • Oracle JDK é construído a partir do código-fonte do OpenJDK, mas inclui alguns componentes proprietários adicionais e recursos comerciais.

Desempenho e Recursos:

  • Em versões modernas (Java 11+), as diferenças de desempenho são insignificantes. A Oracle retornou a maior parte de suas melhorias de desempenho para o OpenJDK.

  • Historicamente, o Oracle JDK incluía algumas ferramentas e recursos adicionais (como Java Flight Recorder e Java Mission Control), mas muitos desses foram liberados como código aberto e agora estão disponíveis no OpenJDK.

Suporte e Atualizações:

  • OpenJDK recebe suporte e atualizações da comunidade por cerca de 6 meses por lançamento (exceto versões LTS mantidas por vários fornecedores).

  • Oracle JDK oferece Suporte de Longo Prazo (LTS) com assinaturas comerciais, fornecendo atualizações e patches de segurança por períodos estendidos.

Outras Distribuições: Muitos fornecedores oferecem suas próprias builds do OpenJDK com suporte de longo prazo, incluindo Amazon Corretto, Azul Zulu, Eclipse Temurin (antigo AdoptOpenJDK) e Red Hat OpenJDK.

Para a maioria dos desenvolvedores e organizações, o OpenJDK ou distribuições OpenJDK com suporte de fornecedores são a escolha recomendada, a menos que você precise especificamente do suporte comercial da Oracle.

  1. Instalar Java 21:

sudo apt install -y openjdk-21-jre-headless
  1. Verificar Java:

java -version
which java
readlink -f $(which java)
Ubuntu apt installed OpenJDK versions list
Versões do OpenJDK
java -version output showing Java 21
Java 21
circle-info

Se várias versões do Java estiverem instaladas, selecione a padrão:

sudo update-alternatives --config java
4

Definir PENTAHO_JAVA_HOME

Definir PENTAHO_JAVA_HOME globalmente para que o Pentaho Server use consistentemente o Java 21.

  1. Edite /etc/environment:

sudo nano /etc/environment
  1. Adicione (ou atualize) a seguinte linha:

# set PENTAHO_JAVA_HOME
PENTAHO_JAVA_HOME=/usr/lib/jvm/java-21-openjdk-amd64
Definir PENTAHO_JAVA_HOME
  1. Salve e recarregue o ambiente (ou saia e entre novamente):

source /etc/environment
  1. Verificar:

echo $PENTAHO_JAVA_HOME

circle-info

Alternativa: definir apenas para um único usuário em ~/.bashrc.

  1. Editar:

nano ~/.bashrc
  1. Anexar e aplicar:

export PENTAHO_JAVA_HOME=/usr/lib/jvm/java-21-openjdk-amd64
. ~/.bashrc
5

Instalar PostgreSQL 17

circle-info

O repositório padrão do Ubuntu 24.04 fornece um PostgreSQL 16 mais novo. Para instalar o 17, adicione o repositório oficial do PostgreSQL (PGDG).

Se um PostgreSQL diferente já estiver presente, remova-o primeiro para evitar conflitos de porta e pacote (veja a guia opcional "Limpar instalações anteriores").

Pré-requisitos Ubuntu 24.04 Privilégios de root ou acesso sudo use sudo su para entrar como root em vez de pentaho (usuário padrão)

  1. Antes de instalar o PostgreSQL, certifique-se de que seu sistema está atualizado.

sudo apt update && sudo apt upgrade -y
  1. Instale pacotes pré-requisito.

sudo apt install -y wget ca-certificates
  1. Importar chave GPG do PostgreSQL.

wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
  1. Adicionar Repositório do PostgreSQL

sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
  1. Atualizar Lista de Pacotes.

sudo apt update
  1. Instalar pacotes do servidor e cliente PostgreSQL 17.

sudo apt update -y && sudo apt upgrade -y
sudo apt install -y postgresql-17 postgresql-contrib-17
circle-info

O que é instalado:

  • postgresql-17: Servidor principal de banco de dados

  • postgresql-contrib-17: Utilitários e extensões adicionais

  1. Verificar serviço e versão:

sudo systemctl status postgresql --no-pager
psql --version
PostgreSQL 17.7
  1. Limpeza opcional:

circle-info

Validação:

sudo systemctl is-enabled postgresql
sudo ss -ltnp | grep 5432 || true
sudo -u postgres psql -c "SELECT version();"
6

Criar usuário de banco de dados - pentaho

circle-info

Durante a instalação, o PostgreSQL cria um superusuário local postgres. Defina sua senha e (opcionalmente) crie um pentaho papel.

triangle-exclamation
  1. Mude para o usuário do sistema postgres.

sudo -i -u postgres
  1. Entre no terminal interativo do PostgreSQL.

psql
  1. Você deverá ver o prompt do PostgreSQL:

postgres=#
  1. Visualizar bancos de dados atuais.

\l
circle-info

Isso lista todos os bancos de dados. Você deverá ver três bancos padrão: postgres, template0 e template1.

  1. Sair.

q
  1. Verificar versão do PostgreSQL via SQL.

SELECT version();
  1. Sair do Prompt do PostgreSQL.

\q
  1. E sair do psql.

exit

Criar usuário pentaho

  1. Definir postgres senha:

sudo -u postgres psql -c "ALTER USER postgres WITH PASSWORD 'SecurePassword123';"
  1. Crie um pentaho usuário e conceder SUPERUSER privilégios:

sudo -u postgres psql -c "CREATE USER pentaho WITH PASSWORD 'SecurePassword123';"
sudo -u postgres psql -c "ALTER USER pentaho WITH SUPERUSER;" # Apenas demonstração
circle-info
  • sudo -u postgres - Execute o comando como o usuário do sistema Linux postgres (que tem acesso local ao PostgreSQL sem senha)

  • psql -c - Executa um único comando SQL e sai

  • CREATE USER pentaho - Cria um novo papel/usuário do PostgreSQL chamado pentaho

  • WITH PASSWORD 'SecurePassword123' - Define a senha para este usuário


  • ALTER USER pentaho - Modifica o pentaho usuário existente

  • WITH SUPERUSER - Concede privilégios completos de superusuário (pode fazer qualquer coisa: criar bancos de dados, criar usuários, contornar todas as permissões, etc.)

  • # Apenas demonstração - Comentário de aviso indicando que isto é perigoso para produção

  1. Testar conexão como pentaho:

sudo -u pentaho psql -d postgres -c "\conninfo"
7

Opcional: Permitir conexões remotas

circle-info

Apenas para referência, pois conectar ao Postgresql via localhost

Por padrão, o PostgreSQL aceita apenas conexões locais. Para configurações em localhost, você não precisa deste passo.

  1. Faça backup das configs e edite postgresql.conf (PostgreSQL 17):

sudo cp /etc/postgresql/17/main/postgresql.conf{,.bak}
sudo nano /etc/postgresql/17/main/postgresql.conf
  1. Defina: listen_addresses = '*' (uma interface/IP específico em produção)

Definir listener
  1. Salvar:

Ctrl + o
Enter
Ctrl + x
8

Configurar pg_hba.conf

circle-info

A pg_hba.conf arquivo (configuração de Autenticação baseada em host do PostgreSQL) controla quem pode conectar ao seu banco de dados PostgreSQL e como eles se autenticam. Você o configura durante a instalação para definir regras de segurança para o acesso ao banco de dados.

Em produção, você modificaria as configurações para permitir apenas que os usuários necessários acessem os bancos de dados nos IPs dos servidores.

  1. Configure o PostgreSQL para usar autenticação de senha md5 pg_hba.conf .

sudo cp /etc/postgresql/17/main/pg_hba.conf{,.bak}
sudo nano /etc/postgresql/17/main/pg_hba.conf
  1. Edite o arquivo manualmente:

Ou

  1. Execute o script a seguir.

# Use o caminho exato
PG_HBA_PATH=/etc/postgresql/17/main/pg_hba.conf

# Verifique se o arquivo existe
ls -la "$PG_HBA_PATH"

# Se isso funcionar, então execute:
sudo cp "$PG_HBA_PATH" "${PG_HBA_PATH}.backup"
sudo sed -i 's/^local[[:space:]]\+all[[:space:]]\+postgres[[:space:]]\+peer$/local   all             postgres                                scram-sha-256/' "$PG_HBA_PATH"
sudo sed -i 's/^local[[:space:]]\+all[[:space:]]\+all[[:space:]]\+peer$/local   all             all                                     scram-sha-256/' "$PG_HBA_PATH"
sudo sed -i '0,/^host[[:space:]]\+all[[:space:]]\+all[[:space:]]\+127\.0\.0\.1\/32[[:space:]]\+scram-sha-256$/s//host    all             all             0.0.0.0\/0               md5/' "$PG_HBA_PATH"

# Verificar
sudo cat "$PG_HBA_PATH" | grep -E "^(local|host)[[:space:]]+(all|replication)"
SED: pg_hba.conf
circle-info

Preferir scram-sha-256 em vez de md5 em pg_hba.conf para hashing de senha mais forte em versões modernas do PostgreSQL.

Certifique-se de que seu driver JDBC suporta SCRAM (por exemplo, drivers PostgreSQL recentes). Se surgirem problemas de compatibilidade, use md5 como alternativa.

  1. Reinicie o serviço PostgreSQL.

cd
systemctl restart postgresql
# Senha: password
  1. Permitir firewall (se habilitado) e reiniciar:

sudo ufw allow 5432/tcp || true
sudo systemctl restart postgresql
sudo ss -ltnp | grep 5432
9

Instalar pgAdmin 4 (desktop)

Instale o cliente desktop pgAdmin 4 usando o repositório oficial.

  1. Adicionar repo e chave:

sudo install -d -m 0755 /etc/apt/keyrings
curl -fsS https://www.pgadmin.org/static/packages_pgadmin_org.pub | gpg --dearmor | sudo tee /etc/apt/keyrings/packages-pgadmin-org.gpg > /dev/null
source /etc/os-release
echo "deb [signed-by=/etc/apt/keyrings/packages-pgadmin-org.gpg] https://ftp.postgresql.org/pub/pgadmin/pgadmin4/apt/${UBUNTU_CODENAME} pgadmin4 main" | sudo tee /etc/apt/sources.list.d/pgadmin4.list
  1. Instalar pgAdmin 4 (desktop):

sudo apt update -y && sudo apt upgrade -y
sudo apt install -y pgadmin4-desktop
  1. Opcional: verificar entrada do repositório

cat /etc/apt/sources.list.d/pgadmin4.list
  1. Adicione uma conexão de servidor no pgAdmin:

  • Clique com o botão direito em Servers → Register → Server

  • Nome: Pentaho

  • Conexão: host, porta 5432, usuário pentaho, senha SecurePassword123 (não salve em produção)

Create server group dialog in pgAdmin
Criar grupo de servidores
pgAdmin server group list
Grupo de servidores
pgAdmin new server connection dialog
Detalhes de conexão
triangle-exclamation
pgAdmin 4 main UI window
Interface do pgAdmin 4
10

Validar o ambiente

  1. Verificações rápidas para confirmar que tudo está pronto para o próximo passo.

# Java
java -version
[ "$PENTAHO_JAVA_HOME" = "/usr/lib/jvm/java-21-openjdk-amd64" ] && echo OK || echo "Verifique PENTAHO_JAVA_HOME"

# PostgreSQL
sudo -u postgres psql -c "SELECT version();"
sudo systemctl status postgresql --no-pager | sed -n '1,5p'
Validar serviço do PostgreSQL 17 ..

Atualizado

Isto foi útil?