15 de novembro de 2014

Integração Pentaho BA 5.2 CE com PostgreSQL 9.3

Veja aqui como integrar o Pentaho Business Analytics (BA) 5.2 Comminity Edition (CE) ao Sistema Gerenciador de Banco de Dados (SGBD) PostgreSQL 9.3. Acredito que esta instalação não seja mais novidade, no entanto, vários profissionais preferem consultar uma documentação mais atualizada. E como estou precisando realizar esta integração agora, apenas vou descrever aqui os passos à medida em que eu for realizando os procedimentos.
Como já é sabido, a partir da versão 5.0 a Pentaho optou por utilizar um gerenciador de conteúdos para armazenar o repositório da soluções, contrário às versões anteriores que utilizavam diretamente o sistema de arquivos. Este gerenciador de conteúdos é o Apache Jackrrabit, que por padrão vem pré configurado na versão CE, utilizando o SGBD H2. Então vamos precisar migrar o banco chamado "jackrabbit", que recebe o mesmo nome do gerenciador de conteúdos, assim como, os tradicionalmente utilizados pela Pentaho, o hibernate e o quartz que utilizam o SGBD HSQLDB.
Antes de iniciar a integração, é necessário que você providencie a instalação do Pentaho BA 5.2 CE e do SGBD PostgreSQL. Consulte os links citados abaixo para realizar estas tarefas.

1 -  Criação da estrutura básica de bancos de dados do PostgreSQL
Agora que estamos com o Pentaho BA 5.2 e o PostgreSQL funcionais, podemos iniciar a migração.
Então, inicialmente, vamos preparar os bancos de dados, utilizando os scripts disponibilizados na própria instalação do biserver-ce.
Tendo como referência a instalação do Pentaho BA 5.2, copie a pasta dos scripts do PostgreSQL para outra pasta, ou se for o caso de utilizar um servidor dedicado para o SGBD, copie para uma pasta neste servidor.
~# cp -rv ./biserver-ce/data/postgresql /tmp

Utilizando o usuário "postgres" ou "superuser" do PostgreSQL, execute os scripts para criação da estrutura básica, ou seja, bancos de dados e/ou tabelas.
~# su - postgres
~$ psql -p 5432 -f /tmp/postgresql/create_repository_postgresql.sql
~$ psql -p 5432 -f /tmp/postgresql/create_quartz_postgresql.sql
~$ psql -p 5432 -f /tmp/postgresql/create_jcr_postgresql.sql

No PostgreSQL, utilizando o "psql", crie a tabela "QRTZ" no banco do "quartz".
~$ psql
postgres=# \c quartz;
 CREATE TABLE "QRTZ"
(
NAME VARCHAR(200) NOT NULL,
PRIMARY KEY (NAME)
);

Observe que os bancos foram criados.
~$ psql
postgres=# \l
                                           List of databases
      Name       |    Owner     | Encoding |   Collate   |    Ctype    |       Access privileges      
-----------------+--------------+----------+-------------+-------------+-------------------------------
 hibernate   | hibuser | UTF8     | pt_BR.UTF-8 | pt_BR.UTF-8 | =Tc/hibuser +                  |              |          |             |             | hibuser=CTc/hibuser
 jackrabbit  | jcr_user  | UTF8     | pt_BR.UTF-8 | pt_BR.UTF-8 | =Tc/jcr_user  +                  |              |          |             |             | jcr_user=CTc/jcr_user
 quartz       | pentaho_user | UTF8     | pt_BR.UTF-8 | pt_BR.UTF-8 | =Tc/pentaho_user             +

Não esquecer de habilitar o acesso a estes bancos, para o Pentaho BA, no "pg_hba.conf". Na dúvida, veja este post "Configurações adicionais para PostgreSQL 9.1", que serve também para a versão 9.3 do PostgreSQL.

2 - Configuração do PostgreSQL no Pentaho BA 5.2 CE
Pare o serviço do Pentaho BA / PUC.
Faça um backup do Pentaho BA 5.2. Veja um exemplo a seguir.
~# mkdir /opt/backups
~# tar -vzcf /opt/backups/biserver-ce-aaaammdd.tar.gz ./biserver-ce

Vamos configurar os principais parâmetros dos arquivos, utilizando as configurações padrões utilizadas nos scripts, sendo:
Banco de Dados      Usuário             Senha
hibernate                   hibuser                 password
quartz                         pentaho_user      password
jackrabbit                   jcr_user                password

