JasperReports adalah alat pelaporan Java open-source, server pelaporan yang berdiri sendiri dan dapat disematkan. JasperReports adalah perpustakaan kelas Java, pengembang Java yang perlu menambahkan kemampuan pelaporan ke aplikasi mereka menggunakan alat ini. Ini menyediakan pelaporan dan analitik dan mampu menghasilkan laporan profesional termasuk gambar, bagan, dan grafik. Beberapa fitur utama JasperReports meliputi:
- Kemampuan Mengekspor
- Beberapa Sumber Data
- Berbagai Cara untuk Menyajikan Data
- Berbagai Cara untuk Menyediakan Data
- Sublaporan
- Tanda Air
Dalam tutorial ini, kami akan menunjukkan cara menginstal server Jasper Reports di Ubuntu 20.04.
Prasyarat
- Ubuntu 20.04 dengan setidaknya 4GB RAM
- Akses root SSH atau pengguna sistem normal dengan hak sudo
Langkah 1. Masuk ke server
Pertama, masuk ke server Ubuntu 20.04 Anda melalui SSH sebagai pengguna root:
ssh root@IP_Address -p Port_number
Anda harus mengganti 'IP_Address' dan 'Port_number' dengan alamat IP dan nomor port SSH masing-masing server Anda. Selain itu, ganti 'root' dengan nama pengguna pengguna sistem dengan hak istimewa sudo.
Anda dapat memeriksa apakah Anda telah menginstal versi Debian yang tepat di server Anda dengan perintah berikut:
$ lsb_release -a
Anda harus mendapatkan output ini:
No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 20.04.3 LTS Release: 20.04 Codename: focal
Sebelum memulai, Anda harus memastikan bahwa semua paket OS Ubuntu yang diinstal di server sudah diperbarui. Anda dapat melakukannya dengan menjalankan perintah berikut:
$ sudo apt update -y $ sudo apt upgrade -y
Langkah 2. Instal Dependensi
Untuk menginstal Jasper Reports untuk server produksi, kita akan menginstalnya secara manual daripada menggunakan penginstal. Untuk melanjutkan ini, kita harus memiliki setidaknya Java versi 8 untuk dapat menjalankan Tomcat 9 yang akan kita instal pada langkah berikutnya. Mari kita jalankan perintah di bawah ini untuk menginstal default JDK versi 11, yang tersedia di repositori bawaan Ubuntu 20.04 dengan menggunakan perintah berikut:
$ sudo apt install default-jdk unzip wget -y
Langkah 3. Buat Pengguna Sistem
Tidak disarankan untuk menjalankan Tomcat sebagai root, jadi untuk alasan keamanan, kami akan membuat pengguna sistem baru untuk menjalankan Tomcat.
$ sudo useradd -r tomcat -m -d /opt/tomcat --shell /bin/bash
Periksa jalur rumah Tomcat dengan menjalankan perintah ini:
Langkah 4. Instal MariaDB
Selanjutnya, kita akan menginstal server MariaDB dari repositori. Untuk melakukannya, cukup jalankan perintah berikut:
$ sudo apt install mariadb-server
MariaDB akan berjalan saat instalasi, sekarang mari kita buat pengguna MySQL dengan hak penuh.
MariaDB [(none)]> grant all on *.* to master@localhost identified by 'm0d1fyth15'; MariaDB [(none)]> flush privileges;
Langkah 5. Instal Tomcat
Pada langkah ini, kita akan menginstal Tomcat dan menjalankannya di bawah pengguna 'Tomcat' yang kita buat sebelumnya. Saat menulis tutorial ini, Tomcat stabil terbaru yang harus diunduh adalah versi 9.0.62. Anda dapat membuka https://Tomcat.Apache.org/download-90.cgi dan memeriksa apakah mereka merilis versi yang lebih baru. Untuk melanjutkan penginstalan, mari unduh file distribusi biner terlebih dahulu.
$ 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 akan diinstal di direktori /opt/tomcat, direktori itu sendiri telah dibuat saat kita membuat pengguna 'tomcat' pada langkah sebelumnya. Ayo ekstrak file yang diunduh sekarang.
$ tar -xzvf tomcat-9.0.62.tar.gz -C /opt/tomcat --strip-components=1
Sekarang, keluar dari pengguna 'tomcat' dan kembali ke root atau pengguna sudo Anda.
$ exit
Mari buat file layanan systemd untuk Tomcat.
$ sudo nano /etc/systemd/system/tomcat.service
Rekatkan yang berikut ini ke dalam file layanan systemd, lalu simpan.
[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
Simpan file dan muat ulang systemd.
$ sudo systemctl daemon-reload
Kami tidak akan memulai Tomcat sekarang, jadi jangan jalankan Tomcat saat ini.
Langkah 6. Unduh dan Deploy JasperReports
Pada langkah ini, kita akan mengunduh file zip server Jasper Reports dan menginstalnya secara manual. Saat menulis artikel ini, versi terbaru yang tersedia adalah 8.0.0. Anda dapat memeriksa apakah mereka memiliki versi yang lebih baru di 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
Setelah diunduh, kita bisa langsung mengekstraknya.
$ unzip jasperreports_8.0.0.zip
Server Jasper Reports mendukung server PostgreSQL, MySQL, Oracle, DB2, dan SQL. Pada artikel ini, kita akan menggunakan MySQL (MariaDB) dan kita sudah menginstalnya. Untuk melanjutkan dengan file konfigurasi Jasper Report, mari salin contoh file konfigurasi terlebih dahulu.
Mari kita salin /opt/jasperreports-server-cp-8.0.0-bin/buildomatic/sampe-conf/mysql.master_properties ke buildomatic sebagai 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
Dalam file ini, kita perlu mengatur atau memodifikasi pengaturan yang ada dengan nilai-nilai berikut.
CATALINA_HOME = /opt/tomcat CATALINA_BASE = /opt/tomcat dbHost=localhost dbUsername=master dbPassword=m0d1fyth15 encrypt = true
Simpan file kemudian keluar. Pastikan user dan password database MySQL sudah benar. Seharusnya terlihat seperti ini.
Selanjutnya, mari masuk ke direktori buildomatic dan jalankan file executable js-install-ce.sh. Sebelum menjalankan file yang dapat dieksekusi ini, pastikan Tomcat TIDAK berjalan.
$ cd jasperreports-server-cp-8.0.0-bin/buildomatic/ $ ./js-install-ce.sh
Ini akan membuat database dan menyebarkan jasperserver di Tomcat.
Kemudian, mari kita edit file /opt/Tomcat/conf/catalina.policy.
$ nano /opt/tomcat/conf/catalina.policy
Masukkan yang berikut ke dalam 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"; };
Simpan file lalu keluar.
Kemudian, kita juga perlu mengedit file applicationContext.xml.
$ nano /opt/tomcat/webapps/jasperserver/WEB-INF/applicationContext.xml
Masukkan ini ke dalam daftar 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>
Seharusnya terlihat seperti pada gambar di bawah ini.
Setelah selesai, Anda dapat memulai Tomcat dan menunggu beberapa saat hingga semuanya berjalan.
$ sudo systemctl start tomcat
Kemudian, Anda dapat menavigasi ke http://YOUR_SERVER_IP_ADDRESS:8080/jasperserver/ untuk mengakses Server JasperReports menggunakan kredensial login default.
username: jasperadmin password: jasperadmin
Langkah 7. Konfigurasikan Proksi Terbalik
Karena Tomcat berjalan pada port default 8080, kita perlu mengkonfigurasi reverse proxy untuk dapat mengaksesnya pada port 80 atau 443. Pada langkah ini, kita akan menginstal nginx dan mengkonfigurasinya sebagai reverse proxy ke Jasper Reports server.
$ sudo apt install nginx
Di Ubuntu 20.04, nginx akan mulai berjalan saat instalasi. Sekarang, saatnya membuat blok server untuk server Jasper Reports kami.
$ sudo nano /etc/nginx/conf.d/jasperreports.conf
Masukkan konfigurasi berikut ke dalam 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/; } }
Sekarang, mulai ulang layanan nginx. Jangan lupa untuk menguji konfigurasi sebelum memulai ulang.
$ sudo nginx -t
Jika tidak ada kesalahan yang ditemukan, kami siap untuk memulai ulang.
$ sudo systemctl restart nginx
Langkah 8. Instal sertifikat SSL
Langkah ini opsional tetapi sangat disarankan untuk diselesaikan. Di era modern ini, situs web harus berjalan di HTTPS, bukan HTTP. Langkah-langkah berikut akan menunjukkan cara memasang sertifikat SSL dari Let's Encrypt.
$ sudo apt install certbot python3-certbot-nginx -y
Setelah terinstal, edit blok server nginx situs web Jasper Report Anda dan ganti server_name dengan domain atau subdomain Anda yang sebenarnya yang menunjuk ke alamat IP server Anda. Pastikan data DNS domain atau subdomain sudah diarahkan ke server Anda sebelum menerbitkan sertifikat SSL.
Jika Anda membuat perubahan pada blok server nginx, pastikan untuk menguji konfigurasi nginx sebelum memulai ulang:
$ sudo nginx -t $ sudo systemctl restart nginx
Sekarang, kita siap untuk menginstal sertifikat SSL, jalankan perintah ini:
$ sudo certbot
Anda perlu memberikan alamat email Anda, menerima TOS Mari Enkripsi, dan apakah Anda ingin membagikan alamat email Anda dengan Electronic Frontier Foundation atau tidak. Kemudian, Anda harus memilih nama yang ingin Anda aktifkan HTTPSnya. Pilih situs web Django Anda dengan mengetikkan nomor dan menekan ENTER. Let's encrypt akan menginstal sertifikat dan akan menanyakan apakah Anda akan mengkonfigurasi HTTP ke HTTPS redirect atau tidak, Anda dapat memilih redirect kemudian certbot akan membuat redirection dan memuat ulang Nginx jika semuanya baik-baik saja.
Sekarang, Anda seharusnya dapat mengakses situs web Jasper Reports Anda dalam mode HTTPS di https://yourjasperreportdomain.com.
Selamat! Anda telah berhasil menginstal Jasper Reports Server di Ubuntu 20.04.
Tentu saja, jika Anda adalah salah satu pelanggan Hosting Ubuntu kami, Anda tidak perlu menginstal Jasper Reports Server di Ubuntu 20.04 sendiri – cukup tanyakan pada admin kami, duduk, dan bersantai. Admin kami akan segera memberikan Jasper Reports Server di Ubuntu 20.04 untuk Anda, bersama dengan banyak optimasi bermanfaat yang dapat kami lakukan untuk Anda. Menginstal Jasper Reports Server di Ubuntu 20.04 bukan hanya tentang pekerjaan, kami juga dapat membantu Anda mengoptimalkan server Jasper Reports jika Anda memiliki VPS terkelola bersama kami.
Jika Anda menyukai posting ini tentang cara menginstal Jasper Reports Server di Ubuntu 20.04, silakan bagikan dengan teman-teman Anda di jejaring sosial menggunakan tombol bagikan di bawah ini, atau cukup tinggalkan komentar di bagian komentar. Terima kasih.