GNU/Linux >> Tutoriels Linux >  >> Panels >> Panels

Comment installer JasperReports sur Ubuntu 20.04

JasperReports est un outil de reporting Java open source, un serveur de reporting autonome et intégrable. JasperReports est une bibliothèque de classes Java, les développeurs Java qui ont besoin d'ajouter des fonctionnalités de création de rapports à leurs applications utilisent cet outil. Il fournit des rapports et des analyses et est capable de générer des rapports professionnels comprenant des images, des graphiques et des graphiques. Certaines des principales fonctionnalités de JasperReports incluent :

  • Capacités d'exportation
  • Plusieurs sources de données
  • Plusieurs façons de présenter les données
  • Plusieurs façons de fournir des données
  • Sous-rapports
  • Filigranes

Dans ce tutoriel, nous allons vous montrer comment installer le serveur Jasper Reports sur Ubuntu 20.04.

Prérequis

  • Ubuntu 20.04 avec au moins 4 Go de RAM
  • Accès racine SSH ou utilisateur système normal avec privilèges sudo

Étape 1. Connectez-vous au serveur

Tout d'abord, connectez-vous à votre serveur Ubuntu 20.04 via SSH en tant qu'utilisateur root :

ssh root@IP_Address -p Port_number

Vous devrez remplacer 'IP_Address' et 'Port_number' par l'adresse IP et le numéro de port SSH respectifs de votre serveur. De plus, remplacez "root" par le nom d'utilisateur de l'utilisateur système avec les privilèges sudo.

Vous pouvez vérifier si vous avez la bonne version de Debian installée sur votre serveur avec la commande suivante :

$ lsb_release -a

Vous devriez obtenir ce résultat :

No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 20.04.3 LTS
Release: 20.04
Codename: focal

Avant de commencer, vous devez vous assurer que tous les packages du système d'exploitation Ubuntu installés sur le serveur sont à jour. Vous pouvez le faire en exécutant les commandes suivantes :

$ sudo apt update -y
$ sudo apt upgrade -y

Étape 2. Installer les dépendances

Afin d'installer Jasper Reports pour un serveur de production, nous allons l'installer manuellement au lieu d'utiliser le programme d'installation. Pour continuer, nous devons avoir au moins la version 8 de Java pour pouvoir exécuter Tomcat 9 que nous allons installer à l'étape suivante. Exécutons la commande ci-dessous pour installer la version 11 du JDK par défaut, qui est disponible sur les référentiels Ubuntu 20.04 intégrés à l'aide de la commande suivante :

$ sudo apt install default-jdk unzip wget -y

Étape 3. Créer un utilisateur système

Il n'est pas recommandé d'exécuter Tomcat en tant que root, donc pour des raisons de sécurité, nous allons créer un nouvel utilisateur système pour exécuter Tomcat.

$ sudo useradd -r tomcat -m -d /opt/tomcat --shell /bin/bash

Vérifiez le chemin de la maison de Tomcat en exécutant cette commande :

Étape 4. Installez MariaDB

Ensuite, nous allons installer le serveur MariaDB à partir du référentiel. Pour cela, lancez simplement la commande suivante :

$ sudo apt install mariadb-server

MariaDB s'exécutera lors de l'installation, créons maintenant un utilisateur MySQL avec tous les privilèges.

MariaDB [(none)]> grant all on *.* to master@localhost identified by 'm0d1fyth15';
MariaDB [(none)]> flush privileges;

Étape 5. Installez Tomcat

Dans cette étape, nous allons installer Tomcat et l'exécuter sous l'utilisateur "tomcat" que nous avons créé précédemment. Lors de la rédaction de ce tutoriel, le dernier Tomcat stable à télécharger est la version 9.0.62. Vous pouvez aller sur https://tomcat.apache.org/download-90.cgi et vérifier s'ils publient la version la plus récente. Pour procéder à l'installation, téléchargeons d'abord le fichier de distribution binaire.

$ su - tomcat
$ wget https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.62/bin/apache-tomcat-9.0.62.tar.gz -O tomcat-9.0.62.tar.gz

Tomcat sera installé dans le répertoire /opt/tomcat, le répertoire lui-même a déjà été créé lors de la création de l'utilisateur 'tomcat' à l'étape précédente. Extrayons maintenant le fichier téléchargé.

$ tar -xzvf tomcat-9.0.62.tar.gz -C /opt/tomcat --strip-components=1

Maintenant, quittez l'utilisateur 'tomcat' et revenez à la racine ou à votre utilisateur sudo.

$ exit

Créons un fichier de service systemd pour Tomcat.

$ sudo nano /etc/systemd/system/tomcat.service

Collez ce qui suit dans le fichier de service systemd, puis enregistrez-le.

[Unit]
Description=Apache Tomcat
After=network.target

[Service]
Type=forking

User=tomcat
Group=tomcat

