screwdriver-wrenchPreparar el entorno

Tareas previas ..

circle-info

Preparar el entorno

Prepare su servidor Ubuntu para una instalación desde archivo del servidor Pentaho.

Este proceso hará:

  • Crear un pentaho usuario de instalación (con sudo)

  • Establecer rutas de Pentaho - $PENTAHO_BASE

  • Instalar Java 21 (OpenJDK)

  • Establecer PENTAHO_JAVA_HOME

  • Instalar PostgreSQL (se recomienda 17 para Pentaho 11)

  • Crear usuario de base de datos del repositorio - pentaho para la configuración

  • Instalar pgAdmin 4 (escritorio)

circle-exclamation
1

Prerequisitos

  1. Asegúrese de que unzip esté instalado.

unzip --version
  1. Establecer las variables de ruta de Pentaho.

circle-info

Utilice estas variables para simplificar comandos y evitar errores de ruta. Considere agregarlas a su perfil de shell para mayor conveniencia.

  • Edite el archivo /etc/environment.

  • Agregue las siguientes rutas.

circle-exclamation
Rutas de Pentaho
2

Crear un usuario de instalación de Pentaho

triangle-exclamation
  1. Actualizar paquetes (ejecutar una vez):

sudo apt update -y && sudo apt upgrade -y
  1. Agregar el usuario y establecer una contraseña:

sudo adduser pentaho
  1. Conceder privilegios sudo:

sudo usermod -aG sudo pentaho
  1. Validar acceso:

su - pentaho
groups
sudo -v
3

Instalar Java 21 (OpenJDK)

circle-info

Pentaho 11.x está certificado con Java 21.

chevron-right¿Cuál es la diferencia entre Oracle JDK y OpenJDK?hashtag

Oracle JDK y OpenJDK son ambas implementaciones de la Plataforma Java, pero tienen algunas diferencias importantes:

Licencias y costo:

  • OpenJDK es completamente libre y de código abierto bajo la licencia GPL. Puede usarlo para cualquier propósito sin restricciones.

  • Oracle JDK cambió su modelo de licencias en 2019. Ahora es gratuito para desarrollo y uso personal, pero requiere una suscripción de pago para uso comercial en producción (Oracle Java SE Subscription).

Código fuente y desarrollo:

  • OpenJDK es la implementación de referencia de Java y sirve como base para la mayoría de las distribuciones JDK. Oracle contribuye significativamente al desarrollo de OpenJDK.

  • Oracle JDK se construye a partir del código fuente de OpenJDK pero incluye algunos componentes propietarios adicionales y características comerciales.

Rendimiento y características:

  • En versiones modernas (Java 11+), las diferencias de rendimiento son insignificantes. Oracle ha devuelto la mayoría de sus mejoras de rendimiento a OpenJDK.

  • Históricamente, Oracle JDK incluía algunas herramientas y características adicionales (como Java Flight Recorder y Java Mission Control), pero muchas de ellas se han abierto y ahora están disponibles en OpenJDK.

Soporte y actualizaciones:

  • OpenJDK recibe soporte y actualizaciones de la comunidad durante aproximadamente 6 meses por versión (excepto las versiones LTS mantenidas por varios proveedores).

  • Oracle JDK ofrece Soporte a Largo Plazo (LTS) con suscripciones comerciales, proporcionando actualizaciones y parches de seguridad por períodos extendidos.

Otras distribuciones: Muchos proveedores ofrecen sus propias compilaciones de OpenJDK con soporte a largo plazo, incluyendo Amazon Corretto, Azul Zulu, Eclipse Temurin (anteriormente AdoptOpenJDK) y Red Hat OpenJDK.

Para la mayoría de desarrolladores y organizaciones, OpenJDK o distribuciones de OpenJDK con soporte de proveedores son la elección recomendada a menos que necesite específicamente el soporte comercial de 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
Versiones de OpenJDK
java -version output showing Java 21
Java 21
circle-info

Si hay varias versiones de Java instaladas, seleccione la predeterminada:

sudo update-alternatives --config java
4

Establecer PENTAHO_JAVA_HOME

Establecer PENTAHO_JAVA_HOME globalmente para que el servidor Pentaho use consistentemente Java 21.

  1. Editar /etc/environment:

sudo nano /etc/environment
  1. Agregar (o actualizar) la siguiente línea:

# establecer PENTAHO_JAVA_HOME
PENTAHO_JAVA_HOME=/usr/lib/jvm/java-21-openjdk-amd64
Establecer PENTAHO_JAVA_HOME
  1. Guarde y recargue el entorno (o cierre sesión y vuelva a entrar):

source /etc/environment
  1. Verificar:

echo $PENTAHO_JAVA_HOME

circle-info

Alternativa: establecer solo para un usuario en ~/.bashrc.

  1. Editar:

nano ~/.bashrc
  1. Agregar al final y aplicar:

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

Instalar PostgreSQL 17 (recomendado)

circle-info

El repositorio predeterminado de Ubuntu 24.04 proporciona PostgreSQL 16 más reciente. Para instalar la 17, agregue el repositorio oficial de PostgreSQL (PGDG).

Si ya existe una versión diferente de PostgreSQL, elimínela primero para evitar conflictos de puertos y paquetes (vea la pestaña opcional "Limpiar instalaciones previas").

Prerequisitos Ubuntu 24.04 Privilegios de root o acceso sudo use sudo su para entrar como root en lugar de pentaho (usuario predeterminado)

  1. Antes de instalar PostgreSQL, asegúrese de que su sistema esté actualizado.

sudo apt update && sudo apt upgrade -y
  1. Instalar paquetes prerequisito.

sudo apt install -y wget ca-certificates
  1. Importar la clave GPG de PostgreSQL.

wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
  1. Agregar el repositorio de 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. Actualizar la lista de paquetes.

sudo apt update
  1. Instalar los paquetes del servidor y cliente de PostgreSQL 17.

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

Qué se instala:

  • postgresql-17: Servidor de base de datos principal

  • postgresql-contrib-17: Utilidades y extensiones adicionales

  1. Comprobar servicio y versión:

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

circle-info

Validación:

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

Crear usuario de base de datos - pentaho

circle-info

Durante la instalación, PostgreSQL crea un superusuario local postgres. Establezca su contraseña y (opcionalmente) cree un pentaho rol.

triangle-exclamation
  1. Cambiar al usuario del sistema postgres.

sudo -i -u postgres
  1. Entrar en el terminal interactivo de PostgreSQL.

psql
  1. Debería ver el prompt de PostgreSQL:

postgres=#
  1. Ver bases de datos actuales.

\l
circle-info

Esto lista todas las bases de datos. Debería ver tres bases de datos por defecto: postgres, template0 y template1.

  1. Salir.

q
  1. Comprobar versión de PostgreSQL desde SQL.

SELECT version();
  1. Salir del prompt de PostgreSQL.

\q
  1. Y salir de psql.

exit

Crear usuario pentaho

  1. Establecer postgres contraseña:

sudo -u postgres psql -c "ALTER USER postgres WITH PASSWORD 'SecurePassword123';"
  1. Crear un pentaho usuario y otorgar SUPERUSER privilegios:

sudo -u postgres psql -c "CREATE USER pentaho WITH PASSWORD 'SecurePassword123';"
sudo -u postgres psql -c "ALTER USER pentaho WITH SUPERUSER;" # Solo demostración
circle-info
  • sudo -u postgres - Ejecutar el comando como el usuario del sistema Linux postgres (que tiene acceso local a PostgreSQL sin contraseña)

  • psql -c - Ejecutar un solo comando SQL y salir

  • CREATE USER pentaho - Crea un nuevo rol/usuario de PostgreSQL llamado pentaho

  • WITH PASSWORD 'SecurePassword123' - Establece la contraseña para este usuario


  • ALTER USER pentaho - Modifica el pentaho usuario

  • WITH SUPERUSER - Otorga privilegios completos de superusuario (puede hacer cualquier cosa: crear bases de datos, crear usuarios, eludir todos los permisos, etc.)

  • # Solo demostración - Comentario de advertencia indicando que esto es peligroso para producción

  1. Probar conexión como pentaho:

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

Opcional: Permitir conexiones remotas

circle-info

Solo como referencia ya que conectarse a Postgresql vía localhost

Por defecto, PostgreSQL acepta solo conexiones locales. Para configuraciones en localhost, no necesita este paso.

  1. Hacer copia de seguridad de las configuraciones y editar postgresql.conf (PostgreSQL 17):

sudo cp /etc/postgresql/17/main/postgresql.conf{,.bak}
sudo nano /etc/postgresql/17/main/postgresql.conf
  1. Establecer: listen_addresses = '*' (una interfaz/IP específica en producción)

Establecer el escuchador
  1. Guardar:

Ctrl + o
Enter
Ctrl + x
8

Configurar pg_hba.conf

circle-info

El pg_hba.conf archivo (configuración de autenticación basada en host de PostgreSQL) controla quién puede conectarse a su base de datos PostgreSQL y cómo se autentican. Se configura durante la instalación para definir reglas de seguridad para el acceso a la base de datos.

En producción modificaría los ajustes para permitir solo a los usuarios requeridos el acceso a las bases de datos desde las IPs del servidor.

  1. Configurar PostgreSQL para usar autenticación de contraseñas md5 pg_hba.conf .

sudo cp /etc/postgresql/17/main/pg_hba.conf{,.bak}
sudo nano /etc/postgresql/17/main/pg_hba.conf
  1. Editar manualmente el archivo:

O

  1. Ejecute el siguiente script.

# Use la ruta exacta
PG_HBA_PATH=/etc/postgresql/17/main/pg_hba.conf

# Verificar que el archivo exista
ls -la "$PG_HBA_PATH"

# Si eso funciona, entonces ejecute:
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 sobre md5 en pg_hba.conf para un hashing de contraseñas más fuerte en versiones modernas de PostgreSQL.

Asegúrese de que su controlador JDBC soporte SCRAM (por ejemplo, controladores recientes de PostgreSQL). Si surgen problemas de compatibilidad, use md5 como alternativa.

  1. Reiniciar el servicio de PostgreSQL.

cd
systemctl restart postgresql
# Contraseña: password
  1. Permitir en el firewall (si está habilitado) y reiniciar:

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

Instalar pgAdmin 4 (escritorio)

Instale el cliente de escritorio pgAdmin 4 usando el repositorio oficial.

  1. Agregar repositorio y clave:

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 (escritorio):

sudo apt update -y && sudo apt upgrade -y
sudo apt install -y pgadmin4-desktop
  1. Opcional: verificar entrada del repositorio

cat /etc/apt/sources.list.d/pgadmin4.list
  1. Agregar una conexión de servidor en pgAdmin:

  • Clic derecho en Servers → Register → Server

  • Nombre: Pentaho

  • Conexión: host, puerto 5432, usuario pentaho, contraseña SecurePassword123 (no guardar en producción)

Create server group dialog in pgAdmin
Crear grupo de servidores
pgAdmin server group list
Grupo de servidores
pgAdmin new server connection dialog
Detalles de conexión
triangle-exclamation
pgAdmin 4 main UI window
Interfaz de pgAdmin 4
10

Validar el entorno

  1. Comprobaciones rápidas para confirmar que todo está listo para el siguiente paso.

# 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 el servicio PostgreSQL 17 ..

Última actualización

¿Te fue útil?