JasperReportsは、オープンソースのJavaレポートツールであり、スタンドアロンの埋め込み可能なレポートサーバーです。 JasperReportsはJavaクラスライブラリであり、アプリケーションにレポート機能を追加する必要があるJava開発者はこのツールを使用します。レポートと分析を提供し、画像、チャート、グラフなどの専門的なレポートを生成できます。 JasperReportsの主な機能には次のものがあります。
- 機能のエクスポート
- 複数のデータソース
- データを提示する複数の方法
- データを提供する複数の方法
- サブレポート
- 透かし
このチュートリアルでは、Ubuntu20.04にJasperReportsサーバーをインストールする方法を紹介します。
前提条件
- 4GB以上のRAMを搭載したUbuntu20.04
- SSHルートアクセスまたはsudo権限を持つ通常のシステムユーザー
ステップ1.サーバーにログインします
まず、rootユーザーとしてSSH経由でUbuntu20.04サーバーにログインします。
ssh root@IP_Address -p Port_number
「IP_Address」と「Port_number」をサーバーのそれぞれのIPアドレスとSSHポート番号に置き換える必要があります。さらに、「root」をsudo権限を持つシステムユーザーのユーザー名に置き換えます。
次のコマンドを使用して、サーバーに適切なDebianバージョンがインストールされているかどうかを確認できます。
$ lsb_release -a
次の出力が得られるはずです:
No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 20.04.3 LTS Release: 20.04 Codename: focal
開始する前に、サーバーにインストールされているすべてのUbuntuOSパッケージが最新であることを確認する必要があります。これを行うには、次のコマンドを実行します。
$ sudo apt update -y $ sudo apt upgrade -y
ステップ2.依存関係をインストールする
実稼働サーバー用のJasperReportsをインストールするには、インストーラーを使用する代わりに手動でインストールします。これを続行するには、次のステップでインストールするTomcat 9を実行できるように、少なくともJavaバージョン8が必要です。以下のコマンドを実行して、デフォルトのJDKバージョン11をインストールします。これは、次のコマンドを使用して、組み込みのUbuntu20.04リポジトリで使用できます。
$ sudo apt install default-jdk unzip wget -y
ステップ3.システムユーザーを作成する
Tomcatをrootとして実行することはお勧めしません。セキュリティ上の理由から、Tomcatを実行するための新しいシステムユーザーを作成します。
$ sudo useradd -r tomcat -m -d /opt/tomcat --shell /bin/bash
次のコマンドを実行して、Tomcatのホームのパスを確認します。
ステップ4.MariaDBをインストールします
次に、リポジトリからMariaDBサーバーをインストールします。これを行うには、次のコマンドを実行するだけです。
$ sudo apt install mariadb-server
MariaDBはインストール時に実行されます。次に、完全な権限を持つMySQLユーザーを作成しましょう。
MariaDB [(none)]> grant all on *.* to master@localhost identified by 'm0d1fyth15'; MariaDB [(none)]> flush privileges;
ステップ5.Tomcatをインストールする
このステップでは、Tomcatをインストールし、前に作成したユーザー「tomcat」で実行します。このチュートリアルを作成するとき、ダウンロードする最新の安定したTomcatはバージョン9.0.62です。 https://tomcat.apache.org/download-90.cgiにアクセスして、最新バージョンがリリースされているかどうかを確認できます。インストールを続行するには、最初にバイナリ配布ファイルをダウンロードしましょう。
$ 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はディレクトリ/opt/ tomcatにインストールされます。ディレクトリ自体は、前の手順でユーザー「tomcat」を作成したときにすでに作成されています。ダウンロードしたファイルを今すぐ抽出しましょう。
$ tar -xzvf tomcat-9.0.62.tar.gz -C /opt/tomcat --strip-components=1
ここで、ユーザー「tomcat」を終了し、rootまたはsudoユーザーに戻ります。
$ exit
Tomcat用のsystemdサービスファイルを作成しましょう。
$ sudo 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=-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
ファイルを保存してsystemdをリロードします。
$ sudo systemctl daemon-reload
今はTomcatを起動しないので、現時点ではTomcatを実行しないでください。
ステップ6.JasperReportsをダウンロードしてデプロイする
このステップでは、JasperReportsサーバーのzipファイルをダウンロードして手動でインストールします。この記事を書いているとき、利用可能な最新バージョンは8.0.0です。最新バージョンかどうかは、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
ダウンロードしたら、直接抽出できます。
$ unzip jasperreports_8.0.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をdefault_master.propertiesとしてbuildomaticにコピーしましょう
$ 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
このファイルでは、既存の設定を次の値で設定または変更する必要があります。
CATALINA_HOME = /opt/tomcat CATALINA_BASE = /opt/tomcat dbHost=localhost dbUsername=master dbPassword=m0d1fyth15 encrypt = true
ファイルを保存して終了します。 MySQLデータベースのユーザーとパスワードが正しいことを確認してください。このようになります。
次に、buildomaticディレクトリに入り、js-install-ce.sh実行可能ファイルを実行します。この実行可能ファイルを実行する前に、Tomcatが実行されていないことを確認してください。
$ cd jasperreports-server-cp-8.0.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リストに挿入します。
<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>
下の写真のようになります。
完了したら、Tomcatを起動して、すべてが実行されるまでしばらく待つことができます。
$ sudo systemctl start tomcat
次に、http:// YOUR_SERVER_IP_ADDRESS:8080 / jasperserver /に移動して、デフォルトのログイン資格情報を使用してJasperReportsServerにアクセスできます。
username: jasperadmin password: jasperadmin
ステップ7.リバースプロキシを構成する
Tomcatはデフォルトのポート8080で実行されているため、ポート80または443でアクセスできるようにリバースプロキシを構成する必要があります。このステップでは、nginxをインストールし、JasperReportsのリバースプロキシとして構成します。サーバー。
$ sudo apt install nginx
Ubuntu 20.04では、nginxはインストール時に実行を開始します。次に、JasperReportsサーバー用のサーバーブロックを作成します。
$ sudo 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 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/; } }
ここで、nginxサービスを再起動します。再起動する前に、構成をテストすることを忘れないでください。
$ sudo nginx -t
エラーが見つからない場合は、再起動する準備ができています。
$ sudo systemctl restart nginx
ステップ8.SSL証明書をインストールする
この手順はオプションですが、完了することを強くお勧めします。この現代では、WebサイトはHTTPではなくHTTPSで実行する必要があります。次の手順は、Let’sEncryptからSSL証明書をインストールする方法を示しています。
$ sudo apt install certbot python3-certbot-nginx -y
インストールしたら、Jasper Report Webサイトのnginxサーバーブロックを編集し、server_nameをサーバーのIPアドレスを指す実際のドメインまたはサブドメインに置き換えます。 SSL証明書を発行する前に、ドメインまたはサブドメインのDNSレコードがサーバーを指していることを確認してください。
nginxサーバーブロックに変更を加える場合は、再起動する前にnginx構成をテストしてください:
$ sudo nginx -t $ sudo systemctl restart nginx
これで、SSL証明書をインストールする準備ができました。次のコマンドを実行します:
$ sudo certbot
メールアドレスを入力し、Let’s Encrypt TOSに同意し、メールアドレスをElectronicFrontierFoundationと共有するかどうかを指定する必要があります。次に、HTTPSをアクティブにする名前を選択する必要があります。番号を入力してEnterキーを押して、DjangoWebサイトを選択します。暗号化して証明書をインストールし、HTTPからHTTPSへのリダイレクトを構成するかどうかを尋ねられます。リダイレクトを選択すると、certbotがリダイレクトを作成し、問題がなければNginxをリロードします。
これで、https://yourjasperreportdomain.comのHTTPSモードでJasperReportsWebサイトにアクセスできるようになります。
おめでとう!これで、Ubuntu20.04にJasperReportsServerが正常にインストールされました。
もちろん、Ubuntu Hostingをご利用の場合は、Ubuntu20.04にJasperReportsServerを自分でインストールする必要はありません。管理者に聞いてリラックスしてください。私たちの管理者は、Ubuntu20.04上のJasperReports Serverと、私たちが実行できる多くの便利な最適化をすぐに提供します。 Ubuntu20.04へのJasperReportsServerのインストールは、作業だけでなく、マネージドVPSを使用している場合は、JasperReportsサーバーの最適化を支援することもできます。
Ubuntu20.04にJasperReportsServerをインストールする方法に関するこの投稿が気に入った場合は、下の共有ボタンを使用してソーシャルネットワーク上の友達と共有するか、コメントセクションにコメントを残してください。ありがとう。