Altere somente as informações que estão em destaque.

Arquivo: "./tomcat/webapps/pentaho/META-INF/context.xml".
<?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.postgresql.Driver"
     url="jdbc:postgresql://localhost:5432/hibernate"
     validationQuery="select 1"/>
<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.postgresql.Driver"
     url="jdbc:postgresql://localhost:5432/quartz"
     validationQuery="select 1"/>
</Context>

 
Exclua este Arquivo: "./tomcat/conf/Catalina/localhost/pentaho.xml".
~# sudo rm -rf ./tomcat/conf/Catalina/localhost/pentaho.xml

Arquivo: "./pentaho-solutions/system/dialects/postgresql/applicationContext-spring-security-hibernate.properties".
jdbc.driver=org.postgresql.Driver
jdbc.url=jdbc:postgresql://localhost:5432/hibernate
jdbc.username=hibuser
jdbc.password=password
hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect

Arquivo: "./pentaho-solutions/system/applicationContext-spring-security-hibernate.properties".
jdbc.driver=org.postgresql.Driver
jdbc.url=jdbc:postgresql://localhost:5432/hibernate
jdbc.username=hibuser
jdbc.password=password
hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect
 


Arquivo: "./pentaho-solutions/system/hibernate/hibernate-settings.xml".
<config-file>system/hibernate/postgresql.hibernate.cfg.xml</config-file>

Arquivo: "./pentaho-solutions/system/hibernate/postgresql.hibernate.cfg.xml".
<property name="connection.driver_class">org.postgresql.Driver</property>
<property name="connection.url">jdbc:postgresql://localhost:5432/hibernate</property>
<property name="dialect">org.hibernate.dialect.PostgreSQLDialect</property>
<property name="connection.username">hibuser</property>
<property name="connection.password">password</property>


Arquivo: "./pentaho-solutions/system/jackrabbit/repository.xml".
Neste arquivo, é necessário a correção em vários parâmetros. Utilize o nome da classe como referência, para certificar que todas as modificações foram realizadas. Observe que as configurações referentes ao banco h2 são comentadas e as do PostgreSQL descomn
Classe: "org.apache.jackrabbit.core.fs.local.LocalFileSystem".
-->
<FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
     <param name="driver" value="org.postgresql.Driver"/>
     <param name="url" value="jdbc:postgresql://localhost:5432/jackrabbit"/>
     <param name="user" value="jcr_user"/>
     <param name="password" value="password"/>
     <param name="schema" value="postgresql"/>
     <param name="schemaObjectPrefix" value="fs_repos_"/>
</FileSystem>
<!--
<FileSystem class="org.apache.jackrabbit.core.fs.local.LocalFileSystem">
     <param name="path" value="${rep.home}/repository"/>
</FileSystem>
-->

Classe: "org.apache.jackrabbit.core.data.db.DbDataStore".
-->
<DataStore class="org.apache.jackrabbit.core.data.db.DbDataStore">
     <param name="url" value="jdbc:postgresql://localhost:5432/jackrabbit"/>
     <param name="driver" value="org.postgresql.Driver"/>
     <param name="user" value="jcr_user"/>
     <param name="password" value="password"/>
     <param name="databaseType" value="postgresql"/>
     <param name="minRecordLength" value="1024"/>
     <param name="maxConnections" value="3"/>
     <param name="copyWhenReading" value="true"/>
     <param name="tablePrefix" value=""/>
     <param name="schemaObjectPrefix" value="ds_repos_"/>
</DataStore>
<!--
<DataStore class="org.apache.jackrabbit.core.data.FileDataStore"/>
-->

 
Classe: "org.apache.jackrabbit.core.fs.db.DbFileSystem".
-->
<FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
     <param name="driver" value="org.postgresql.Driver"/>
     <param name="url" value="jdbc:postgresql://localhost:5432/jackrabbit"/>
     <param name="user" value="jcr_user"/>
     <param name="password" value="password"/>
     <param name="schema" value="postgresql"/>
     <param name="schemaObjectPrefix" value="fs_ws_"/>
</FileSystem>
<!--
<FileSystem class="org.apache.jackrabbit.core.fs.local.LocalFileSystem">
     <param name="path" value="${wsp.home}"/>
</FileSystem>
-->

