Birt, TomCat e phpJavaBridge tudo junto rodando no Ubuntu

Standard

Não temos uma solução definitiva para a criação de relatórios em ambiente php. (ponto). Testei o JasperReports e desisti. Testei o Birt e resolvi ficar com ele. Pastei como burro grande durante 4 dias para instalar o ambiente de exibição de relatórios na web. Coisas do Java, TomCat e ubuntu. Coisas mal boladas, mal sacadas e mal documentadas… principalmente para um pobre desenvolvedor php. Divido com vocês minha dor na esperança que vocês possam poupar a própria.

Here comes the sun...
photo credit: chantrybee

Primeiro uma pequena ressalva. Instalei no Ubuntu 8.04, 9.04 e 10.04 essa receita que descrevo a seguir foi a única que funcionou nas três versões.

Comece tendo certeza que os pacotes java necessários estão instalados. Antes de qualquer coisa digite:

sudo apt-get install vim

Este comando vai instalar o vim por que vi é para loucos. Uma vez que o vim esteja instalado digite

sudo vim /etc/apt/sources. list

O arquivo que vai abrir é o arquivo de repositórios do ubuntu. Delete o # do começo das linhas:

# deb http://archive.canonical.com/ubuntu lucid partner
# deb-src http://archive.canonical.com/ubuntu lucid partner

Salve e faça o update e upgrade do seu servidor digitando:

sudo apt-get update && sudo apt-get upgrade

Pronto! Agora podemos, finalmente, verificar, ou instalar, os pacotes java necessários. Para isso, digite o seguinte comando.

sudo apt-get install sun-java6-bin sun-java6-jdk sun-java6-jre

Se os pacotes não estiverem instalados, instale. Não se assuste o java exige uma licença especial. Leia cuidadosamente duas vezes, consulte seu advogado, chame uma testemunha e, mova o cursor até ok e pressione enter.

Instalou? Não? Então você precisa de ajuda profissional.

Agora vamos instalar o tomcat. Escolhi o 6 porque os aplicativos que vou usar já foram testados com ele. Então baixe o treco diretamente do site da fundação Apache digitando:

wget http://ftp.unicamp.br/pub/apache/tomcat/tomcat-6/v6.0.28/bin/apache-tomcat-6.0.28.tar.gz

Se você não estiver no Brasil, seja educado e procure o seu próprio mirror.

Baixou? Não? Fique tranquilo eu espero…

Pronto? Agora vamos descomprimir o arquivo que baixamos para tal:

tar xvzf apache-tomcat-6.0.28.tar.gz

Falta pouco, calma…. vamos mover o conteúdo deste diretório para o lugar certo (há controvérsias. Eu sei. Mas vou deixar aqui mesmo) para isso digite

sudo mv apache-tomcat-6.0.28 /usr/local/tomcat

Sem mais delongas, vamos rodar o TomCat…

Calma… brincadeirinha, ainda tem uma coisinha, bem pequenininha para fazer, digite:

vim /usr/local/tomcat/bin/startup.sh

Na última linha inclua: export JAVA_HOME=/usr/lib/jvm/java-6-sun Salve e agora sim… vamos rodar esse treco.

sudo /usr/local/tomcat/bin/startup.sh

Se tudo correu bem você verá uma série de mensagens parecidas com:

Using CATALINA_BASE: /usr/local/tomcat
Using CATALINA_HOME: /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME: /usr/lib/jvm/java-6-sun
Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar

Agora você pode testar com o navegador apontando para http://localhost:8080 se for uma pessoa de sorte e tiver tido uma vida anterior ilibada deverá ver a página default do Tomcat. Esta é a dica para sair com os amigos e comemorar. Eu sugiro umas 5 garrafas de cerveja na beira da praia de preferência no sol vendo mulher bonita. Depois volte aqui que ainda tem uma coisinha ou duas…

