JasperReports è uno strumento di reporting Java open source, un server di reporting autonomo e integrabile. JasperReports è una libreria di classi Java, gli sviluppatori Java che devono aggiungere funzionalità di reporting alle loro applicazioni utilizzano questo strumento. Fornisce report e analisi ed è in grado di generare report professionali inclusi immagini, grafici e grafici. Alcune delle principali funzionalità di JasperReports includono:
- Capacità di esportazione
- Più origini dati
- Molteplici modi per presentare i dati
- Molteplici modi per fornire i dati
- Sottoreport
- Filigrane
In questo tutorial, ti mostreremo come installare il server Jasper Reports su Ubuntu 20.04.
Prerequisiti
- Ubuntu 20.04 con almeno 4 GB di RAM
- Accesso root SSH o un normale utente di sistema con privilegi sudo
Passaggio 1. Accedi al server
Innanzitutto, accedi al tuo server Ubuntu 20.04 tramite SSH come utente root:
ssh root@IP_Address -p Port_number
Dovrai sostituire "Indirizzo_IP" e "Numero_porta" con il rispettivo indirizzo IP e numero di porta SSH del tuo server. Inoltre, sostituisci "root" con il nome utente dell'utente di sistema con privilegi sudo.
Puoi controllare se hai la versione Debian corretta installata sul tuo server con il seguente comando:
$ lsb_release -a
Dovresti ottenere questo output:
No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 20.04.3 LTS Release: 20.04 Codename: focal
Prima di iniziare, devi assicurarti che tutti i pacchetti del sistema operativo Ubuntu installati sul server siano aggiornati. Puoi farlo eseguendo i seguenti comandi:
$ sudo apt update -y $ sudo apt upgrade -y
Passaggio 2. Installa le dipendenze
Per installare Jasper Reports per un server di produzione, lo installeremo manualmente invece di utilizzare il programma di installazione. Per procedere con ciò, è necessario disporre almeno della versione 8 di Java per poter eseguire Tomcat 9 che installeremo nel passaggio successivo. Eseguiamo il comando seguente per installare JDK versione 11 predefinita, disponibile nei repository Ubuntu 20.04 integrati utilizzando il comando seguente:
$ sudo apt install default-jdk unzip wget -y
Passaggio 3. Crea un utente di sistema
Non è consigliabile eseguire Tomcat come root, quindi per motivi di sicurezza creeremo un nuovo utente di sistema per eseguire Tomcat.
$ sudo useradd -r tomcat -m -d /opt/tomcat --shell /bin/bash
Controlla il percorso della casa di Tomcat eseguendo questo comando:
Passaggio 4. Installa MariaDB
Successivamente, installeremo il server MariaDB dal repository. Per fare ciò, esegui semplicemente il seguente comando:
$ sudo apt install mariadb-server
MariaDB sarà in esecuzione al momento dell'installazione, ora creiamo un utente MySQL con privilegi completi.
MariaDB [(none)]> grant all on *.* to master@localhost identified by 'm0d1fyth15'; MariaDB [(none)]> flush privileges;
Passaggio 5. Installa Tomcat
In questo passaggio, installeremo Tomcat e lo eseguiremo con l'utente "tomcat" che abbiamo creato in precedenza. Quando si scrive questo tutorial, l'ultimo Tomcat stabile da scaricare è la versione 9.0.62. Puoi andare su https://tomcat.apache.org/download-90.cgi e verificare se rilasciano la versione più recente. Per procedere con l'installazione, scarichiamo prima il file di distribuzione binaria.
$ 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 verrà installato nella directory /opt/tomcat, la directory stessa è già stata creata durante la creazione dell'utente "tomcat" nel passaggio precedente. Estraiamo ora il file scaricato.
$ tar -xzvf tomcat-9.0.62.tar.gz -C /opt/tomcat --strip-components=1
Ora esci dall'utente 'tomcat' e torna al root o al tuo utente sudo.
$ exit
Creiamo il file di servizio systemd per Tomcat.
$ sudo nano /etc/systemd/system/tomcat.service
Incolla quanto segue nel file del servizio systemd, quindi salvalo.
[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
Salva il file e ricarica systemd.
$ sudo systemctl daemon-reload
Non avvieremo Tomcat ora, quindi non eseguiamo Tomcat in questo momento.
Passaggio 6. Scarica e distribuisci JasperReports
In questo passaggio, scaricheremo il file zippato del server Jasper Reports e lo installeremo manualmente. Quando si scrive questo articolo, l'ultima versione disponibile è 8.0.0. Puoi verificare se hanno la versione più recente su 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
Una volta scaricato, possiamo estrarlo direttamente.
$ unzip jasperreports_8.0.0.zip
Il server Jasper Reports supporta i server PostgreSQL, MySQL, Oracle, DB2 e SQL. In questo articolo useremo MySQL (MariaDB) e lo abbiamo già installato. Per procedere con il file di configurazione di Jasper Report, prima copiamo il file di configurazione di esempio.
Copiamo /opt/jasperreports-server-cp-8.0.0-bin/buildomatic/sampe-conf/mysql.master_properties in buildomatic come 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
In questo file, dobbiamo impostare o modificare l'impostazione esistente con i seguenti valori.
CATALINA_HOME = /opt/tomcat CATALINA_BASE = /opt/tomcat dbHost=localhost dbUsername=master dbPassword=m0d1fyth15 encrypt = true
Salva il file quindi esci. Assicurati che l'utente e la password del database MySQL siano corretti. Dovrebbe assomigliare a questo.
Quindi, entriamo nella directory buildomatic ed eseguiamo il file eseguibile js-install-ce.sh. Prima di eseguire questo file eseguibile, assicurati che Tomcat NON sia in esecuzione.
$ cd jasperreports-server-cp-8.0.0-bin/buildomatic/ $ ./js-install-ce.sh
Questo creerà database e distribuirà jasperserver in Tomcat.
Quindi, modifichiamo il file /opt/tomcat/conf/catalina.policy.
$ nano /opt/tomcat/conf/catalina.policy
Inserisci quanto segue nel file.
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"; };
Salva il file, quindi esci.
Quindi, dobbiamo anche modificare il file applicationContext.xml.
$ nano /opt/tomcat/webapps/jasperserver/WEB-INF/applicationContext.xml
Inseriscili nell'elenco ReportProtectionDomainProvider.
<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>
Dovrebbe apparire come nell'immagine qui sotto.
Una volta completato, puoi avviare Tomcat e attendere qualche istante fino a quando tutto è in esecuzione.
$ sudo systemctl start tomcat
Quindi, puoi accedere a http://YOUR_SERVER_IP_ADDRESS:8080/jasperserver/ per accedere al server JasperReports utilizzando le credenziali di accesso predefinite.
username: jasperadmin password: jasperadmin
Passaggio 7. Configura proxy inverso
Poiché Tomcat è in esecuzione sulla sua porta predefinita 8080, è necessario configurare un proxy inverso per potervi accedere sulla porta 80 o 443. In questo passaggio, installeremo nginx e lo configureremo come proxy inverso per Jasper Reports server.
$ sudo apt install nginx
In Ubuntu 20.04, nginx inizierà a funzionare al momento dell'installazione. Ora è il momento di creare un blocco server per il nostro server Jasper Reports.
$ sudo nano /etc/nginx/conf.d/jasperreports.conf
Inserisci la seguente configurazione nel file.
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/; } }
Ora riavvia il servizio nginx. Non dimenticare di testare la configurazione prima di riavviarla.
$ sudo nginx -t
Se non viene trovato alcun errore, siamo pronti per riavviarlo.
$ sudo systemctl restart nginx
Passaggio 8. Installa il certificato SSL
Questo passaggio è facoltativo ma altamente consigliato da completare. In questa era moderna, i siti Web dovrebbero essere eseguiti in HTTPS anziché HTTP. I seguenti passaggi ti mostreranno come installare i certificati SSL da Let's Encrypt.
$ sudo apt install certbot python3-certbot-nginx -y
Una volta installato, modifica il blocco del server nginx del tuo sito Web Jasper Report e sostituisci il server_name con il tuo dominio o sottodominio effettivo puntato all'indirizzo IP del tuo server. Assicurati che il record DNS del dominio o del sottodominio sia già indirizzato al tuo server prima di emettere il certificato SSL.
Se apporti modifiche al blocco del server nginx, assicurati di testare la configurazione di nginx prima di riavviarla:
$ sudo nginx -t $ sudo systemctl restart nginx
Ora siamo pronti per installare il certificato SSL, esegui questo comando:
$ sudo certbot
Dovresti fornire il tuo indirizzo e-mail, accettare i TOS Let's Encrypt e se desideri condividere o meno il tuo indirizzo e-mail con la Electronic Frontier Foundation. Quindi, devi scegliere per quali nomi desideri attivare HTTPS. Scegli il tuo sito web Django digitando il numero e premendo INVIO. Let's encrypt installerà il certificato e ti chiederà se configurare il reindirizzamento da HTTP a HTTPS o meno, puoi scegliere il reindirizzamento, quindi certbot creerà il reindirizzamento e ricaricherà Nginx se tutto è a posto.
Ora dovresti essere in grado di accedere al tuo sito Web Jasper Reports in modalità HTTPS all'indirizzo https://yourjasperreportdomain.com.
Congratulazioni! Hai installato correttamente Jasper Reports Server su Ubuntu 20.04.
Ovviamente, se sei uno dei nostri clienti di Ubuntu Hosting, non devi installare Jasper Reports Server su Ubuntu 20.04 da solo:chiedi semplicemente ai nostri amministratori, siediti e rilassati. I nostri amministratori ti forniranno immediatamente Jasper Reports Server su Ubuntu 20.04, insieme a molte utili ottimizzazioni che possiamo fare per te. L'installazione di Jasper Reports Server su Ubuntu 20.04 non riguarda solo il lavoro, possiamo anche aiutarti a ottimizzare il tuo server Jasper Reports se disponi di un VPS gestito con noi.
Se ti è piaciuto questo post su come installare Jasper Reports Server su Ubuntu 20.04, condividilo con i tuoi amici sui social network usando i pulsanti di condivisione qui sotto, o semplicemente lascia un commento nella sezione commenti. Grazie.