Classe: "org.apache.jackrabbit.core.persistence.bundle.PostgreSQLPersistenceManager".
-->
<PersistenceManager
     class="org.apache.jackrabbit.core.persistence.bundle.PostgreSQLPersistenceManager">
     <param name="url" value="jdbc:postgresql://localhost:5432/jackrabbit"/>
     <param name="driver" value="org.postgresql.Driver"/>
     <param name="user" value="jcr_user"/>
     <param name="password" value="password"/>
     <param name="schema" value="postgresql"/>
     <param name="schemaObjectPrefix" value="${wsp.name}_pm_ws_"/>
</PersistenceManager>
<!--
<PersistenceManager 
     class="org.apache.jackrabbit.core.persistence.pool.H2PersistenceManager">
     <param name="url" value="jdbc:h2:${wsp.home}/db"/>
     <param name="schemaObjectPrefix" value="${wsp.name}_"/>
</PersistenceManager>
-->

Classe: "org.apache.jackrabbit.core.fs.db.DbFileSystem".
-->
    <FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
      <param name="driver" value="org.postgresql.Driver"/>
      <param name="url" value="jdbc:postgresql://localhost:5432/jackrabbit"/>
      <param name="user" value="jcr_user"/>
      <param name="password" value="password"/>
      <param name="schema" value="postgresql"/>
      <param name="schemaObjectPrefix" value="fs_ver_"/>
    </FileSystem>
<!--
    <FileSystem class="org.apache.jackrabbit.core.fs.local.LocalFileSystem">
      <param name="path" value="${rep.home}/version" />
    </FileSystem>
-->

Classe: "org.apache.jackrabbit.core.persistence.bundle.PostgreSQLPersistenceManager".
-->
<PersistenceManager
     class="org.apache.jackrabbit.core.persistence.bundle.PostgreSQLPersistenceManager">
     <param name="url" value="jdbc:postgresql://localhost:5432/jackrabbit"/>
     <param name="driver" value="org.postgresql.Driver"/>
     <param name="user" value="jcr_user"/>
     <param name="password" value="password"/>
     <param name="schema" value="postgresql"/>
     <param name="schemaObjectPrefix" value="pm_ver_"/>
</PersistenceManager>
<!--
<PersistenceManager
     class="org.apache.jackrabbit.core.persistence.pool.H2PersistenceManager">
     <param name="url" value="jdbc:h2:${rep.home}/version/db"/>
     <param name="schemaObjectPrefix" value="version_"/>
</PersistenceManager>
-->


Arquivo: "./tomcat/webapps/pentaho/WEB-INF/web.xml".
Comente as linhas referentes à inicialização do SGBD HSQLDB, uma vez que este serviço não mais será utilizado.
<!-- [BEGIN HSQLDB DATABASES]
<context-param>
     <param-name>hsqldb-databases</param-name>
     <param-value>sampledata@../../data/hsqldb/sampledata,hibernate@../../data/hsqldb/hibernate,quartz@../../data/hsqldb/quartz</param-value>
</context-param>
[END HSQLDB DATABASES] -->


<!-- [BEGIN HSQLDB STARTER]
<listener>
     <listener-class>org.pentaho.platform.web.http.context.HsqldbStartupListener</listener-class>
</listener>
[END HSQLDB STARTER] -->

Arquivo: "./pentaho-solutions/system/pentaho-spring-beans.xml".
Comente a linha referente à inicialização do SGBD H2, uma vez que este serviço não mais será utilizado.
<!-- <import resource="GettingStartedDB-spring.xml" /> Remove this line to unhook the Getting Started DB -->

Com atenção, exclua os arquivos conforme o exemplo a seguir:
~# rm -rf ./tomcat/work/*
~# rm -rf ./tomcat/temp/*
~# rm -rf ./pentaho-solutions/system/jackrabbit/repository/repository
~# rm -rf ./pentaho-solutions/system/jackrabbit/repository/workspaces

Concluído as configurações, Inicie o serviço do PUC.

Em caso de problemas na inicialização, reveja as configurações, observando a bertura e fechamento de tags, nomes de usuários, senhas, drivers configurados nos arquivos, ip's e portas dos bancos, que são os principais problema ocorridos.
Utilize o log do tomcat como suporte para esta tarefa, em "./tomcat/logs/catalina.out".
Leia mais ...

1 de novembro de 2014

Inicializar o HSQLDB independentemente do Pentaho BA

