Prepare Environment
Preflight tasks ..
1
unzip --versioncd
cd /etc/
sudo nano environment# Pentaho paths
PENTAHO_BASE=/opt/pentaho
PENTAHO_SERVER=/opt/pentaho/server/pentaho-server
TOMCAT_HOME=/opt/pentaho/server/pentaho-server/tomcat
2
sudo apt update -y && sudo apt upgrade -ysudo adduser pentahosudo usermod -aG sudo pentahosu - pentaho
groups
sudo -v3
sudo apt install -y openjdk-21-jre-headlessjava -version
which java
readlink -f $(which java)

4
sudo nano /etc/environment# set PENTAHO_JAVA_HOME
PENTAHO_JAVA_HOME=/usr/lib/jvm/java-21-openjdk-amd64
source /etc/environmentecho $PENTAHO_JAVA_HOMEnano ~/.bashrcexport PENTAHO_JAVA_HOME=/usr/lib/jvm/java-21-openjdk-amd64
. ~/.bashrc5
sudo apt update && sudo apt upgrade -ysudo apt install -y wget ca-certificateswget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'sudo apt updatesudo apt update -y && sudo apt upgrade -y
sudo apt install -y postgresql-17 postgresql-contrib-17sudo systemctl status postgresql --no-pager
psql --version
6
sudo -i -u postgrespsqlpostgres=#\lqSELECT version();\qexit
sudo -u postgres psql -c "ALTER USER postgres WITH PASSWORD 'SecurePassword123';"sudo -u postgres psql -c "CREATE USER pentaho WITH PASSWORD 'SecurePassword123';"
sudo -u postgres psql -c "ALTER USER pentaho WITH SUPERUSER;" # Demo onlysudo -u pentaho psql -d postgres -c "\conninfo"7
sudo cp /etc/postgresql/17/main/postgresql.conf{,.bak}
sudo nano /etc/postgresql/17/main/postgresql.conf
Ctrl + o
Enter
Ctrl + x8
sudo cp /etc/postgresql/17/main/pg_hba.conf{,.bak}
sudo nano /etc/postgresql/17/main/pg_hba.conf
# Use the exact path
PG_HBA_PATH=/etc/postgresql/17/main/pg_hba.conf
# Verify the file exists
ls -la "$PG_HBA_PATH"
# If that works, then run:
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"
# Verify
sudo cat "$PG_HBA_PATH" | grep -E "^(local|host)[[:space:]]+(all|replication)"
cd
systemctl restart postgresql
# Password: passwordsudo ufw allow 5432/tcp || true
sudo systemctl restart postgresql
sudo ss -ltnp | grep 54329
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.listsudo apt update -y && sudo apt upgrade -y
sudo apt install -y pgadmin4-desktopcat /etc/apt/sources.list.d/pgadmin4.list



10
# Java
java -version
[ "$PENTAHO_JAVA_HOME" = "/usr/lib/jvm/java-21-openjdk-amd64" ] && echo OK || echo "Check PENTAHO_JAVA_HOME"
# PostgreSQL
sudo -u postgres psql -c "SELECT version();"
sudo systemctl status postgresql --no-pager | sed -n '1,5p'

Last updated
Was this helpful?
