User Tools

Site Tools


jasperreports_systems_administrator_guide

This is an old revision of the document!


JasperReports Systems Administrator Guide

Install Dependencies

Java Development Kit

Unless you want to not use the bundled Tomcat and PostgreSQL then the only dependency to install is the Java Development Kit (JDK). The JasperSoft Platform Support Guide is the best place to look to decide what version to install. The JDK version 8 is our preferred choice at more recent Java are still only use to runtime only and need version 8 compatibility for compiling reports.

Microsoft Visual C++ Redistributable

If installing on a fresh server with nothing else installed there is a likely chance you stumble upon the following error during installation without .

There has been an error.
Error running initdb.exe -U postgres -E UTF8 -D
C:/JASPER~2/JASPER~1.0/POSTGR~1/data: child killed: unknown
signal
The application will exit now.

The most likely cause for this is detailed in https://community.jaspersoft.com/wiki/windows-643-and-71-bundled-installers-crashes-upon-running-initdbexe-due-missing-msvcr100dll

In short, the system is missing the Microsoft Visual C++ Redistributable. Which version will depend on which version of JasperServer you are trying to install. The most recent major versions of JasperServer are included here.

Install JasperServer

Download the latest version of the JasperServer and run the executable. The bundled PostgreSQL and Tomcat is usually used to make installation a breeze.

Configuration Notes

Most default configuration settings are used. Some exceptions are detailed below.

In production some reports require the following configuration to be changed to run stored procedures. Locate the file C:\Jaspersoft\jasperreports-server-VERSION\apache-tomcat\webapps\jasperserver-pro\WEB-INF\classes\esapi\security-config.properties and set the following

security.validation.sql.on=false

Integration with Pacific EMIS

To effectively integrate the JasperReport server with the Pacific EMIS you need to make sure the relevant part of the Web.Config is edited accordingly (i.e. jasperUrl, jasperUser, jasperPass). This would likely be different whether you are working in development or deploying to production.

  <appSettings>
    <add key="server" value="localhost" />
    <add key="database" value="fedemis-test" />
    <add key="context" value="fedemis" />
    <add key="title" value="FedEMIS Online" />
    <add key="ReportServerUrl" value="http://localhost:8080/reportserver" />
    <add key="jasperUrl" value="http://localhost:8082/jasperserver" /> <!-- Reports feature will not work unless JasperServer deployed correctly -->
    <add key="jasperUser" value="jasperadmin" />
    <add key="jasperPass" value="jasperadmin" />
    <add key="FileDb" value="c:\files\filedb" /> <!-- This must be set with folder created on filesystem or documents feature will not work -->
  </appSettings>

Helical Notes

This is merely a dump from Helical documentation notes. Needs cleanup.

Folder Structure

  • Images This Folder Includes all the images which we used in all the .jrxml file,If we used any new image in report so need to add that in Images Folder and image path in the report should be this folder image path.
  • Templates This Folder includes all the .jrtx files which is used to apply particular styles in reports.
  • Indicators Their is Two sub folder in Indicators
    • Indicators Report National This folder includes all .jrxml files related Indicators by Nation
    • Indicators Report by State This folder includes all .jrxml files related Indicators by State
  • School It contains one sub folder and few other individual reports
    • School Report Card This folder includes all .jrxml files related to School Report Card
  • Schools This folder includes all .jrxml files related to Schools
  • Students This folder includes all .jrxml files related to Students
  • Teacher This folder includes all .jrxml files related to Teacher
  • Teachers Their is Two sub folder in Indicators
    • Teachers Report by Summary This folder includes all .jrxml files related Teachers reports by Nation
    • Teachers report by Nation This folder includes all .jrxml files related Teachers reports by State

SQL Property Update: We need to disable the SQL validation property Path: …\<Jasper Server>\apache-tomcat\webapps\jasperserver\WEB-INF\classes\esapi File Name: security-config.properties Property: security.validation.sql.on Update the above property to false and restart the server

Required Libraries:

  • font-extension.jar: It is used to support the new custom fonts in jasper server
  • reporting-1.0.jar: This jar is used for chart customizer to customize the chart colors
  • sqljdbc4-2.0.jar: This is used for creating jdbc connection. We can add this driver in both Jasper server and Jaspersoft studio if sql jdbc driver not imported

Add both the jar files in jasper server library folder Path: …\<Jasper Server>\apache-tomcat\webapps\jasperserver\WEB-INF\lib