Hoje vamos demandar uma dica simples. Quando fazemos a opção pela mudança do banco de metadados do Pentaho BA, independendo do Sistema Gerenciador de Banco de Dados (SGBD) escolhido para a substituição, perdemos de certa forma, o acesso ao Data Wherehouse (DW) de teste, o "SampleData", que acompanha a solução.
Por que isso ocorre? O Hypersonic SQL Database (HSQLDB) é o SGBD que dá suporte aos bancos "hibernate", "quartz" e "SampleData". Logo, quando os bancos de metadados são desabilitados, conforme sugerido na documentação da Pentaho, o "SampleData" fica indisponível.
Para a solução deste problema, as opções são, popular um novo banco "SampleData" no SGBD adotado, utilizando dumps/SQL encontrados na internet, ou de forma rápida e eficiente, inicializar de forma independente o HSQLDB, conforme mostrarei neste post.

1 - Configurando o HSQLDB
Criar uma pasta "hsqldb".
~# mkdir /opt/hsqldb
~# cd ./biserver-ce/data/
~# cp -rv ./*.bat ./*.sh ./hsqldb ./lib /opt/hsqldb

Configurar o script de inicialização
Editar o script "start_hypersonic.sh" e comentar apenas os comandos correspondentes à inicialização dos bancos do hibernate e do quartz, que não serão mais utilizados.
"$_PENTAHO_JAVA" -cp $THE_CLASSPATH org.hsqldb.Server -database.0 $DIR_REL/hsqldb/sampledata -dbname.0 sampledata
# -database.1 $DIR_REL/hsqldb/hibernate -dbname.1 hibernate -database.2 $DIR_REL/hsqldb/quartz -dbname.2 quartz

Configurar o script de finalização
Editar o script "stop_hypersonic.sh" e comentar apenas os comandos correspondentes à finalização dos bancos do hibernate e do quartz.
"$_PENTAHO_JAVA" -cp $THE_CLASSPATH org.hsqldb.util.ShutdownServer -url "jdbc:hsqldb:hsql://localhost/sampledata" -user "SA" -password ""
# "$_PENTAHO_JAVA" -cp $THE_CLASSPATH org.hsqldb.util.ShutdownServer -url "jdbc:hsqldb:hsql://localhost/hibernate" -user "SA" -password ""
# "$_PENTAHO_JAVA" -cp $THE_CLASSPATH org.hsqldb.util.ShutdownServer -url "jdbc:hsqldb:hsql://localhost/quartz" -user "sa" -password ""


2 - Inicializando ou parando o serviço hsqldb
Inicializando o HSQLDB
~# cd /opt/hsqldb
~# ./start_hypersonic.sh &

Para ver se o SGBD foi inicializado, execute o comando "netstat", coforme citado abaixo.
A porta utilizada pelo HSQLDB é 9001, default para o serviço.
~# netstat -nap | grep 901
tcp6       0      0 :::9001                 :::*                    OUÇA       -


Parando o HSQLDB
~# cd /opt/hsqldb
~# ./stop_hypersonic.sh &

3 - Configuração do Sampledata no HSQLDB
No Pentaho BA, crie uma nova "Conexão de Fonte de dados", com as informações a seguir e realize o teste de conexão:
- Connection Name: SampleData
- Database Type: Hypersonic
- Host Name: localhost
- Database Name: SampleData
- Port Number:9001
- User Name: pentaho_user
- Password: [Deixar sem preencher] 
Faça o teste de conexão.
Finalizado, o SampleData já pode ser utilizado.

Leia mais ...

28 de outubro de 2014

Instalação do PostgreSQL 9.3 em distro Debian/Ubuntu

O PostgreSQL é um Sistema Gerenciador de Banco de Dados (SGBD) Open Source, mantido pelo PostgreSQL Global Development Group.
Neste post desmonstrarei como instalar o PostgreSQL 9.3 utilizando o pacote para compilação. Uma das vantagens deste tipo de instalação, é o controle sobre o local de instalação do serviço e do cluster, facilitando assim sua administração. Muito bom para ambiente de produção.
Portanto, siga os procedimentos abaixo para instalar a versão para compilação do PostgreSQL, seguido da criação do usuário "postgres" e do cluster.

Faça o download a partir do ftp repositório oficial do PostgreSQL
~$ sudo wget http://ftp.postgresql.org/pub/source/v9.3.5/postgresql-9.3.5.tar.gz

Descompacte o pacote.
~$ sudo mkdir /opt/download
~$ sudo tar -vzxf ./postgresql-9.3.5.tar.gz -C /opt/download 
~$ cd /opt/download/postgresql-9.3.5

