GNU/Linux >> Tutoriales Linux >  >> Panels >> Panels

Cómo instalar JasperReports en Ubuntu 20.04

JasperReports es una herramienta de informes Java de código abierto, un servidor de informes independiente e integrable. JasperReports es una biblioteca de clases de Java, los desarrolladores de Java que necesitan agregar capacidades de generación de informes a sus aplicaciones utilizan esta herramienta. Proporciona informes y análisis y es capaz de generar informes profesionales que incluyen imágenes, tablas y gráficos. Algunas de las funciones principales de JasperReports incluyen:

  • Capacidades de exportación
  • Múltiples fuentes de datos
  • Múltiples formas de presentar datos
  • Múltiples formas de suministrar datos
  • Subinformes
  • Marcas de agua

En este tutorial, le mostraremos cómo instalar el servidor Jasper Reports en Ubuntu 20.04.

Requisitos

  • Ubuntu 20.04 con al menos 4 GB de RAM
  • Acceso raíz SSH o un usuario normal del sistema con privilegios sudo

Paso 1. Iniciar sesión en el servidor

Primero, inicie sesión en su servidor Ubuntu 20.04 a través de SSH como usuario raíz:

ssh root@IP_Address -p Port_number

Deberá reemplazar 'IP_Address' y 'Port_number' con la dirección IP y el número de puerto SSH respectivos de su servidor. Además, reemplace 'root' con el nombre de usuario del usuario del sistema con privilegios sudo.

Puede comprobar si tiene instalada la versión adecuada de Debian en su servidor con el siguiente comando:

$ lsb_release -a

Deberías obtener este resultado:

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

Antes de comenzar, debe asegurarse de que todos los paquetes del sistema operativo Ubuntu instalados en el servidor estén actualizados. Puede hacerlo ejecutando los siguientes comandos:

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

Paso 2. Instalar dependencias

Para instalar Jasper Reports para un servidor de producción, lo instalaremos manualmente en lugar de usar el instalador. Para continuar con esto, debemos tener al menos la versión 8 de Java para poder ejecutar Tomcat 9, que instalaremos en el siguiente paso. Ejecutemos el siguiente comando para instalar la versión 11 de JDK predeterminada, que está disponible en los repositorios integrados de Ubuntu 20.04 usando el siguiente comando:

$ sudo apt install default-jdk unzip wget -y

Paso 3. Crear un usuario del sistema

No se recomienda ejecutar Tomcat como root, por lo que, por motivos de seguridad, crearemos un nuevo usuario del sistema para ejecutar Tomcat.

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

Verifique la ruta de inicio de Tomcat ejecutando este comando:

Paso 4. Instalar MariaDB

A continuación, instalaremos el servidor MariaDB desde el repositorio. Para hacer esto, simplemente ejecute el siguiente comando:

$ sudo apt install mariadb-server

MariaDB se ejecutará tras la instalación, ahora vamos a crear un usuario de MySQL con todos los privilegios.

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

Paso 5. Instalar Tomcat

En este paso, instalaremos Tomcat y lo ejecutaremos con el usuario 'tomcat' que creamos anteriormente. Al escribir este tutorial, el último Tomcat estable para descargar es la versión 9.0.62. Puede ir a https://tomcat.apache.org/download-90.cgi y comprobar si publican la versión más reciente. Para continuar con la instalación, primero descarguemos el archivo de distribución 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 se instalará en el directorio /opt/tomcat, el directorio en sí ya se creó cuando estábamos creando el usuario 'tomcat' en el paso anterior. Extraigamos el archivo descargado ahora.

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

Ahora, salga del usuario 'tomcat' y regrese a la raíz o a su usuario sudo.

$ exit

Vamos a crear un archivo de servicio systemd para Tomcat.

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

Pegue lo siguiente en el archivo de servicio systemd, luego guárdelo.

[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

Guarde el archivo y vuelva a cargar systemd.

$ sudo systemctl daemon-reload

No vamos a iniciar Tomcat ahora, así que no ejecutemos Tomcat en este momento.

Paso 6. Descargue e implemente JasperReports

En este paso, descargaremos el archivo comprimido del servidor Jasper Reports y lo instalaremos manualmente. Al escribir este artículo, la última versión disponible es la 8.0.0. Puede verificar si tienen la versión más reciente en 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 vez descargado, podemos extraerlo directamente.

$ unzip jasperreports_8.0.0.zip

El servidor Jasper Reports admite servidores PostgreSQL, MySQL, Oracle, DB2 y SQL. En este artículo, vamos a usar MySQL (MariaDB) y ya lo instalamos. Para continuar con el archivo de configuración de Jasper Report, primero copiemos el archivo de configuración de muestra.

Copiemos /opt/jasperreports-server-cp-8.0.0-bin/buildomatic/sampe-conf/mysql.master_properties a buildomatic como 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

En este archivo, necesitamos establecer o modificar la configuración existente con los siguientes valores.

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

dbHost=localhost
dbUsername=master
dbPassword=m0d1fyth15

encrypt = true

Guarde el archivo y luego salga. Asegúrese de que el usuario y la contraseña de la base de datos MySQL sean correctos. Debería verse así.

A continuación, ingresemos al directorio buildomatic y ejecutemos el archivo ejecutable js-install-ce.sh. Antes de ejecutar este archivo ejecutable, asegúrese de que Tomcat NO se esté ejecutando.

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

Esto creará bases de datos y desplegará el jasperserver en Tomcat.

Luego, editemos el archivo /opt/tomcat/conf/catalina.policy.

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

Inserte lo siguiente en el archivo.

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";
};