Você, que é um administrador sério não vai ficar digitando sudo /usr/local/tomcat/bin/startup.sh todas as vezes que quiser iniciar o TomCat, certo? Principalmente por que existe um tal de init.d só para estas coisas. Então vamos fazer um scriptinho para isso. Digite:

vim /etc/init.d/tomcat

No arquivo que abrir digite:

# Iniciando, parando e re inicando o tomcat
# processname: tomcat
# pidfile: /var/run/tomcat.pid

export JAVA_HOME=/usr/lib/jvm/java-6-sun

case $1 in
start)
sh /usr/local/tomcat/bin/startup.sh
;;
stop)
sh /usr/local/tomcat/bin/shutdown.sh
;;
restart)
sh /usr/local/tomcat/bin/shutdown.sh
sh /usr/local/tomcat/bin/startup.sh
;;
esac
exit 0

Salve mude as permissões deste arquivo para que ele seja executável, digitando:

sudo chmod 755 /etc/init.d/tomcat

e voilá!!!! Pode correr para o abraço. Não? Já sei, lembrou do auto-start. Aquela coisa que acontece quando a máquina é deligada e ligada novamente. Foi isso?… Bom para isso você pode criar dois links dinâmicos nos diretórios rc

sudo ln -s /etc/init.d/tomcat /etc/rc1.d/K99tomcat
sudo ln -s /etc/init.d/tomcat /etc/rc2.d/S99tomcat

Agora sim. Satisfeito? Eu não! Ainda falta o PhpJavaBridge.

Para instalar o phpJavaBridge baixe o componente

wget http://sourceforge.net/projects/php-java-bridge/files/Binary%20package/php-java-bridge_5.5.4.1_documentation.zip

e descomprima-o (esse verbo existe???);

unzip php-java-bridge_5.5.4.1_documentation.zip

Você precisa mover o javabridge.war para o lugar certo. Este é o arquivo que contém os milagres digo, arquivos para executar o PhpJavaBridge.

sudo mv php-java-bridge_5.5.4.1_documentation/JavaBridge.war  /usr/local/tomcat/webapps

Re inicie o seu TomCat… como é mesmo? Lembrei…

sudo /etc/init.d/tomcat restart

Viaje até a página inicial do seu TomCat e clique no link Tomcat Manager ou digite http://localhost:8080/manager/html

Pediu senha? Desculpe, tinha esquecido disto antes de entrar nesta página você tem que criar um usuário do TomCat com direito de administrador. Viu como é fácil? Digite:

sudo /usr/local/tomcat/conf/tomcat-users.xml

e adicione as linhas a seguir antes de </tomcat-users>

<role rolename=”manager”/>
<user username=”admin” password=”*coisa*” roles=”manager”/>

Salve e re inicie o TomCat

sudo /etc/init.d/tomcat restart

Agora sim viaje até http://localhost:8080/manager/html use o usuário adim e a password coisa.

Você verá uma lista de aplicativos instalados no seu TomCat, entre eles o JavaBridge, clique neste link e teste todos os exemplos.

Pronto agora você já pode chamar seus relatórios feitos no Birt de dentro do php. Coisa de gente grande… ou chata… ou muito deseperada. :)

Pausa para mais cinco cervejas geladas, mais duas horas de sol e mulher bonita…. e vamos a luta. Semana que vem mostro como instalar o Birt Viewer. É fácil, muito fácil. Pelo sim, pelo não já compre uma meia dúzia de cervejas e bote para gelar.

Uma última observação. Antes de partir para a ignorância e instalar na mão, depois de ler uma dúzia de tutoriais eu tentei usar os pacotes do ubuntu e, em nenhuma das versões do ubuntu eu consegui botar o tal do phpJavaBridge para funcionar se você conseguir isso partindo dos pacotes oficiais eu ficaria muito feliz em saber como…:)

Birt, TomCat e phpJavaBridge tudo junto rodando no Ubuntu by

Deixe uma resposta