Install Pentaho Server
Installation of Pentaho Server components ..
Pentaho Server
This section guides you through installing and starting the Pentaho Server on Ubuntu.
You will:
Create installation directories
Prepare the Pentaho Repository databases
Configure JDBC/JNDI connections
Start the Pentaho Server (and optionally set up systemd)
Configure the License Manager
Tested baseline: Ubuntu 24.04 LTS with Java 21 (OpenJDK) and PostgreSQL 17.
Make sure you have completed Prepare Environment first.
For compatibility details, see Components Reference.
Prerequisites
Ubuntu 24.04 LTS server
Java 21 installed and
PENTAHO_JAVA_HOMEsetPostgreSQL 17 installed and running
A non‑root
pentahouser with sudounzippackage installedArchive ZIPs and JDBC drivers downloaded

Pentaho Server Directories
The Pentaho Server is a web application running in a Apache Tomcat servlet container.
Create base directories under
/opt/pentaho.
Create sub-directories in
/opt/pentaho/software.
Unpack Pentaho Server Package (ZIP)
Use unzip to extract the server ZIP into the runtime directory. This avoids requiring the full JDK (the JRE does not include the jar tool).
pentaho-server-ee-11.0.0.0-2xx.zip- Pentaho Server (Archive - incl Tomcat 10)
Ensure
unzipis available and copy the server ZIPs into staging.
Extract the Pentaho Server ZIP into
$PENTAHO_BASE/server.

Make all
.shfiles executable.
Set ownership and sensible permissions to run 'pentaho' as a non-root user.
755 means you can do anything with the file or directory, and other users can read and execute it but not alter it. Suitable for programs and directories you want to make publicly available.
644 means you can read and write the file or directory and other users can only read it.
Verify the server directory structure.
/opt/pentaho/
Server plugins are installed into the pentaho-solutions/system folder.
Pentaho Repository components
The Pentaho Repository (on PostgreSQL by default) consists of:
Jackrabbit: solution repository, security and content metadata
Quartz: scheduler data
Hibernate: audit logging
Pentaho Operations Mart: usage and performance reporting
Review default passwords in SQL scripts
Inspect the PostgreSQL scripts shipped with the server.
You should see files similar to:
Open a script to review default users/passwords (change for production).
Production guidance: use unique, strong passwords, rotate them regularly, store them in a secure vault, and never commit secrets to source control.
Do not keep workshop password defaults in production.
Run SQL scripts to create Repository databases
Confirm PostgreSQL is running and locate the scripts.
Connect as a
pentahosuperuser.
Password: SecurePassword123
Execute the commands step-by-step - not as a single script block. Provide passwords if prompted - see below.
postgres
SecurePassword123
pentaho
SecurePassword123
jcr_user
password
pentaho_user
password
hibuser
password
Quick validation (CLI) - list created databases and connect - hit q to scroll through list.
Tables for Hibernate and Jackrabbit may be created later by the Pentaho Server on first start. Seeing empty schemas at this stage can be expected.
Optional: verify in pgAdmin (GUI).

