Blog Pro de Jean-Baptiste HEREN

Notes d'un consultant Freelance en Informatique

To content | To menu | To search

Installer JasperServer sur Linux Debian

JasperServer est la solution open source de BI & reporting la plus aboutie à ce jour. Cette solution comprend l'ensemble des outils nécessaire à la mise en place d'une solution décisionnelle professionnelle.

Nous allons voir ici quelles sont les étapes pour installer jasper server manuellement. Ceci est utile en particulier si vous disposez déjà d'un mysql et/ou d'un tomcat installés sur votre machine.

1- Téléchargement du paquet "JasperServer WAR install"

Ce paquet contient le portail Jasper, mysql et l'outil de développement de rapports. rendez-vous chez jasperForge ou directement sur sourceforge.

Connectez vous en tant qu'administrateur (root)

[script]
# unzip ./jasperserver-ce-3.7.1.bin.zip
# cd jasperserver-ce-3.7.1.bin/
# ls
apache-ant   jasperserver.war  samples
buildomatic  license.txt       scripts
docs	     releaseNotes.txt  Third-Party-Notices.pdf

2- Installation du serveur d'application Web

Ici nous installerons Tomcat5, il est également possible de réaliser l'installation avec JBoss, par exemple.

[script]
# apt-get install sun-java6-jdk tomcat5.5 tomcat5.5-admin tomcat5.5-webapps

Si l'installation s'est bien déroulée, une connexion du navigateur web à l'adresse http://localhost:8180/ devrait vous afficher ceci : 01_-_tomcat_home.png

Il nous faut maintenant configurer un compte admin pour tomcat

[script]
# vim /var/lib/tomcat5.5/conf/tomcat-users.xml

Modifiez le mot de passe par défaut de tomcat et ajoutez les rôles admin & manager.

[xml]
<?xml version='1.0' encoding='utf-8'?>
<tomcat-users>
  <role rolename="tomcat"/>
  <role rolename="manager"/>
  <role rolename="admin"/>
  <user username="tomcat" password="tomcat" roles="tomcat,admin,manager"/>
</tomcat-users>

Modifier les paramètres de la VM pour jasperserver. En effet, les paramètres par défaut ne sont pas suffisants...

[script]
# vim /usr/share/tomcat5.5/bin/setclasspath.sh 

Puis on ajoute la variable JAVA_OPTS, juste aprés le JAVA_ENDORSED_DIRS.

[script]
# Set the default -Djava.endorsed.dirs argument
JAVA_ENDORSED_DIRS="$BASEDIR"/common/endorsed

# JBH - Parameters for JasperServer to work fine
export JAVA_OPTS="$JAVA_OPTS -Xms128m -Xmx512m -XX:PermSize=32m -XX:MaxPermSize=128m -Xss2m -XX:+UseConcMarkSweepGC -XX:+CMSClassUnloadingEnabled -XX:+CMSPermGenSweepingEnabled"

Copier le connecteur jdbc mysql depuis le dossier d'installation

[scripts]
 cp scripts/drivers/mysql/jdbc/mysql-connector-java-5.1.10.jar /usr/share/tomcat5.5/common/lib/

Redémarrer le server afin de prendre en compte nos modifications

[script]
# /etc/init.d/tomcat5.5 restart
Stopping Tomcat servlet engine: tomcat5.5.
Starting Tomcat servlet engine: tomcat5.5.

Nous pouvons maintenant nous connecter au manager Tomcat en utilisant les login/pass de l'utilisateur tomcat. Pour cela, rendez-vous à l'adresse http://localhost:8180/manager/html 02_-_tomcat_manager.png

3- préparation de mysql avec buildomatic

[script]
# cd buildomatic
# cp sample_conf/inst-mysql_master.properties default_master.properties
# /etc/init.d/tomcat stop
# vim default_master.properties

Changes configuration values to :

[script]
# application server type (default is tomcat6)
appServerType = tomcat5

# Tomcat app server root dir
appServerDir = /var/lib/tomcat5.5/

# database type
dbType=mysql

# database location and connection settings
dbHost=localhost
dbUsername=root
dbPassword=password #set your own password

Nous allons maintenant regénérer les paramètres de buildomatic.

[script]
 ./js-ant clean-config
./js-ant gen-config

Nous allons maintenant exécuter les tâches de création de la base jasperserver

[script]
debianlamp:/home/jb/jasper/jasperserver-ce-3.7.1-bin/buildomatic# ./js-ant create-js-db
Buildfile: build.xml

create-js-db:
     [echo] create database, js.dbName = jasperserver
      [sql] Executing commands
      [sql] 1 rows affected
      [sql] 1 of 1 SQL statements executed successfully

BUILD SUCCESSFUL
Total time: 3 seconds

Les commandes suivantes créent le paramêtrage par défaut (users)

[script]
# ./js-ant init-js-db-ce 
# ./js-ant import-minimal-ce

En option, la création et le chargement des bases de démonstration

[script]
# ./js-ant create-sugarcrm-db
# ./js-ant create-foodmart-db
# ./js-ant load-sugarcrm-db
# ./js-ant load-foodmart-db
# ./js-ant update-foodmart-db
# ./js-ant import-sample-data-ce

Puis le déploiement vers tomcat (le serveur doit être inactif).

[script]
 # ./js-ant deploy-webapp-ce
