1. Sergio Oliveira
  2. pentaho-deploy




This project aims to have an unified Python library to help users to install, deploy and configure pentaho applications on Linux servers. To make it even easier the most important routines are exposed by a single shell script, the pentaho-deploy.sh.

To accumplish its mission, behind the scenes, pentaho-deploy uses a powerfull library: Fabric - http://docs.fabfile.org.

Current State

Version 0.1: first version. Only supports the installation of Pentaho BI Server Community edition on the Ubuntu 10.04 (LTS) using Postgres 8.4 as the database backend.

Next versions will also add support to Kettle, Mondrian and BI Server pluggins.

Getting Started

The approche used by pentaho-deploy it's to perform all operations remotely. To be able to work with it you should have access to an SSH account on the TARGET_HOSTNAME, either with an SSH Key or normal password.

Everytime you execute pentaho-deploy.sh it will open a connection to the TARGET_HOSTNAME and perform it's tasks. This section will introduce the currently available tasks.


Thanks to Python Package Index (PyPI) the installation using pip it's quite simple:

$ pip install pentaho-deploy

NOTE: You might want to install the library on a Python virtualenv. See more on: http://pypi.python.org/pypi/virtualenv

After installing the library the script pentaho-deploy.sh should be available for execution. If not check the variable PATH on your Linux environment.

Installing BI Server Community Edition

Install the Pentaho BI Sever:

$ pentaho-deploy.sh install_biserver -H <TARGET_HOSTNAME>

This step will:

  • Install Java virtual machine (using APT);
  • Download and install the BI Server (on /srv/pentaho/);
  • Install and configure PostgreSQL 8.4 (it alters the file /etc/postgresql/8.4/main/pg_hba.conf)
  • Configure the BI Server to use the Postgres instead of Hypersonic SQL
  • Deploy an upstart script (on /etc/init/)
  • Set a dummy publish password (defaults to 'PASSWORD');
  • Disable all sample users which comes with the default installation.

Set the admin password:

$ pentaho-deploy.sh set_admin_password:<ADMIN_PASSWORD> -H <TARGET_HOSTNAME>

Set the publish password:

$ pentaho-deploy.sh set_publish_password:<PUBLISH_PASSWORD> -H <TARGET_HOSTNAME>

Start the server:

<TARGET_HOSTNAME> $ sudo start pentaho-biserver

Now you be able to access your server on http://<TARGET_HOSTNAME>:8080 using the ADMIN_PASSWORD you previously set. To publish/edit reports from your Pentaho Report Designer use the PUBLISH_PASSWORD. For more information on publishing reports take a look on that screencast: http://www.youtube.com/watch?v=lADlPviK9Mc