Installer JasperServer sur Linux Debian
Posted on Saturday 15 January 2011, 12:15 - Décisionnel - Permalink Tweet
- Article
- |
- Comments(0)
- |
- Attachments(0)
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 :
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
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.
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