Buildfile: build.xml

init-source-paths:
     [echo]  
     [echo] Property values (in dev.xml: init-source-paths): 
     [echo]   js-path = ${js-base-path}
     [echo]   js-pro-path = ${js-pro-base-path}
     [echo]   repo-path = ${repo-path}
     [echo]  

set-ce-webapp-name:
     [copy] Copying 1 file to /home/jb/jasper/jasperserver-ce-3.7.1-bin/buildomatic/build_conf/default
     [copy] Copying 1 file to /home/jb/jasper/jasperserver-ce-3.7.1-bin/buildomatic/build_conf/default/webapp/WEB-INF

deploy-jdbc-jar:
     [copy] Copying 1 file to /var/lib/tomcat5.5/common/lib

deploy-webapp:
     [echo]  
     [echo] Property values (in install.xml: deploy-webapp): 
     [echo]  jsEdition = ce
     [echo]  warFileDistSourceDir = /home/jb/jasper/jasperserver-ce-3.7.1-bin/buildomatic/../jasperserver.war
     [echo]  warTargetDir = /var/lib/tomcat5.5/webapps/jasperserver
     [echo]  webAppName = jasperserver
     [echo]  webAppNameCE = jasperserver
     [echo]  webAppNamePro = jasperserver-pro
     [echo]  webAppNameSrc = jasperserver 
     [echo]  webAppNameDel = jasperserver
     [echo]  warTargetDirDel = /var/lib/tomcat5.5/webapps/jasperserver
     [echo]  
     [copy] Copying 1013 resources to /var/lib/tomcat5.5/webapps/jasperserver
     [copy] Copying 4 files to /var/lib/tomcat5.5/webapps/jasperserver
   [delete] Deleting directory /var/lib/tomcat5.5/work/Catalina/localhost/jasperserver

deploy-webapp-ce:

BUILD SUCCESSFUL
Total time: 25 seconds

Réglages de Tomcat

Lien symbolique vers la config de jasperserver dans /etc

[script]
cd /etc/tomcat5.5/Catalina/localhost
ln -s /usr/share/tomcat5.5/webapps/jasperserver/META-INF/context.xml ./jasperserver.xml

Ajout des policies pour jasperserver

[script]
# vi /etc/tomcat5.5/policy.d/04webapps.policy

On ajoute la partie suivante dans la section grant codeBase "file:${catalina.home}/bin/tomcat-juli.jar" {

[script]
   permission java.io.FilePermission "/usr/share/tomcat5.5/webapps/jasperserver/WEB-INF/classes/logging.properties", "read";
//

Il faut editer ensuite le fichier
///[script]
# vi /etc/tomcat5.5/policy.d/50user.policy

Ajouter la définition suivante :

[script]
grant codeBase "file:/usr/share/tomcat5.5/webapps/jasperserver/-" {
    permission java.security.AllPermission;
};

Mise en place des logs dans le dossier /var/log/tomcat5.5/

[scripts]
 vim /var/lib/tomcat5.5/webapps/jasperserver/WEB-INF/log4j.properties
[sript]
...
log4j.appender.fileout.File=/var/log/tomcat5.5/jasperserver.log
...
log4j.appender.jasperanalysis.File=/var/log/tomcat5.5/jasperanalysis.log

4- Démarrage de JasperServer

Nous pouvons maintenant démarrer tomcat

[script]
# /etc/init.d/tomcat5.5 start

Puis nous connecter à jasperserver à l'adresse http://localhost:8180/jasperserver/, si tout s'est bien passé, vous devriez voir la fenêtre de connexion. 03_-_jasperserver_Home.png

les login par défaut de l'administrateur sont jasperadmin/jasperadmin.

Problèmes éventuels

Si l'application n'a pas démarré, vous pouvez consulter, en autres la log jasperserver configurée plus haut:

[script]
cat /var/log/tomcat5.5/jasperserver.log

Problèmes de sécurité dans les logs Cantala.

Sous Debian, TOMCAT peut poser un problème de sécurité, même aprés l'ajout des policies plus haut, il est possible qu'un problème subsiste. Si c'est le cas, vous pouvez désactiver le JSM (Java Security Manager) en modifiant la valeur TOMCAT5_SECURITY dans le fichier suivant :

[script]
# vim /etc/default/tomcat5.5 

Modifiez la valeur du TOMCAT5_SECURITY comme suit :

[script]
# Use the Java security manager? (yes/no, default: yes)
# WARNING: Do not disable the security manager unless you understand
# the consequences!
# NOTE: java-gcj-compat-dev currently doesn't support a security
# manager.
TOMCAT5_SECURITY=no
Jean-Baptiste Heren

Author: Jean-Baptiste Heren

Stay in touch with the latest news and subscribe to the RSS Feed about this category

Comments are closed


no attachment



You Might Also Like

result_crosstab.png

Cognos Report : Display a different measure in row for the aggregated column

Following tip is when you use a Relational Datamodel (DMR). In a Cognos Report crosstab, If You need to Display different measure in the aggregated column, you can do it using a simple if-then-else...

Continue reading

Cognos 8 - convert a member unique name from one hierarchy to another

If you need to build any report or Event studio Query using the same data from different packages; and you want to prompt just once. You can convert the member unique name from one hierarchy to...

Continue reading