Instale as dependências abaixo, antes de iniciar a instalação.
~$ sudo aptitude install build-essential zlib1g-dev libreadline5-dev libc6-dev

Execute o comando abaixo, para compilar o PostgreSQL 9.3, passando o caminho para instalação em "--prefix=".
~$ sudo ./configure --prefix=/opt/postgresql-9.3

Execute o comando para instalar.
~$ sudo make && make install

Crie usuário "postgres"
~$ sudo adduser postgres

Quando o PostgreSQL for funcionar em produção, recomenda-se como boas práticas, a criação do usuário "postgres" com o login desabilitado. Para criar o usuário com esta característica, passar o parâmetro "--disabled-login" logo após o comando de criação. Neste caso, o acesso utilizando o usuário "postgres" deverá ser a partir do usuário "root", somente.
Adicione o caminho da instalação do PostgreSQL no arquivo "/etc/profile", para configurar a variável de ambiente PATH de sua distro. Edite o arquivo "/etc/profile" e inclua a linha abaixo
export PATH=$PATH:/opt/postgresql-9.3/bin

Execute o comando abaixo para aplicar a última configuração.
~$ source /etc/profile

Verifique se a variável de ambiente foi configurada corretamente, executando o comando abaixo.
~$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/opt/postgresql-9.3/bin

Agora que o serviço do SGDB está completamente instalado, crie o cluster do seu banco de dados.
Crie uma pasta e atribua permissões a mesma para criação do cluster. Se o cluster for criado em uma pasta na profile do usuário "postgres" não é necessário a criação da pasta. Basta executar o comando "initdb" para criação da mesma.
Neste exemplo, crie a pasta "pgdata", fora da profile do postgres, na pasta de instalação do PostgreSQL, executando os comandos abaixo.
~$ sudo mkdir /opt/postgresql-9.3/pgdata
~$ sudo chmod -R 774 /opt/postgresql-9.3/pgdata/
~$ sudo chown -R postgres.postgres /opt/postgresql-9.3/pgdata/

Execute o comando abaixo para entrar com o usuário "postgres".
~$ su - postgres

Crie o cluster na pasta /opt/postgresql-9.3/pgdata.
~$ initdb -D /opt/postgresql-9.3/pgdata/

Após criação do cluster, inicialize-o utilizando o comando abaixo
~$ pg_ctl -D /opt/postgresql-9.3/pgdata start

Pronto, o banco já está instalado. Execute o comando abaixo para acessá-lo.
~$ psql -h localhost
psql (9.3.5)
Type "help" for help. postgres=# Digite \q para sair.

Para ver os processos do Postgres, utilize o comando abaixo, para ver os processos do usuário "postgres".
~$ ps U postgres
PID   TTY  STAT   TIME COMMAND
1044 ?
        S         0:00 /opt/postgresql-9.3/bin/postgres -D /opt/postgresql-9.3/pgdata
1120 ?
        Ss       0:00 postgres: logger process
1128 ?        Ss       0:00 postgres: checkpointer process
1129 ?        Ss       0:00 postgres: writer process
1130 ?        Ss       0:00 postgres: wal writer process
1131 ?        Ss       0:00 postgres: autovacuum launcher process
1132 ?        Ss       0:01 postgres: stats collector process


Para parar o serviço, utilize.
~$ pg_ctl -D /opt/postgresql-9.3/pgdata stop

Veja também:
- Instalação PostgreSQL 9.1 32 bits em distro Debian ou Ubuntu
- Configurações adicionais para PostgreSQL 9.1
- Backup Parcial PostgreSQL com "pg_dump" 
- Backup Full PostgreSQL com "pg_dump"

Leia mais ...

24 de outubro de 2014

Instalação Pentaho Business Analytics 5.2 Community Edition

Encontra-se disponível desde o dia 06 de Outubro de 2014, a versão 5.2.0 do Pentaho Business Analytics (BA) Community Edition (CE).
Além da correção de bugs, esta versão traz algumas novidades, como a facilidade de implementação da internacionalização, a nova aparência do Marketplace e a disponibilidade do Sparkl, dentre outras.
Para obter mais informações sobre os novos recursos disponíveis para esta versão, acesse o link "New Features in Pentaho Data Integration 5.2.".
A instalação básica do Pentaho BA 5.2 CE não mudou, ou seja, continua sendo igual à sua primeira versão, a 5.0. descrita neste blog em "Pentaho Business Analytics 5.0 Comminity Edition".
A Pentaho também continua mantendo o mesmo padrão de instalação para esta versão, ou seja, a solução já vem pré-configurada objetivando uma instalação rápida e descomplicada, utilizando o Apache Tomcat versão 7.0 com os SGDB HSQLDB e H2.