Guarde el archivo y luego salga.

Luego, también necesitamos editar el archivo applicationContext.xml.

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

Insértelos en la lista de proveedores de dominio de protección de informes.

<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>

Debería verse como en la imagen de abajo.

Una vez completado, puede iniciar Tomcat y esperar unos momentos hasta que todo esté funcionando.

$ sudo systemctl start tomcat

Luego, puede navegar a http://YOUR_SERVER_IP_ADDRESS:8080/jasperserver/ para acceder a JasperReports Server utilizando las credenciales de inicio de sesión predeterminadas.

username: jasperadmin
password: jasperadmin

Paso 7. Configurar el proxy inverso

Dado que Tomcat se ejecuta en su puerto predeterminado 8080, debemos configurar un proxy inverso para poder acceder a él en el puerto 80 o 443. En este paso, instalaremos nginx y lo configuraremos como un proxy inverso para Jasper Reports. servidor.

$ sudo apt install nginx

En Ubuntu 20.04, nginx comenzará a ejecutarse tras la instalación. Ahora es el momento de crear un bloque de servidor para nuestro servidor Jasper Reports.

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

Inserte la siguiente configuración en el archivo.

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/;
    }
}

Ahora, reinicie el servicio nginx. No olvide probar la configuración antes de reiniciarla.

$ sudo nginx -t

Si no se encuentra ningún error, estamos listos para reiniciarlo.

$ sudo systemctl restart nginx

Paso 8. Instalar certificado SSL

Este paso es opcional pero muy recomendable completarlo. En esta era moderna, los sitios web deben ejecutarse en HTTPS en lugar de HTTP. Los siguientes pasos le mostrarán cómo instalar certificados SSL de Let's Encrypt.

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

Una vez instalado, edite el bloque del servidor nginx del sitio web de Jasper Report y reemplace server_name con su dominio o subdominio real apuntando a la dirección IP de su servidor. Asegúrese de que el registro DNS del dominio o subdominio ya apunte a su servidor antes de emitir el certificado SSL.

Si realiza cambios en el bloque del servidor nginx, asegúrese de probar la configuración de nginx antes de reiniciarlo:

$ sudo nginx -t
$ sudo systemctl restart nginx

Ahora, estamos listos para instalar el certificado SSL, ejecute este comando:

$ sudo certbot

Deberá proporcionar su dirección de correo electrónico, aceptar los TOS de Let's Encrypt y si desea compartir su dirección de correo electrónico con Electronic Frontier Foundation o no. Luego, debe elegir para qué nombres desea activar HTTPS. Elija su sitio web de Django escribiendo el número y presionando ENTER. Let's encrypt instalará el certificado y le preguntará si desea configurar la redirección de HTTP a HTTPS o no, puede elegir redirigir y luego certbot creará la redirección y recargará Nginx si todo está bien.

Ahora, debería poder acceder a su sitio web de Jasper Reports en modo HTTPS en https://yourjasperreportdomain.com.

¡Felicidades! Ha instalado correctamente Jasper Reports Server en Ubuntu 20.04.

Por supuesto, si usted es uno de nuestros clientes de Ubuntu Hosting, no tiene que instalar Jasper Reports Server en Ubuntu 20.04 por su cuenta, simplemente pregúntele a nuestros administradores, siéntese y relájese. Nuestros administradores le brindarán Jasper Reports Server en Ubuntu 20.04 de inmediato, junto con muchas optimizaciones útiles que podemos hacer por usted. Instalar Jasper Reports Server en Ubuntu 20.04 no se trata solo del trabajo, también podemos ayudarlo a optimizar su servidor Jasper Reports si tiene un VPS administrado con nosotros.

Si le gustó esta publicación sobre cómo instalar Jasper Reports Server en Ubuntu 20.04, compártala con sus amigos en las redes sociales usando los botones de compartir a continuación, o simplemente deje un comentario en la sección de comentarios. Gracias.


Panels
  1. Cómo instalar Tomcat en Ubuntu 18.04

  2. Cómo instalar Tomcat 8 en ubuntu 14.04

  3. Instale Tomcat 9 en Ubuntu 16.04

  4. Cómo instalar R en Ubuntu 16.04

  5. Cómo instalar Go en Ubuntu 18.04

Cómo instalar Apache Tomcat 10 en Ubuntu 20.04

Cómo instalar Apache Tomcat 10 en Ubuntu 21

¿Cómo instalar Apache Tomcat en Ubuntu 20.04?

Cómo instalar Apache Tomcat 8 en Ubuntu 14.04

Cómo instalar Apache Tomcat en Ubuntu 18.04

Cómo instalar Tomcat en Ubuntu 20.04