Restart the server

You also need to install open-sans fonts in Windows and Jasper:

  • Go to Window → Preferences → Jaspersoft Studio → Fonts. Click on Add from path and select the zip file.
  • Install in JasperSoft Studio

Backing Up

To fully backup the JasperServer one must backup at least two things carefully:

  • The repository of object. This can be automated or exported from the user interface
  • The keystore. These are typically two encrypted files containing security keys necessary for the secure and good functioning of the server.

Both are detailed below.

Scheduling Data Exports

While the preparations here are not necessary for whole platform backups they are important for data backups. You need to setup Windows Scheduled Tasks to export to JasperReports backups as shown below. The user is the admin user of the computer (or another user with enough permissions)

You will need to install the JDK (and not just the JRE) for the JasperServer buildomatic scripts to work. Then set JAVA_HOME environment variable to its location.

Configured to run daily at night.

Execute the script to backups the whole JasperServer.

  • Program/Script: js-export.bat
  • Add Arguments (optional): –everything –output-zip “C:\EMIS\jasperserver_repository_data_backup.zip”
  • Start in (optional): C:\Jaspersoft\jasperreports-server-cp-7.2.0\buildomatic\

Finally, you need to setup a SQL Server task to execute daily backups. From within SQL Management Studio you can easily create such task as shown below.

Keystore Backup

The keystore is usually only accessible by its owner, the one who deployed the JasperServer. The files are usually something like these:

  • C:\Users\Administrator\.jrsks
  • C:\Users\Administrator\.jrsksp

Make sure the password to access those–usually defined at installation–is not lost. And make to securely backup of those files. Perhaps special access permission will be needed as by default those files are accessible by Administrator who setup the JasperServer only. If a backup system uses another user (e.g. backuppc) then that user will need to be given explicit permission to access those files to back them up.

Catalog Restoration

With a backed up catalog (export.zip) and the keystore files (.jrsks and .jrsksp) you should be able to restore (import) all data from the backup.

First you'll need to manipulate the keystore. The .jrsks is Java keystore file and .jrsksp contains the keystore properties Base64 encoded. Read the .jrsksp file using following command and open the resulting text file in notepad.

> certutil -decode <path-to-file>/.jrsksp <path-to-file>/jrsksp.txt

You'll be interested in the following fields:

  • ksPwd: the keystore password
  • importExportEncSecret.keypass: the password for the key with alias importExportEncSecret. This is the key uses for encrypting exports and imports operations.

They are both base64 encoded in there also so you can decode them using the website https://www.base64decode.org/.

At this point you can access the keystore and the key. Provided you have downloaded your backed up keystore files somewhere on the new server (e.g. c:\Users\Administrator\Downloads\keys\) you could do things like list all keys in the store.

>keytool -v -list -storetype jceks -keystore C:\Users\Administrator\Downloads\keys\.jrsks

Or list only the key of interest.

>keytool -v -list -storetype jceks -keystore C:\Users\Administrator\Downloads\keys\.jrsks -alias importexportencsecret

I have found useful to temporarily change the passwords as using it later cause me more problem then I wanted to solved (special characters not handling well on the windows command line).

Change password of the keystore.

>keytool -v -storepasswd -storetype jceks -keystore C:\Users\Administrator\Downloads\keys\.jrsks

Change password of the key of interest.

>keytool -v -keypasswd -storetype jceks -keystore C:\Users\Administrator\Downloads\keys\.jrsks -alias importexportencsecret
After manipulating the keystore you might hav to restart the JasperServer.

Changing the password made it easier to import and override the key in the new keystore generated from a fresh installation on the new server. Note that the only key being imported and in effect overriding the default one of the new installation is the importExportEncSecret key.

C:\Jaspersoft\jasperreports-server-cp-8.2.0\buildomatic>js-import.bat --input-key --keystore C:\Users\Administrator\Downloads\keys\.jrsks --storepass temporarypasswd --keyalias importExportEncSecret --keypass temporarypasswd

Then in the JasperAdmin you should now be able to import the backed up catalog (i.e. export.zip) as normal as shown in the following figure.

There are actually a few different ways to handle backup and restores with more recent and secure JasperServer versions. More details can be found in the guide JasperReport Server Security Guide.

jasperreports_systems_administrator_guide.1711160499.txt.gz · Last modified: 2024/03/23 02:21 by ghachey