1 - Instalação
Por default, esta instalação utiliza o SGDB HSQLDB como suporte aos bancos de dados de metadados do Pentaho e o Data Wherehouse (DW) de testes que acompanha a solução, e o h2 que é o banco utilizado pelo gerenciador de conteúdo JackRabbit. 
A princípio estes bancos são inicializados juntamente com a solução, de forma transparente, e no momento não devem ser motivos de preocupação.


1.1 - Instalar o Java 7
Esta instalação pode ser realizada utilizando o post já publicado neste blog (Instalação do Java6 JDK em distro Debian ou Ubuntu), bastando apenas alterar a versão para o java 7.

1.2 - Fazer o download do pacote

A versão 5.2 contra-se disponível para download no Source Forge. Como root ou utilizando o "sudo", fazer download o pacote de instalação do Pentaho BA CE 5.2. Para fazer o download utilizando o prompt de comando, executar:

~# wget http://sourceforge.net/projects/pentaho/files/Business%20Intelligence%20Server/5.2/biserver-ce-5.2.0.0-209.zip


1.3 - Descompactar o pacote
Crie uma pasta para descompactar/instalar o Pentaho:
~# mkdir /opt/pentaho-5.2

Descompacte o pacote na pasta criada:
~# unzip biserver-ce-5.2.0.0-209.zip -d /opt/pentaho-5.2

2 - Configurações
Para a configuração básica, neste momento, apenas o arquivo web.xml deve ser configurado. Configure o arquivo web.xml, em: /opt/pentaho-5.2/biserver-ce/tomcat/webapps/pentaho/WEB-INF/web.xml

2.1 - Repositório de soluções:
Configure o repositório de soluções. Incluir o path do repositório conforme sua instalação:
<context-param>
     <param-name>solution-path</param-name>
     <param-value>/opt/pentaho-5.2/biserver-ce/pentaho-solutions</param-value>
</context-param>

2.2 - URL do servidor
A configuração deste parâmetro é utilizada quando houver solicitações de retorno para o servidor. Se necessário, para receber acessos externos, altere o "localhost" pelo Ip (ou o DNS) do servidor.
Alterar de:
<context-param>
     <param-name>fully-qualified-server-url</param-name>
     <param-value>http://localhost:8080/pentaho/</param-value>
</context-param>
Para:
<context-param>
     <param-name>fully-qualified-server-url</param-name>
     <param-value>http://192.168.1.10:8080/pentaho/</param-value>
</context-param>

2.3 - Locales
Configure os locales. Incluir os locales:
<context-param>
     <param-name>locale-language</param-name>
     <!-- for example 'fr' for French, 'de' for German, da for danish -->
     <param-value>pt</param-value>
</context-param>
e
<context-param>
     <param-name>locale-country</param-name>
     <!-- for example 'FR' for France, 'CA' for Canada -->
     <param-value>BR</param-value>
</context-param>

2.3 - Locales
Edite o arquivo "./biserver-ce/start-pentaho.sh" e configure o charset na jvm, conforme segue:
CATALINA_OPTS="-Xms1024m -Xmx2048m -XX:MaxPermSize=256m -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000 -Dfile.encoding=utf-8"

3 - Inicialização
Inicialize o serviço do Pentaho BA 5.2 CE  - Pentaho User Console (PUC).
~# cd /opt/pentaho-5.2/biserver-ce
~# ./start-pentaho.sh &

Utilizando um browser de sua preferência, acesse o endereço do servidor, para visualizar a página de login do pentaho 5.2.
ex.: http://191.168.1.10:8080/pentaho

     Utilize o usuário "admin" e senha "password" para fazer o login.

Quando necessário, pare o serviço utilizando o comando:
~# cd /opt/pentaho-5.2/biserver-ce
~# ./stop-pentaho.sh &

Caso ocorra algum problema, certifique-se de que seus recursos computacionais sejam suficientes para levantar a instância e se as configurações foram realizadas com sucesso, tomando cuidado com a abertura e fechamentos das tags xml, que é um dos pontos críticos na configuração do Pentaho.

Leia mais ...