screwdriver-wrenchPréparer l'environnement

Tâches préalables au vol ..

circle-info

Préparer l'environnement

Préparez votre serveur Ubuntu pour une installation Archive du serveur Pentaho.

Ce processus va :

  • Créez une pentaho utilisateur d'installation (avec sudo)

  • Définir les chemins Pentaho - $PENTAHO_BASE

  • Installer Java 21 (OpenJDK)

  • Définir PENTAHO_JAVA_HOME

  • Installer PostgreSQL 17 (15 pris en charge pour Pentaho 11)

  • Créer l'utilisateur de la base de données du dépôt - pentaho pour la configuration

  • Installer pgAdmin 4 (bureau)

circle-exclamation
1

Prérequis

  1. Assurez-vous que unzip est installé.

unzip --version
  1. Définissez les variables de chemin Pentaho.

2

Créer un utilisateur d'installation Pentaho

triangle-exclamation
  1. Mettre à jour les paquets (exécuter une fois) :

sudo apt update -y && sudo apt upgrade -y
  1. Ajouter l'utilisateur et définir un mot de passe :

sudo adduser pentaho
  1. Accorder les privilèges sudo :

sudo usermod -aG sudo pentaho
  1. Valider l'accès :

su - pentaho
groups
sudo -v
3

Installer Java 21 (OpenJDK)

circle-info

Pentaho 11.x est certifié avec Java 21.

chevron-rightQuelle est la différence entre Oracle JDK et OpenJDK ?hashtag

Oracle JDK et OpenJDK sont tous deux des implémentations de la plateforme Java, mais ils présentent quelques différences importantes :

Licence et coût :

  • OpenJDK est entièrement gratuit et open source sous licence GPL. Vous pouvez l'utiliser à toutes fins sans restrictions.

  • Oracle JDK a changé son modèle de licence en 2019. Il est désormais gratuit pour le développement et l'utilisation personnelle, mais nécessite un abonnement payant pour une utilisation commerciale en production (Oracle Java SE Subscription).

Source et développement :

  • OpenJDK est l'implémentation de référence de Java et sert de base à la plupart des distributions JDK. Oracle contribue en fait de manière significative au développement d'OpenJDK.

  • Oracle JDK est construit à partir du code source d'OpenJDK mais inclut certains composants propriétaires supplémentaires et des fonctionnalités commerciales.

Performances et fonctionnalités :

  • Dans les versions modernes (Java 11+), les différences de performances sont négligeables. Oracle a reversé la plupart de ses améliorations de performances à OpenJDK.

  • Oracle JDK incluait historiquement des outils et fonctionnalités supplémentaires (comme Java Flight Recorder et Java Mission Control), mais beaucoup d'entre eux ont été open-sourcés et sont maintenant disponibles dans OpenJDK.

Support et mises à jour :

  • OpenJDK reçoit un support communautaire et des mises à jour pendant environ 6 mois par version (sauf pour les versions LTS maintenues par divers fournisseurs).

  • Oracle JDK offre un support à long terme (LTS) avec des abonnements commerciaux, fournissant des mises à jour et des correctifs de sécurité sur des périodes prolongées.

Autres distributions : De nombreux fournisseurs proposent leurs propres builds d'OpenJDK avec support à long terme, notamment Amazon Corretto, Azul Zulu, Eclipse Temurin (anciennement AdoptOpenJDK) et Red Hat OpenJDK.

Pour la plupart des développeurs et organisations, OpenJDK ou les distributions OpenJDK soutenues par des fournisseurs sont le choix par défaut sauf si vous avez spécifiquement besoin du support commercial d'Oracle.

  1. Installer Java 21 :

sudo apt install -y openjdk-21-jre-headless
  1. Vérifier Java :

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

Si plusieurs versions de Java sont installées, sélectionnez la version par défaut :

sudo update-alternatives --config java
4

Définir PENTAHO_JAVA_HOME

Définir PENTAHO_JAVA_HOME globalement afin que le serveur Pentaho utilise systématiquement Java 21.

  1. Éditez /etc/environment:

