Как установить JasperReports на Ubuntu 22.04
JasperReports – это платформа с открытым исходным кодом для создания, распространения и управления отчетами. Это библиотека классов Java; веб-разработчики, создающие веб-сайты на Java и нуждающиеся в добавлении возможностей создания отчетов в свои приложения, используют этот инструмент.
JasperReports также может быть использован в Java-приложениях типа Java EE или других веб-приложениях для создания динамического контента. В этом руководстве мы покажем, как установить Jasper Reports на Ubuntu 22.04.
Шаг 1. Вход на сервер
Сначала войдите на свой сервер Ubuntu 22.04 по SSH как пользователь root:
ssh root@IP_Address -p Port_number
Вам нужно заменить „IP_Address“ и „Port_number“ на соответствующие IP-адрес и номер порта SSH вашего сервера. Кроме того, замените „root“ на имя пользователя системы с правами sudo.
Проверить, установлена ли на сервере нужная версия Ubuntu, можно с помощью следующей команды:
lsb_release -a
Вы должны получить следующее сообщение:
No LSB modules are available.Distributor ID: UbuntuDescription: Ubuntu 22.04.2 LTSRelease: 22.04Codename: jammy
Перед началом работы необходимо убедиться в том, что все пакеты ОС Ubuntu, установленные на сервере, являются актуальными. Это можно сделать, выполнив следующие команды:
apt update -y
Шаг 2. Создание системного пользователя
Существует возможность установить Jasper Reports на машину Ubuntu 22.04 без использования программы установки; мы будем устанавливать его вручную. Сначала нам необходимо установить Tomcat, и мы установим Tomcat под новым системным пользователем. Выполним приведенную ниже команду для добавления нового системного пользователя.
useradd -r tomcat -m -d /opt/tomcat --shell /bin/bash
Шаг 3. Установить MariaDB
Сервер Jasper Reports поддерживает PostgreSQL, MySQL/MariaDB, Oracle, DB2 и SQL-серверы. На этом шаге мы установим сервер MariaDB из репозитория. Для этого просто выполните следующую команду:
apt install mariadb-serverMariaDB будет запущена на машине Ubuntu после установки; теперь давайте создадим пользователя MySQL с полными привилегиями.
mysql
Находясь в оболочке MySQL, выполните эти команды для создания пользователя базы данных.
MariaDB [(none)]> grant all on *.* to master@localhost identified by 'm0d1fyth15'; MariaDB [(none)]> flush privileges;
Шаг 4. Установить Tomcat
На предыдущем шаге мы создали нового системного пользователя. Теперь на этом шаге мы собираемся установить Tomcat. Но сначала нам необходимо установить Java. Выполним приведенную ниже команду для установки стандартного JDK версии 11, который доступен во встроенных репозиториях Ubuntu 22.04 с помощью следующей команды:
apt install default-jdk unzip wget nano -y
На момент написания этого руководства последней стабильной версией Tomcat для загрузки является версия 9.0.76. Вы можете зайти на сайт h и проверить, не выпустили ли они более свежую версию. Чтобы приступить к установке, сначала загрузим двоичный файл дистрибутива.
su - tomcat wget https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.76/bin/apache-tomcat-9.0.76.tar.gz -O tomcat-9.0.76.tar.gz
Домашним каталогом нашего пользователя „tomcat“ является /opt/tomcat, и этот каталог был создан при добавлении этого пользователя. И мы будем устанавливать Tomcat в этот каталог. Давайте теперь извлечем скачанный файл.
tar -xzvf tomcat-9.0.76.tar.gz -C /opt/tomcat --strip-components=1
Сейчас каталог /opt/tomcat содержит все файлы Tomcat. В этом можно убедиться с помощью данной команды.
ls -lh /opt/tomcat
Команда выдаст следующий результат:
tomcat@ubuntu22:~$ ls -lh /opt/tomcat/ total 12M -rw-r----- 1 tomcat tomcat 20K Jun 5 07:17 BUILDING.txt -rw-r----- 1 tomcat tomcat 6.1K Jun 5 07:17 CONTRIBUTING.md -rw-r----- 1 tomcat tomcat 56K Jun 5 07:17 LICENSE -rw-r----- 1 tomcat tomcat 2.3K Jun 5 07:17 NOTICE -rw-r----- 1 tomcat tomcat 3.4K Jun 5 07:17 README.md -rw-r----- 1 tomcat tomcat 6.8K Jun 5 07:17 RELEASE-NOTES -rw-r----- 1 tomcat tomcat 17K Jun 5 07:17 RUNNING.txt drwxr-x--- 2 tomcat tomcat 4.0K Jun 19 13:43 bin drwx------ 2 tomcat tomcat 4.0K Jun 5 07:17 conf drwxr-x--- 2 tomcat tomcat 4.0K Jun 19 13:43 lib drwxr-x--- 2 tomcat tomcat 4.0K Jun 5 07:17 logs drwxr-x--- 2 tomcat tomcat 4.0K Jun 19 13:43 temp -rw-rw-r-- 1 tomcat tomcat 12M Jun 5 07:32 tomcat-9.0.76.tar.gz drwxr-x--- 7 tomcat tomcat 4.0K Jun 5 07:17 webapps drwxr-x--- 2 tomcat tomcat 4.0K Jun 5 07:17 work
Теперь выйдите из под пользователя „tomcat“ и вернитесь в права root или sudo.
exit
Нам необходимо создать файл systemd для управления службой Tomcat. Давайте создадим файл службы systemd для Tomcat.
nano /etc/systemd/system/tomcat.service
Вставьте в файл службы systemd следующие слова и сохраните его.
[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=-Xms1024M -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
Сохраните файл, выйдите из редактора nano и перезагрузите systemd, чтобы изменения вступили в силу.
systemctl daemon-reload
На данный момент мы не собираемся запускать Tomcat.
Шаг 5. Загрузка и развертывание JasperReports
На этом шаге мы загрузим zip-файл сервера Jasper Reports и установим его вручную. На момент написания этой статьи последней доступной версией является 8.2.0. Проверить наличие более свежей версии можно на сайте https://sourceforge.net/projects/jasperserver/files/JasperServer/.
su - tomcat$ wget https://sourceforge.net/projects/jasperserver/files/JasperServer/JasperReports%20Server%20Community%20Edition%208.2.0/TIB_js-jrs-cp_8.2.0_bin.zip/download -O jasperreports_8.2.0.zip
После загрузки мы можем непосредственно извлечь его.
unzip jasperreports_8.2.0.zip
Сервер Jasper Reports поддерживает серверы PostgreSQL, MySQL, Oracle, DB2 и SQL. В данной статье мы будем использовать MySQL (MariaDB), и он у нас уже установлен. Чтобы перейти к работе с файлом конфигурации Jasper Report, сначала скопируем файл конфигурации примера.
Далее скопируем файл /opt/jasperreports-server-cp-8.0.0-bin/buildomatic/sampe-conf/mysql.master_properties в каталог buildomatic как default_master.properties
cp -a jasperreports-server-cp-8.2.0-bin/buildomatic/sample_conf/mysql_master.properties jasperreports-server-cp-8.2.0-bin/buildomatic/default_master.properties
Сейчас отредактируем jasperreports-server-cp-8.2.0-bin/buildomatic/default_master.properties
nano jasperreports-server-cp-8.2.0-bin/buildomatic/default_master.properties
Добавим две строки
CATALINA_HOME = /opt/tomcatCATALINA_BASE = /opt/tomcat
Затем заменим часть конфигурации базы данных на следующую, и убедимся, что имя пользователя и база данных совпадают с ранее созданными.
dbHost=localhostdbUsername=masterdbPassword=m0d1fyth15
И установим encrypt в true.
encrypt = true
Выглядеть это должно так:
CATALINA_HOME = /opt/tomcat CATALINA_BASE = /opt/tomcat dbHost=localhost dbUsername=master dbPassword=m0d1fyth15 encrypt = true
Сохраним файл и выйдем.
Следующим шагом войдем в каталог buildomatic и запустим исполняемый файл js-install-ce.sh. Перед запуском этого исполняемого файла убедитесь, что Tomcat НЕ запущен.
cd jasperreports-server-cp-8.2.0-bin/buildomatic/$ ./js-install-ce.shЭто позволит создать базы данных и развернуть jasperserver в Tomcat.
После этого отредактируем файл /opt/tomcat/conf/catalina.policy.
nano /opt/tomcat/conf/catalina.policy
Добавим в него следующее.
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"; };
Сохраним файл и выйдем.
Также необходимо отредактировать файл applicationContext.xml.
nano /opt/tomcat/webapps/jasperserver/WEB-INF/applicationContext.xml
Вставьте в список reportsProtectionDomainProvider* следующее.
После этого можно перейти по адресу http://YOUR_SERVER_IP_ADDRESS:8080/jasperserver/ для доступа к JasperReports Server, используя стандартные учетные данные.
username: jasperadminpassword: jasperadmin
После входа в систему можно увидеть панель управления
Шаг 6. Установка Nginx в качестве обратного прокси
Поскольку Tomcat по умолчанию работает на порту 8080, нам необходимо настроить обратный прокси, чтобы иметь возможность доступа к нему по порту 80 или 443. В этом шаге мы установим nginx и настроим его в качестве обратного прокси-сервера для сервера Jasper Reports.
apt install nginx
В Ubuntu 20.04 nginx будет запущен после установки. Теперь пришло время создать серверный блок для нашего сервера Jasper Reports.
nano /etc/nginx/conf.d/jasperreports.conf
Вставьте в файл следующую конфигурацию. Убедитесь, что вы используете реальное имя домена или поддомена.
upstream tomcat { server 127.0.0.1:8080 weight=100 max_fails=5 fail_timeout=5; } server { server_name jasperreports.yourdomain.com; location = / { return 301 http://jasperreports.yourdomain.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/; } }
Затем перезапустите службу nginx.
systemctl restart nginx
Сейчас вы должны иметь доступ к вашему сайту JasperReports по адресу https://jasperreports.yourdomain.com.
Вот и все! Вы успешно установили JasperReports Server на Ubuntu 22.04.
Парашютист со стажем. Много читаю и слушаю подкасты. Люблю посиделки у костра, песни под гитару и приближающиеся дедлайны. Люблю путешествовать.
Вдохновлен www.rosehosting.com
Комментарии (0)