Environment=JAVA_HOME=/usr/lib/jvm/java-1.11.0-openjdk-amd64
Environment=CATALINA_PID=/opt/tomcat/tomcat.pid
Environment=CATALINA_HOME=/opt/tomcat
Environment=CATALINA_BASE=/opt/tomcat
Environment="CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC"

ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/opt/tomcat/bin/shutdown.sh

ExecReload=/bin/kill $MAINPID
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target

Enregistrez le fichier et rechargez systemd.

$ sudo systemctl daemon-reload

Nous n'allons pas démarrer Tomcat maintenant, alors ne lançons pas Tomcat pour le moment.

Étape 6. Téléchargez et déployez JasperReports

Dans cette étape, nous allons télécharger le fichier compressé du serveur Jasper Reports et l'installer manuellement. Lors de la rédaction de cet article, la dernière version disponible est la 8.0.0. Vous pouvez vérifier s'ils ont la version la plus récente sur https://sourceforge.net/projects/jasperserver/files/JasperServer/.

$ su - tomcat
$ wget https://sourceforge.net/projects/jasperserver/files/JasperServer/JasperReports%20Server%20Community%20edition%208.0.0/TIB_js-jrs-cp_8.0.0_bin.zip/download -O jasperreports_8.0.0.zip

Une fois téléchargé, nous pouvons l'extraire directement.

$ unzip jasperreports_8.0.0.zip

Le serveur Jasper Reports prend en charge les serveurs PostgreSQL, MySQL, Oracle, DB2 et SQL. Dans cet article, nous allons utiliser MySQL (MariaDB) et nous l'avons déjà installé. Pour continuer avec le fichier de configuration du rapport Jasper, copions d'abord l'exemple de fichier de configuration.

Copions /opt/jasperreports-server-cp-8.0.0-bin/buildomatic/sampe-conf/mysql.master_properties vers buildomatic en tant que default_master.properties

$ cp jasperreports-server-cp-8.0.0-bin/buildomatic/sample_conf/mysql_master.properties jasperreports-server-cp-8.0.0-bin/buildomatic/default_master.properties

Dans ce fichier, nous devons définir ou modifier le paramètre existant avec les valeurs suivantes.

CATALINA_HOME = /opt/tomcat
CATALINA_BASE = /opt/tomcat

dbHost=localhost
dbUsername=master
dbPassword=m0d1fyth15

encrypt = true

Enregistrez le fichier puis quittez. Assurez-vous que l'utilisateur et le mot de passe de la base de données MySQL sont corrects. Cela devrait ressembler à ceci.

Ensuite, entrons dans le répertoire buildomatic et exécutons le fichier exécutable js-install-ce.sh. Avant d'exécuter ce fichier exécutable, assurez-vous que Tomcat n'est PAS en cours d'exécution.

$ cd jasperreports-server-cp-8.0.0-bin/buildomatic/
$ ./js-install-ce.sh

Cela créera des bases de données et déploiera le serveur jasper dans Tomcat.

Ensuite, éditons le fichier /opt/tomcat/conf/catalina.policy.

$ nano /opt/tomcat/conf/catalina.policy

Insérez ce qui suit dans le fichier.

grant codeBase "file:/groovy/script" {
    permission java.io.FilePermission "${catalina.home}${file.separator}webapps${file.separator}
    jasperserver-pro${file.separator}WEB-INF${file.separator}classes${file.separator}-", "read";
    permission java.io.FilePermission "${catalina.home}${file.separator}webapps${file.separator}
    jasperserver-pro${file.separator}WEB-INF${file.separator}lib${file.separator}*", "read";
    permission java.util.PropertyPermission "groovy.use.classvalue", "read";
};

Enregistrez le fichier puis quittez.

Ensuite, nous devons également modifier le fichier applicationContext.xml.

$ nano /opt/tomcat/webapps/jasperserver/WEB-INF/applicationContext.xml

Insérez-les dans la liste reportsProtectionDomainProvider.

<bean id="reportsProtectionDomainProvider" class="com.jaspersoft.jasperserver.api.
engine.jasperreports.util.PermissionsListProtectionDomainProvider">
<property name="permissions">
<list>
    <bean class="java.io.FilePermission">
        <constructor-arg value="${catalina.home}${file.separator}webapps
        ${file.separator}jasperserver-pro${file.separator}
        WEB-INF${file.separator}classes${file.separator}-"/>
        <constructor-arg value="read"/>
    </bean>
    <bean class="java.io.FilePermission">
        <constructor-arg value="${catalina.home}${file.separator}webapps
        ${file.separator}jasperserver-pro${file.separator}WEB-INF
        ${file.separator}lib${file.separator}*"/>
        <constructor-arg value="read"/>
    </bean>
</list>
</property>
</bean>

Cela devrait ressembler à l'image ci-dessous.

Une fois terminé, vous pouvez démarrer Tomcat et attendre quelques instants jusqu'à ce que tout fonctionne.

$ sudo systemctl start tomcat

Ensuite, vous pouvez accéder à http://YOUR_SERVER_IP_ADDRESS:8080/jasperserver/ pour accéder à JasperReports Server à l'aide des identifiants de connexion par défaut.