sudo nano /etc/environment
  1. Ajouter (ou mettre à jour) la ligne suivante :

# set PENTAHO_JAVA_HOME
PENTAHO_JAVA_HOME=/usr/lib/jvm/java-21-openjdk-amd64
Définir PENTAHO_JAVA_HOME
  1. Enregistrez et rechargez l'environnement (ou déconnectez/ reconnectez-vous) :

source /etc/environment
  1. Vérifier :

echo $PENTAHO_JAVA_HOME

circle-info

Alternative : définir pour un seul utilisateur uniquement dans ~/.bashrc.

  1. Modifier :

nano ~/.bashrc
  1. Ajouter et appliquer :

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

Installer PostgreSQL 17

circle-info

Le dépôt par défaut d'Ubuntu 24.04 fournit PostgreSQL 16 plus récent. Pour installer la 17, ajoutez le dépôt officiel PostgreSQL (PGDG).

Si une autre version de PostgreSQL est déjà présente, purgez-la d'abord pour éviter les conflits de port et de paquets (voir l'onglet optionnel « Nettoyer les installations précédentes »).

Prérequis Ubuntu 24.04 Privilèges root ou accès sudo utiliser sudo su pour passer en root au lieu de pentaho (utilisateur par défaut)

  1. Avant d'installer PostgreSQL, assurez-vous que votre système est à jour.

sudo apt update && sudo apt upgrade -y
  1. Installer les paquets prérequis.

sudo apt install -y wget ca-certificates
  1. Importer la clé GPG de PostgreSQL.

wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
  1. Ajouter le dépôt 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. Mettre à jour la liste des paquets.

sudo apt update
  1. Installer les paquets serveur et client PostgreSQL 17.

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

Ce qui est installé :

  • postgresql-17: Serveur de base de données principal

  • postgresql-contrib-17: Utilitaires et extensions supplémentaires

  1. Vérifier le service et la version :

sudo systemctl status postgresql --no-pager
psql --version
PostgreSQL 17.7
  1. Nettoyage optionnel :

circle-info

Validation :

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

Créer l'utilisateur de base de données - pentaho

circle-info

Lors de l'installation, PostgreSQL crée un superutilisateur local postgres. Définissez son mot de passe et (facultativement) créez un pentaho rôle.

triangle-exclamation
  1. Basculer vers l'utilisateur système postgres.

sudo -i -u postgres
  1. Entrez dans le terminal interactif PostgreSQL.

psql
  1. Vous devriez voir l'invite PostgreSQL :

postgres=#
  1. Afficher les bases de données actuelles.

\l
circle-info

Cela répertorie toutes les bases de données. Vous devriez voir trois bases par défaut : postgres, template0 et template1.

  1. Quitter.

q
  1. Vérifier la version de PostgreSQL depuis SQL.

SELECT version();
  1. Quitter l'invite PostgreSQL.

\q
  1. Et quitter psql.

exit

Créer l'utilisateur pentaho

  1. Définir postgres mot de passe :

sudo -u postgres psql -c "ALTER USER postgres WITH PASSWORD 'SecurePassword123';"
  1. Créez une pentaho utilisateur et accorder SUPERUSER privilèges :

sudo -u postgres psql -c "CREATE USER pentaho WITH PASSWORD 'SecurePassword123';"
sudo -u postgres psql -c "ALTER USER pentaho WITH SUPERUSER;" # Démo uniquement
circle-info
  • sudo -u postgres - Exécuter la commande en tant qu'utilisateur système Linux postgres (qui a un accès local à PostgreSQL sans mot de passe)

  • psql -c - Exécute une commande SQL unique et quitte

  • CREATE USER pentaho - Crée un nouveau rôle/utilisateur PostgreSQL nommé pentaho

  • WITH PASSWORD 'SecurePassword123' - Définit le mot de passe pour cet utilisateur


  • ALTER USER pentaho - Modifie l' pentaho utilisateur

  • WITH SUPERUSER - Accorde les privilèges complets de superutilisateur (peut tout faire : créer des bases, créer des utilisateurs, contourner toutes les permissions, etc.)

  • # Démo uniquement - Commentaire d'avertissement indiquant que ceci est dangereux pour la production

  1. Tester la connexion en tant que pentaho:

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

