Depuis la récente sortie de JasperReports Server en version 5.2, il est maintenant possible d’installer ce serveur de documents sur une base de données MariaDB en natif sans devoir installer un driver externe, je vais vous décrire toutes les étapes d’installation pour vous faciliter la tâche.
Introduction
Si vous avez lu mon précédent article sur cette excellente base de données qu’est MariaDB, vous aurez compris pourquoi cette installation est identique à une installation sur Mysql, pour rappel, cette DB a été conçue pour être 100% compatible. Jaspersoft profite donc de cette compatibilité pour ajouter le support d’une DB supplémentaire.
Bundle JasperServer
Pour installer JasperReports, Jaspersoft nous fourni un bundle d’installation complet composé de Java 1.7, Tomcat 7 et une base de données Postgres 9, cette installation est aisée et complétement automatique mais malheureusement beaucoup de personnes (moi y compris) souhaitent conserver la main sur le processus d’installation de l’outil, il est plus rassurant d’installer chaque composant un-à-un pour en assurer le suivi et la maintenance. Une autre raison évidente est le fait que certains ne connaissent purement est simplement pas Postgres et se sentent plus à l’aise avec une autre base de données qu’ils connaissent.
Voici les autres bases de données compatibles :
- Mysql (et donc MariaDB)
- PostgreSQL
- IBM DB2
- Oracle
- Microsoft SQL Server
But de l’article
L’installation manuelle n’est pas vraiment compliquée mais nécessite de nombreux téléchargements et de manipulations qui seront nécessaires pour « préparer » votre système d’exploitation à accueillir JasperReports, mon but sera de supprimer les téléchargements manuels en passant par apt-get mais aussi en fournissant toutes les commandes Linux relatives au paramétrage des pré-requis.
Système d’exploitation Ubuntu
Mon choix se porte sur cette distribution exploitée par beaucoup, je vous invite à lire mon article sur l’installation d’une VirtualBox si vous ne disposez pas d’un environnement Ubuntu prêt à l’emploi, j’explique comment installer une machine virtuelle basée sur Ubuntu 12.04, même si JasperSoft recommande la 10.04 dans sa documentation, je n’ai pas vu de bug ou de plantage dans son utilisation.
Installation des pré-requis
Je vais donc accélérer l’installation manuelle du WAR de JasperReports en fournissant un script automatique Ubuntu prêt à l’emploi.
Pour commencer l’installation, il faut trois éléments indispensables, décrit dans le Guide d’installation de Jasperserver
- Une machine virtuelle java et ses variables d’environnements
- Un serveur web avec les bons paramètres d’exécution
- Une base de données pour stocker le référentiel jasper et éventuellement les données (le stockage des données n’est pas recommandé)
Voici le lien de mon script complet pour l’installation et le paramétrage de chaque élément, il suffit de le lancer et Ubuntu fera le reste 😉
Pour se faire:
$sudo chmod 755 Pre_Install_Jasperserver.sh $ ./Pre_Install_Jasperserver.sh
Manuellement, les commandes à lancer sont les suivantes :
Java 1.7
#Java7 sudo add-apt-repository ppa:webupd8team/java sudo apt-get update sudo apt-get install oracle-java7-installer echo "JAVA_HOME=/usr/lib/jvm/java-7-oracle" | sudo tee -a /etc/environment source /etc/environment
Tomcat 7
#Tomcat7 sudo apt-get install tomcat7 tomcat7-admin sudo touch /usr/share/tomcat7/bin/setenv.sh echo JAVA_OPTS=\"-Xms1024m -Xmx2048m -XX:PermSize=32m -XX:MaxPermSize=128m -Xss2m -XX:+UseConcMarkSweepGC -XX:+CMSClassUnloadingEnabled\" | sudo tee -a /usr/share/tomcat7/bin/setenv.sh /etc/init.d/tomcat7 restart echo "CATALINA_HOME=/usr/share/tomcat7" | sudo tee -a /etc/environment echo "CATALINA_BASE=/var/lib/tomcat7" | sudo tee -a /etc/environment # able to start Tomcat7 with ubuntu starting echo "JAVA_HOME=/usr/lib/jvm/java-7-oracle" | sudo tee -a /etc/default/tomcat7 source /etc/environment
MariaDB
#MariaDB sudo apt-get install python-software-properties sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xcbcb082a1bb943db sudo add-apt-repository 'deb http://mariadb.cu.be//repo/5.5/ubuntu precise main' sudo apt-get update sudo apt-get install mariadb-server
Lors de l’installation de MariaDB, un mot de passe sera demandé, il devra être renseigné dans un fichier de configuration plus loin dans l’installation de JasperReports, vous pouvez encore gagner une modification en utilisant le mot de passe « password » par défaut.
Installation de JasperServer
C’est ici que l’installation proprement dite commence, téléchargez le WAR JasperServer et décompressez-le dans un répertoire quelconque. L’étape suivante consiste à modifier un fichier properties correspondant à votre base de données, il suffit d’ajouter les paramètres de connexion de la DB puis de le renommer avec un nom spécifique.
Le fichier à modifier qui nous intéresse est mysql_master.properties qui se trouve dans <js-install>/buildomatic/sample_conf, une fois modifié, placez-le dans le répertoire racine de sample_conf, c’est-à-dire <js-install>/buildomatic/
cd <js-install>/buildomatic/sample_conf sudo cp mysql_master.properties ../default_master.properties cd .. sudo nano default_master.properties
Laissez le serveur Tomcat7 déjà mis par défaut puis paramétrer ensuite son chemin d’installation, reste à définir le mot de passe de la DB choisi lors de l’installation de MariaDB.
Lancez maintenant l’installation de JasperReports Server avec la commande js-install.sh, il ne vous reste plus qu’à attendre le bon déroulement de l’opération 😉
Une fois que l’outil est installé, je vous conseille de redémarrer Tomcat pour pouvoir se connecter la première fois.
sudo service tomcat7 restart #ou bien sudo /etc/init.d/tomcat7 restart
Lancez un navigateur et taper l’url suivante: http://localhost:8080/jasperserver
Connectez-vous avec le login jasperadmin et mot de passe jasperadmin (ou bien avec superuser / superuser qui donne accès à des menus de configurations supplémentaires)
Conclusion
Vous voila maintenant prêt à exploiter le serveur de rapports de Jaspersoft, d’autres tutoriels viendront par la suite pour vous montrer quelques exemples d’utilisation, en attendant voici le lien de toute la documentation officielle disponible.
Notez que tout est déjà configuré pour redémarrer avec la machine, si vous décidez de l’installer sur un serveur qui sera mis en production, ce point est d’ores et déjà résolu 😉
Bonjour JS,
As-tu un peu de temps pour faire un tuto sur js-export –everthing –output-dir testexport.zip (JasperServer 4.5.0)?
J’ai un problème comme quoi je n’ai pas le fichier js.jdbc.properties… Je suppose qu’il faut générer le fichier mais, je n’ai pas non plus le fichier default_master.properties dans /jasper/jasperreports-server-cp-4.5.0-bin/buildomatic …
Je suis un peu perdu…
Merci d’avance.
Hello,
Concernant le backup de Jasper Reports, j’ai créé un script dédié qui peut être programmé dans une crontab, il suffit de modifier les paramètres correspondant à ta configuration.
S’il te manque des fichiers pour une version particulière, il suffit de télécharger l’archive de ta version disponible ici
Je te conseille fortement de migrer vers une version plus récente, le moteur étant plus performant et moins buggué 😉
Bon courage