Configure Pentaho to use PostgreSQL
PostgreSQL is the default. If you kept the default passwords and port (5432), only verify the settings below; otherwise, adjust host/port/user/password to match your environment.
Quartz - set PostgreSQL delegate and JNDI data source.
Open the Quartz configuration.
Check these values (line numbers may differ):
Hibernate — point to the PostgreSQL configuration file.
Open Hibernate settings.
Confirm the config file reference:
Optionally review
postgresql.hibernate.cfg.xmlfor datasource name and dialect.
Ensure:
Jackrabbit — verify PostgreSQL storage in repository.xml.
Open Jackrabbit configuration.
Check that PostgreSQL sections are active (others commented out), for example:
Filesystem schema:
postgresqlDatastore
databaseType="postgresql"PersistenceManager schema:
postgresqlDatabase Journal:
postgresql
Cross‑check JNDI names and ports across Quartz, Hibernate, Jackrabbit, and Tomcat context.xml to ensure consistency (same host, port 5432 unless changed, and matching JNDI resource names).
Expected JNDI names:
Quartz:
QuartzHibernate:
java:comp/env/jdbc/HibernateJackrabbit: as referenced in
repository.xml
Tomcat
After configuring the Repository, configure the web application server (Tomcat 10) to connect to the Repository using JDBC/JNDI.
JDBC Drivers
To connect to databases (including the Repository), install the appropriate JDBC drivers. Due to licensing restrictions, some drivers must be downloaded manually.
Verify the PostgreSQL JDBC driver is present in Tomcat lib (required for the Repository):
If not found, download the PostgreSQL JDBC driver (e.g., postgresql-42.7.8.jar) and distribute it using the helper script:
Copy any additional JDBC drivers to the staging folder and distribute.
Distribute the drivers to Tomcat.
Verify the JARs are present in Tomcat lib.
You must restart the Pentaho Server (and client tools, if running) to load new JDBC drivers. A full system reboot is not required.
context.xml
Database connection information for JNDI resources used by Pentaho is stored in context.xml.
Open the file and review JNDI resources and credentials.
In production, verify username, password, driver class, host/IP, and port match your environment. Ensure JNDI names align with Quartz, Hibernate, and Jackrabbit configurations.
Start the server.
Tail the Tomcat log (robust pattern).
Expected messages include:
Pentaho User Console (PUC)
The Pentaho User Console (PUC) is the web UI for creating and viewing content.
Default credentials (change immediately after first login):

You also have the option to switch to the new login screen.

If you have already entered your licensing details, then you will be redirected to the new User Console.
Quick validations
Check HTTP is responding:
Optional (remote access): open firewall and test from a client machine (adjust to your network policy):
Systemd (optional)
Create a systemd service to manage Pentaho at boot and on failure.
Save the unit file as
/etc/systemd/system/pentaho-server.service.
Reload and start.
Manage the service:
Troubleshooting (click to expand)
HTTP 404 on
/pentahoafter startup: confirm"$TOMCAT_HOME/webapps/pentaho"exists, checkcatalina.*.logfor deployment errors, and verify file permissions under$PENTAHO_SERVER.Port 8080 already in use: change Tomcat port in
server.xmlor stop the conflicting service.JDBC driver not found: verify the driver JARs (e.g.,
postgresql-*.jar,mysql-*.jar) exist in"$TOMCAT_HOME/lib".Authentication to PostgreSQL fails: prefer
scram-sha-256; reviewpg_hba.conf, restart PostgreSQL, and testpsql -h 127.0.0.1with the target user.Jackrabbit schema issues: re-check
repository.xmlsections are set topostgresql.License activation errors: check Tomcat logs in
tomcat/logs/forlicense/elmmessages.
Licensing Manager
Pentaho Pro Suite 11.x uses a License Manager (cloud or local) to manage PDI & BA entitlements and verify EE plugins.

Trial license
A 30-day trial license is included if you have downloaded from: Pentaho 30-day Trial
If you have dowwnloaded the GA binaries from: Pentaho Customer Portal, then you will require an Activation ID or your LIcensing URL.
If you have installed in an air-gapped envirnoment, you will need to request an offline license.
Launch Pentaho Server > Administration > Licenses to open the Add License dialog.
Click the + sign.

Enter Activation code or your licensing URL:

Enterprise licenses
If upgrading from 9.x or earlier, install the new product version before activating licenses. Do not start the server before upgrading the licenses.
Set license path environment variable
Create a PENTAHO_LICENSE_INFORMATION_PATH environment variable so the Pentaho Server consistently finds your license file.
Ensure the target directory exists and is secured.
Edit
/etc/environmentand add the line below (noexport).
Append (or update) the following:
Log out/log in or reload the environment and verify.
The PENTAHO_LICENSE_INFORMATION_PATH variable is now set.
Last updated
Was this helpful?