Optionnel : Autoriser les connexions distantes

circle-info

Pour référence uniquement car la connexion à Postgresql via localhost

Par défaut, PostgreSQL n'accepte que les connexions locales. Pour les configurations localhost, vous n'avez pas besoin de cette étape.

  1. Sauvegardez les configs et éditez postgresql.conf (PostgreSQL 17) :

sudo cp /etc/postgresql/17/main/postgresql.conf{,.bak}
sudo nano /etc/postgresql/17/main/postgresql.conf
  1. Définir : listen_addresses = '*' (une interface/IP spécifique en production)

Définir le listener
  1. Enregistrer :

Ctrl + o
Entrée
Ctrl + x
8

Configurer pg_hba.conf

circle-info

La pg_hba.conf le fichier (configuration d'authentification basée sur l'hôte PostgreSQL) contrôle qui peut se connecter à votre base de données PostgreSQL et comment ils s'authentifient. Vous le configurez lors de l'installation pour définir des règles de sécurité pour l'accès à la base de données.

En production, vous modifierez les paramètres pour n'autoriser l'accès aux bases de données que pour les utilisateurs requis sur les IP des serveurs.

  1. Configurer PostgreSQL pour utiliser l'authentification par mot de passe md5 pg_hba.conf .

sudo cp /etc/postgresql/17/main/pg_hba.conf{,.bak}
sudo nano /etc/postgresql/17/main/pg_hba.conf
  1. Modifier manuellement le fichier :

Ou

  1. Exécutez le script suivant.

# Utilisez le chemin exact
PG_HBA_PATH=/etc/postgresql/17/main/pg_hba.conf

# Vérifier que le fichier existe
ls -la "$PG_HBA_PATH"

# Si cela fonctionne, alors exécutez :
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"

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

Préférer scram-sha-256 plutôt que md5 dans pg_hba.conf pour un hachage de mot de passe plus fort sur les versions modernes de PostgreSQL.

Assurez-vous que votre pilote JDBC prend en charge SCRAM (par ex., les pilotes PostgreSQL récents). Si des problèmes de compatibilité surviennent, utilisez md5 comme solution de repli.

  1. Redémarrer le service PostgreSQL.

cd
systemctl restart postgresql
# Mot de passe : password
  1. Autoriser le pare-feu (si activé) et redémarrer :

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

Installer pgAdmin 4 (bureau)

Installez le client de bureau pgAdmin 4 en utilisant le dépôt officiel.

  1. Ajouter le dépôt et la clé :

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. Installer pgAdmin 4 (bureau) :

sudo apt update -y && sudo apt upgrade -y
sudo apt install -y pgadmin4-desktop
  1. Optionnel : vérifier l'entrée du dépôt

cat /etc/apt/sources.list.d/pgadmin4.list
  1. Ajouter une connexion de serveur dans pgAdmin :

  • Clic droit Serveurs → Enregistrer → Serveur

  • Nom : Pentaho

  • Connexion : hôte, port 5432, utilisateur pentaho, mot de passe SecurePassword123 (ne pas enregistrer en production)

Create server group dialog in pgAdmin
Créer un groupe de serveurs
pgAdmin server group list
Groupe de serveurs
pgAdmin new server connection dialog
Détails de connexion
triangle-exclamation
pgAdmin 4 main UI window
Interface pgAdmin 4
10

Valider l'environnement

  1. Vérifications rapides pour confirmer que tout est prêt pour l'étape suivante.

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

# PostgreSQL
sudo -u postgres psql -c "SELECT version();"
sudo systemctl status postgresql --no-pager | sed -n '1,5p'
Valider le service PostgreSQL 17 ..

Mis à jour

Ce contenu vous a-t-il été utile ?