Professional Documents
Culture Documents
Pentaho 3 6 0 Linux and MySQL
Pentaho 3 6 0 Linux and MySQL
Pentaho 3 6 0 Linux and MySQL
6
A guide to getting started with MySQL 5.x and Linux
Version 1.3.2
Modified on 17/06/2010
Modified by Prashant Raju
Notes Supports version 3.6
Version 1.3.1
Modified on 09/02/2009
Modified by Prashant Raju
Notes Added TrustedIpAddrs section
Version 1.3
Modified on 08/02/2009
Modified by Prashant Raju
Notes Formatting fixes
Layout fixes
Spelling and grammar fixes
Added descriptions to steps
Added common errors
Added publishing section
Added SMTP section
Added Java section
Fix to MySQL SQL script pack
Page 1 of 25
Pentaho Business Intelligence Suite 3.6
A guide to getting started with MySQL 5.x and Linux
Table of Contents
Table of Contents .............................................................................................................. 2
About ............................................................................................................................... 3
Donate ............................................................................................................................. 0
The Community ............................................................................................................... 3
Thanks ............................................................................................................................. 3
Getting Started .................................................................................................................. 5
Installing and Configuring Java ....................................................................................... 5
Installing and Configuring MySQL 5.x Server.................................................................. 5
Deploying the Platform .................................................................................................... 6
Packaged Apache-Tomcat Server ............................................................................... 6
Existing Apache-Tomcat Server .................................................................................. 6
MySQL Java Connector ........................................................................................... 7
webapps ................................................................................................................... 7
SQL Script Pack .............................................................................................................. 8
Configuring the Databases............................................................................................... 9
Extract the MySQL 5.x SQL Script Pack ......................................................................... 9
Load the SQL scripts ....................................................................................................... 9
Configuring JDBC Security ............................................................................................ 11
applicationContext-spring-security-jdbc.xml .............................................................. 11
applicationContext-spring-security-hibernate.properties............................................ 11
hibernate-settings.xml ................................................................................................ 12
mysql5.hibernate.cfg.xml (optional) ........................................................................... 12
Configuring Hibernate and Quartz................................................................................. 13
Configuring Apache-Tomcat Server.............................................................................. 15
solution-path .............................................................................................................. 15
base-url ...................................................................................................................... 15
TrustedIpAddrs........................................................................................................... 16
Other Parameters....................................................................................................... 16
Configuring SMTP (mail server)..................................................................................... 17
Configuring Publishing................................................................................................... 19
Configuring the Administration Console ...................................................................... 20
Starting the Business Intelligence Platform ................................................................. 21
Starting the Administration Console............................................................................. 24
Page 2 of 25
Pentaho Business Intelligence Suite 3.6
A guide to getting started with MySQL 5.x and Linux
Introduction
About
To use this guide It is assumed that readers have intermediate to advanced knowledge in their setup of
choice and basic knowledge of Pentaho (although it is not needed). The following operating systems and
databases are supported:
• Windows
◦ MySQL 5.x
◦ PostgreSQL 8.x.x
◦ Oracle 10g & 11g
• Linux *
◦ MySQL 5.x *
◦ PostgreSQL 8.x.x
◦ Oracle 10g & 11g
The Community
Don't forget about the other hardworking projects which are part of the Pentaho community and also
deserve a donation:
Thanks
Bizcubed
Page 3 of 25
Pentaho Business Intelligence Suite 3.6
A guide to getting started with MySQL 5.x and Linux
Provided a working copy of the sample database for PostgreSQL - they are also Australian!
Pentaho Solutions: Business Intelligence and Data Warehousing with Pentaho and MySQL
A book by Roland and Jos van Dongen.
Page 4 of 25
Pentaho Business Intelligence Suite 3.6
A guide to getting started with MySQL 5.x and Linux
Getting Started
Installing and Configuring Java
The Pentaho BI Platform requires a JVM (Java Virtual Machine) to be installed on your PC or server. To
check if Java is already installed issue the following command (seen in bold) at the terminal prompt:
If a similar output (seen above) is displayed Java is already installed. If not, to install Java on Linux issue
the following commands (seen in bold):
Ubuntu
user@terminal:~# sudo apt-get install sun-java6-jdk sun-java6-jre
Fedora
user@terminal:~# sudo su install sun-java6-jdk sun-java6-jre
The next step is to check if the JAVA_HOME environment variable is setup correctly, issue the following
command (seen in bold) at the terminal prompt:
If a similar output (seen above) is displayed the JAVA_HOME environment variable is already setup. To
setup the JAVA_HOME environment variable add this line to the bottom of the /etc/environment file:
JAVA_HOME="/usr/lib/jvm/java-6-sun"
The CATALINA_OPTS environment variable should also be set to tell the Apache-Tomcat server to use
more than the default memory, to do this also add the following line to the bottom of the /etc/
environment file:
From now on every time the PC or server is started/restarted the JAVA_HOME and CATALINA_OPTS
environment variables will be set automatically.
Page 5 of 25
Pentaho Business Intelligence Suite 3.6
A guide to getting started with MySQL 5.x and Linux
You are able to deploy the platform in many different ways but in this guide I will explain how to deploy it
with the packaged Apache-Tomcat server (comes with the Pentaho BI Server installation file) or with an
existing Apache-Tomcat server.
You will need to first download the pentaho-ce-3.6.x.stable.tar.gz file from the Pentaho
Sourceforge projects page - this file contains all the files/packages needed for setting up our platform.
After downloading extract its contents into a directory you would like to store the Pentaho BI Server - in
this example I have chosen /opt/pentaho/.
To extract the file and move it the /opt/pentaho/ directory issue the following commands (seen in
bold) at the terminal prompt:
The following directories should be visible after you have extracted the TAR file and moved its contents:
opt/
|-- pentaho
| |-- adminstration-console
| |-- biserver-ce
If you would like to deploy the Pentaho BI Platform on an existing Apache-Tomcat server first extract the
contents of the pentaho-ce-3.6.x.stable.tar.gz file found on the Pentaho Sourceforge projects
page. After downloading extract its contents into a directory you would like to store the Pentaho BI Server
- in this example I have chosen /opt/pentaho/.
To extract the file and move it the /opt/pentaho/ directory issue the following commands (seen in
bold) at the terminal prompt:
The following directories should be visible after you have extracted the TAR file and moved its contents:
Page 6 of 25
Pentaho Business Intelligence Suite 3.6
A guide to getting started with MySQL 5.x and Linux
opt/
|-- pentaho
| |-- adminstration-console
| |-- biserver-ce
| |-- pentaho-solutions
| |-- tomcat
| |-- common
| `-- lib
| `-- mysql-connector-java-5.0.7.jar (optional)
| |-- webapps
| `-- pentaho
| `-- pentaho-styles
| `-- sw-styles
The files and directories in bold (seen above) will need to be moved to your existing Apache-Tomcat
installation.
If you already have Apache-Tomcat working with MySQL then you won't need to copy the mysql-
connector-java-5.0.7.jar file to your tomcat's /common/lib directory. If not to copy the mysql-
connector-java-5.0.7.jar issue the following command (in bold) at the terminal prompt:
Ubuntu
user@terminal:~#/ sudo cp /opt/pentaho/biserver-ce/tomcat/common/lib/
mysql-connector-java-5.0.7.jar /opt/tomcat/common/lib
Fedora
user@terminal:~#/ su cp /opt/pentaho/biserver-ce/tomcat/common/lib/
mysql-connector-java-5.0.7.jar /opt/tomcat/common/lib
webapps
You will need to copy all the directories under the /opt/pentaho/biserver-ce/tomcat/webapps/
directory to the webapps/ directory under your existing Apache-Tomcat installation.
To do so make sure you have stopped your Apache-Tomcat server then issue the following command (in
bold) at the terminal prompt:
Ubuntu
user@terminal:~#/ sudo cp /opt/pentaho/biserver-ce/tomcat/webapps /opt/
tomcat/
Fedora
user@terminal:~#/ su cp /opt/pentaho/biserver-ce/tomcat/webapps /opt/
tomcat/
Where /opt/tomcat/webapps/ is the location of your Apache-Tomcat webapps directory. You have
just moved all the webapps which are needed by the Pentaho BI Platform (sw-styles is optional).
Page 7 of 25
Pentaho Business Intelligence Suite 3.6
A guide to getting started with MySQL 5.x and Linux
The last step is to move the pentaho-solutions directory into the /pentaho/ directory or any other location
which you would like to store all your pentaho solutions and configuration files. To move the pentaho-
solutions folder to the pentaho directory issue the following command (in bold) at the terminal prompt:
Ubuntu
user@terminal:~#/ sudo mv /opt/pentaho/biserver-ce/pentaho-solutions
/opt/pentaho/
Fedora
user@terminal:~#/ su mv /opt/pentaho/biserver-ce/pentaho-solutions /opt/
pentaho/
One more step will need to be done to make sure Pentaho knows the new location of the pentaho-
solutions directory which will be covered in the "Configuring Apache-Tomcat" section.
The new structure of the pentaho-solutions and existing Apache-Tomcat directory looks like this:
opt/
| |-- pentaho
| `-- pentaho-solutions
| |-- tomcat
| `-- webapps
You can now safely remove any other files that came with the original Pentaho BI Platform (only under
the biserver-ce\ folder).
A SQL Script Pack is a set off SQL scripts which will configure all the necessary databases. To download
the SQL Script Pack for MySQL 5.x click here.
Page 8 of 25
Pentaho Business Intelligence Suite 3.6
A guide to getting started with MySQL 5.x and Linux
After downloading the SQL Script Pack for MySQL 5.x you will need to extract the files into a temporary
location. These are the five SQL scripts which should be visible after the pack has been extracted:
1_create_repository_mysql.sql
Creates the Hibernate database
2_create_quartz_mysql.sql
Creates the Quartz database
3_create_sample_datasource_mysql.sql
Loads the sample data data source into the Hibernate database
4_load_sample_users_mysql.sql
Creates all the sample users and roles into the Hibernate database
5_sample_data_mysql.sql
Creates the sample data database
You must load the above scripts in the order they are listed. Load these SQL scripts using your
favourite MySQL front end tool i.e. MySQL console, Navicat Lite, phpMyAdmin etc (in this section I will
show you how to load the SQL scripts using the MySQL console).
Before you start make sure that you place all your SQL scripts in the directory which you will be logging
into the MySQL console, in this example that is /home/pentaho/tmp/.
Issue the following commands found in bold one after the other:
Now run the following command (in bold) to see if you have successfully created the hibernate,
quartz and sampledata databases:
Page 9 of 25
Pentaho Business Intelligence Suite 3.6
A guide to getting started with MySQL 5.x and Linux
Just for reference here are the databases and tables which should of been created after loading the
contents of the MySQL 5.x SQL Script pack:
• hibernate*
◦ authorities
◦ datasource
◦ granted_authorities
◦ users
• quartz
◦ qrtz_blob_triggers
◦ qrtz_calendars
◦ qrtz_cron_triggers
◦ qrtz_fired_triggers
◦ qrtz_job_details
◦ qrtz_job_listeners
◦ qrtz_locks
◦ qrtz_paused_trigger_grps
◦ qrtz_scheduler_state
◦ qrtz_simple_triggers
◦ qrtz_trigger_listeners
◦ qrtz_triggers
• sampledata
◦ customer_w_ter
◦ customers
◦ department_managers
◦ dim_time
◦ employees
◦ offices
◦ orderdetails
◦ orderfact
◦ orders
◦ payments
◦ products
◦ quadrant_actuals
◦ trial_balance
* Hibernate will create new tables into the hibernate database after Pentaho BI Platform has started for the first time.
↴
NOTE↴
If you have problems when running the 5_sample_data_mysql.sql scripts with timestamps
you will need to replace all occurances of 00.000000000 with 00.000000 - this is an issue with
MySQL timezones and timestamps.
Page 10 of 25
Pentaho Business Intelligence Suite 3.6
A guide to getting started with MySQL 5.x and Linux
↴
NOTE↴
If you already have a user which you prefer to have access to the hibernate database instead of
the default user hibuser, you will need to modify all occurances of hibuser/password in this
section.
applicationContext-spring-security-jdbc.xml
<!-- This is only for Hypersonic. Please update this section for any
other database you are using -->
<bean id="dataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="org.hsqldb.jdbcDriver" />
<property name="url"
value="jdbc:hsqldb:hsql://localhost:9001/hibernate" />
<property name="username" value="hibuser" />
<property name="password" value="password" />
</bean>
Make changes to the highlighted sections so that the section of code looks similar to this:
<!-- This is only for Hypersonic. Please update this section for any
other database you are using -->
<bean id="dataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver" />
<property name="url"
value="jdbc:mysql://localhost:3306/hibernate" />
<property name="username" value="hibuser" />
<property name="password" value="password" />
</bean>
applicationContext-spring-security-hibernate.properties
Page 11 of 25
Pentaho Business Intelligence Suite 3.6
A guide to getting started with MySQL 5.x and Linux
jdbc.driver=org.hsqldb.jdbcDriver
jdbc.url=jdbc:hsqldb:hsql://localhost:9001/hibernate
jdbc.username=hibuser
jdbc.password=password
hibernate.dialect=org.hibernate.dialect.HSQLDialect
Make changes to the highlighted sections so that the section of code looks similar to this:
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/hibernate
jdbc.username=hibuser
jdbc.password=password
hibernate.dialect=org.hibernate.dialect.MySQLDialect
hibernate-settings.xml
Make changes to the highlighted section so that the section of code looks similar to this:
<config-file>system/hibernate/mysql5.hibernate.cfg.xml</config-file>
mysql5.hibernate.cfg.xml (optional)
You do not need to make any changes to this file if you would like to use the default user hibuser (which
was created with the 4_load_sample_users_mysql.sql file). However, if you would like to specify
your own user find and change the following two lines of code:
<property name="connection.username">hibuser</property>
<property name="connection.password">password</property>
Make changes to the highlighted sections to a username and password of your choice.
Page 12 of 25
Pentaho Business Intelligence Suite 3.6
A guide to getting started with MySQL 5.x and Linux
↴
NOTE↴
If you already have a user which you prefer to have access the hibernate database instead of
the default user hibuser, you will need to modify all occurances of hibuser/password in this
section.This also applies to the pentaho_user/password used to connect to the Quartz
database.
Once the file has opened the following piece of code should be visible:
<?xml version="1.0" encoding="UTF-8"?>
<Context path="/pentaho" docbase="webapps/pentaho/">
<Resource name="jdbc/Hibernate" auth="Container"
type="javax.sql.DataSource"
factory="org.apache.commons.dbcp.BasicDataSourceFactory"
maxActive="20" maxIdle="5"
maxWait="10000" username="hibuser" password="password"
driverClassName="org.hsqldb.jdbcDriver"
url="jdbc:hsqldb:hsql://localhost/hibernate"
validationQuery="select count(*) from
INFORMATION_SCHEMA.SYSTEM_SEQUENCES" />
<Resource name="jdbc/Quartz" auth="Container"
type="javax.sql.DataSource"
factory="org.apache.commons.dbcp.BasicDataSourceFactory"
maxActive="20" maxIdle="5"
maxWait="10000" username="pentaho_user" password="password"
driverClassName="org.hsqldb.jdbcDriver"
url="jdbc:hsqldb:hsql://localhost/quartz"
validationQuery="select count(*) from
INFORMATION_SCHEMA.SYSTEM_SEQUENCES"/>
</Context>
Make changes to the highlighted sections so that the section of code looks similar to this:
<?xml version="1.0" encoding="UTF-8"?>
<Context path="/pentaho" docbase="webapps/pentaho/">
<Resource name="jdbc/Hibernate" auth="Container"
type="javax.sql.DataSource"
factory="org.apache.commons.dbcp.BasicDataSourceFactory"
maxActive="20" maxIdle="5"
maxWait="10000" username="hibuser" password="password"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/hibernate"
validationQuery="select 1" />
Page 13 of 25
Pentaho Business Intelligence Suite 3.6
A guide to getting started with MySQL 5.x and Linux
Page 14 of 25
Pentaho Business Intelligence Suite 3.6
A guide to getting started with MySQL 5.x and Linux
• pentaho-solutions location
• URL
• TrustedIpAddrs (optional - for the administration console and if you are accessing the server
remotely)
If you are happy with the following settings for your Pentaho BI Platform server you will not need to make
any changes to this file:
solution-path
The solution-path parameter lets the Pentaho BI Platform know where to locate
the pentaho-solutions directory. By default this is set to /opt/biserver-ce/
pentaho/ directory.
If you have decided to use an existing Apache-Tomcat server (or have moved your pentaho-
solutions directory) you will need to point this to where you have placed your pentaho-solutions
directory. In this example my pentaho-solutions directory is under the /opt/pentaho/ directory,
now my solution-path code snippet looks like this:
<context-param>
<param-name>solution-path</param-name>
<param-value>/opt/pentaho/pentaho-solutions/</param-value>
</context-param>
base-url
If you are happy with visiting the URL http://localhost:8080/pentaho to access Pentaho's BI Platform you
will not need to change this parameter, however if you would like others to access the site (remotely or on
a network) you will need to make changes to this parameter.
Make changes to the highlighted section to your PC or server's domain or IP address so it looks similar to
this:
<param-value>http://www.prashantraju.com:8080/pentaho/</param-value>
or
<param-value>http://192.168.1.10:8080/pentaho/</param-value>
Page 15 of 25
Pentaho Business Intelligence Suite 3.6
A guide to getting started with MySQL 5.x and Linux
TrustedIpAddrs
If you want to access your Tomcat-Apache server remotely - so in the above step you have not specified
localhost or 127.0.0.1 for the base-url parameter - you will need to add your Tomcat-Apache
server's IP address to this list.
<param-name>TrustedIpAddrs</param-name>
<param-value>127.0.0.1</param-value>
Make changes to the highlighted section add your PC or server's domain or IP address so it looks similar
to this:
<param-name>TrustedIpAddrs</param-name>
<param-value>127.0.0.1,[your_ip_address]</param-value>
This will allow the Pentaho Administration Console to 'ping' the server to see if it is up or down - you do
not need to do this if you are hosting your server locally.
Other Parameters
You can also change the local language and country under the web.xml file, the changes to these
parameters are self explanatory.
Page 16 of 25
Pentaho Business Intelligence Suite 3.6
A guide to getting started with MySQL 5.x and Linux
Here are the available parameters that can be configured for SMTP support:
• mail.smtp.host
◦ This is the address of your SMTP email server for sending email e.g. smtp.gmail.com
• mail.smtp.port
◦ This is the port of your SMTP email server e.g. for GMail this is 587
• mail.transport.protocol
◦ The transport for accessing the email server. Usually this is smtp e.g. for GMail this is
smtps
• mail.smtp.starttls.enable
◦ If you SMTP server uses TTLS authentication set this to true e.g. for GMail this is true
• mail.smtp.auth
◦ Set to true if the email server requires the sender to authenticate
• mail.smtp.ssl
◦ This is true if the email server requires an SSL connection e.g. for GMail this is true
• mail.debug
◦ Output debug information from the JavaMail API
• mail.pop3
◦ Not being used.
• mail.from.default
◦ The from address that emails from the Pentaho BI Platform e.g.
prashantraju@gmail.com
• mail.userid
◦ The userid that is used when authenticating with the SMTP server, mail.smtp.auth
must be set to true.
• mail.password
◦ The password that is used when authenticating with the SMTP server, mail.smtp.auth
must be set to true.
<email-smtp>
<properties>
<mail.smtp.host>smtp.gmail.com</mail.smtp.host>
<mail.smtp.port>587</mail.smtp.port>
<mail.transport.protocol>smtps</mail.transport.protocol>
<mail.smtp.starttls.enable>true</mail.smtp.starttls.enable>
<mail.smtp.auth>true</mail.smtp.auth>
<mail.smtp.ssl>true</mail.smtp.ssl>
<mail.smtp.quitwait>false</mail.smtp.quitwait>
</properties>
<mail.pop3></mail.pop3>
<mail.from.default>pentahoadmin@gmail.com</mail.from.default>
Page 17 of 25
Pentaho Business Intelligence Suite 3.6
A guide to getting started with MySQL 5.x and Linux
<mail.userid>pentahoadmin@gmail.com</mail.userid>
<mail.password>password</mail.password>
</email-smtp>
Page 18 of 25
Pentaho Business Intelligence Suite 3.6
A guide to getting started with MySQL 5.x and Linux
Configuring Publishing
By default publishing is not enabled, to enable it you will need to specify a password which will need to be
used when publishing. To get started you will need to edit the publisher_config.xml file located
under the /pentaho-solutions/system/ directory, once open locate the following snippet of code:
<publisher-config>
<publisher-password></publisher-password>
</publisher-config>
Enter a password between the publisher-password tags (this password will be the same for all users)
so the snippet of code looks similar to the example below (in this example the publisher password is
publishthis):
<publisher-config>
<publisher-password>publishthis</publisher-password>
</publisher-config>
From now on when any user tries to publish content to Pentaho BI Platform they will need to specify this
password.
Page 19 of 25
Pentaho Business Intelligence Suite 3.6
A guide to getting started with MySQL 5.x and Linux
Page 20 of 25
Pentaho Business Intelligence Suite 3.6
A guide to getting started with MySQL 5.x and Linux
user@terminal:/opt/pentaho/biserver-ce/tomcat/bin# startup.sh
Using CATALINA_BASE: /opt/pentaho/biserver-ce/tomcat
Using CATALINA_HOME: /opt/pentaho/biserver-ce/tomcat
Using CATALINA_TMPDIR: /opt/pentaho/biserver-ce/tomcat/temp
Using JRE_HOME: /usr/lib/jvm/java-6-sun
Page 21 of 25
Pentaho Business Intelligence Suite 3.6
A guide to getting started with MySQL 5.x and Linux
After logging in try and run a sample report from the Steel Wheels solution folder:
Page 22 of 25
Pentaho Business Intelligence Suite 3.6
A guide to getting started with MySQL 5.x and Linux
Page 23 of 25
Pentaho Business Intelligence Suite 3.6
A guide to getting started with MySQL 5.x and Linux
user@terminal:/opt/pentaho/administration-console# start-pac.sh
DEBUG: Using JAVA_HOME
DEBUG: _PENTAHO_JAVA_HOME=/lib/jvm/java-6-sun/
DEBUG: _PENTAHO_JAVA=/lib/jvm/java-6-sun/
2010-01-05 16:27:17.824::INFO: Logging to STDERR via
org.mortbay.log.StdErrLog
05/01/2010 4:27:18 PM org.pentaho.pac.server.JettyServer startServer
INFO: Console is starting
2010-01-05 16:27:18.118::INFO: jetty-6.1.2
2010-01-05 16:27:38.672::INFO: Started SocketConnector @ 0.0.0.0:8099
05/01/2010 4:27:38 PM org.pentaho.pac.server.JettyServer startServer
INFO: Console is now started. It can be accessed using
http://D119940:8099 or http://161.117.117.40:8099
Now you should be able to visit http://localhost:8099/ or the other two address's specified in your output
(highlighted above). You will be prompted for a Username and Password which by default are "admin"
and "password". If you have successfully started and logged into the administration console you should
see the following welcome screen:
Page 24 of 25
Pentaho Business Intelligence Suite 3.6
A guide to getting started with MySQL 5.x and Linux
Page 25 of 25