username: jasperadmin
password: jasperadmin

Étape 7. Configurer le proxy inverse

Étant donné que Tomcat s'exécute sur son port par défaut 8080, nous devons configurer un proxy inverse pour pouvoir y accéder sur le port 80 ou 443. Dans cette étape, nous allons installer nginx et le configurer en tant que proxy inverse pour les rapports Jasper. serveur.

$ sudo apt install nginx

Dans Ubuntu 20.04, nginx commencera à s'exécuter lors de l'installation. Il est maintenant temps de créer un bloc serveur pour notre serveur Jasper Reports.

$ sudo nano /etc/nginx/conf.d/jasperreports.conf

Insérez la configuration suivante dans le fichier.

upstream tomcat {
    server 127.0.0.1:8080 weight=100 max_fails=5 fail_timeout=5;
    }

server {
    server_name jasperserver.rosehosting.com;

location = / {
    return 301 http://jasperserver.rosehosting.com/jasperserver/;
    }

location / {
    proxy_set_header X-Forwarded-Host $host;
    proxy_set_header X-Forwarded-Server $host;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_pass http://tomcat/;
    }
}

Maintenant, redémarrez le service nginx. N'oubliez pas de tester la configuration avant de la redémarrer.

$ sudo nginx -t

Si aucune erreur n'est détectée, nous sommes prêts à le redémarrer.

$ sudo systemctl restart nginx

Étape 8. Installer le certificat SSL

Cette étape est facultative mais fortement recommandée. Dans cette ère moderne, les sites Web doivent fonctionner en HTTPS au lieu de HTTP. Les étapes suivantes vous montreront comment installer les certificats SSL de Let's Encrypt.

$ sudo apt install certbot python3-certbot-nginx -y

Une fois installé, modifiez le bloc de serveur nginx de votre site Web Jasper Report et remplacez le nom_serveur par votre domaine ou sous-domaine réel pointé vers l'adresse IP de votre serveur. Assurez-vous que l'enregistrement DNS du domaine ou du sous-domaine pointe déjà vers votre serveur avant d'émettre le certificat SSL.

Si vous apportez des modifications au bloc du serveur nginx, assurez-vous de tester la configuration nginx avant de le redémarrer :

$ sudo nginx -t
$ sudo systemctl restart nginx

Maintenant, nous sommes prêts à installer le certificat SSL, exécutez cette commande :

$ sudo certbot

Vous devrez fournir votre adresse e-mail, accepter les conditions d'utilisation de Let's Encrypt et indiquer si vous souhaitez ou non partager votre adresse e-mail avec l'Electronic Frontier Foundation. Ensuite, vous devez choisir les noms pour lesquels vous souhaitez activer HTTPS. Choisissez votre site Web Django en tapant le numéro et en appuyant sur ENTRÉE. Let's encrypt installera le certificat et il vous demandera si vous souhaitez configurer la redirection HTTP vers HTTPS ou non, vous pouvez choisir la redirection, puis certbot créera la redirection et rechargera Nginx si tout va bien.

Vous devriez maintenant pouvoir accéder à votre site Web Jasper Reports en mode HTTPS à l'adresse https://yourjasperreportdomain.com.

Toutes nos félicitations! Vous avez installé avec succès Jasper Reports Server sur Ubuntu 20.04.

Bien sûr, si vous êtes l'un de nos clients d'hébergement Ubuntu, vous n'avez pas à installer Jasper Reports Server sur Ubuntu 20.04 par vous-même - demandez simplement à nos administrateurs, asseyez-vous et détendez-vous. Nos administrateurs vont immédiatement Jasper Reports Server sur Ubuntu 20.04 pour vous, ainsi que de nombreuses optimisations utiles que nous pouvons faire pour vous. L'installation de Jasper Reports Server sur Ubuntu 20.04 n'est pas qu'une question de travail, nous pouvons également vous aider à optimiser votre serveur Jasper Reports si vous avez un VPS géré avec nous.

Si vous avez aimé cet article sur l'installation de Jasper Reports Server sur Ubuntu 20.04, partagez-le avec vos amis sur les réseaux sociaux à l'aide des boutons de partage ci-dessous, ou laissez simplement un commentaire dans la section des commentaires. Merci.


Panels
  1. Comment installer Tomcat sur Ubuntu 18.04

  2. Comment installer Tomcat 8 sur Ubuntu 14.04

  3. Installer Tomcat 9 sur Ubuntu 16.04

  4. Comment installer Tomcat sur Ubuntu 18.04

  5. Comment installer Go sur Ubuntu 18.04

Comment installer Apache Tomcat 10 sur Ubuntu 20.04

Comment installer Apache Tomcat 10 sur Ubuntu 21

Comment installer Apache Tomcat sur Ubuntu 20.04 ?

Comment installer Apache Tomcat 8 sur Ubuntu 14.04

Comment installer Apache Tomcat sur Ubuntu 18.04

Comment installer Tomcat sur Ubuntu 20.04