JasperReports là một công cụ báo cáo java miễn phí và mã nguồn mở cùng thư viện lớp giúp các nhà phát triển thêm khả năng báo cáo vào ứng dụng của họ. Đây là một máy chủ báo cáo độc lập và có thể nhúng, cung cấp chức năng báo cáo và phân tích. Với JasperReports, bạn có thể tạo các báo cáo chuyên nghiệp, bao gồm hình ảnh, biểu đồ và đồ thị. Công cụ này cũng giúp bạn viết nội dung phong phú lên màn hình, máy in và nhiều định dạng tệp. bao gồm HTML, PDF, XLS, RTF, CSV, XML, ODT và TXT.
Trong bài đăng này, chúng tôi sẽ chỉ cho bạn cách cài đặt JasperReports Server trên Ubuntu 22.04.
Sau khi Java được cài đặt, bạn có thể xác minh phiên bản Java bằng lệnh sau:
Bạn sẽ nhận được phiên bản Java trong đầu ra sau:
Sau khi MariaDB được cài đặt, hãy đăng nhập vào MariaDB bằng lệnh sau:
Sau khi bạn đã đăng nhập, hãy tạo người dùng và đặt mật khẩu bằng lệnh sau:
Tiếp theo, xóa các đặc quyền và thoát khỏi shell MariaDB bằng lệnh sau:
Đầu tiên, tạo một người dùng và nhóm chuyên dụng cho Tomcat bằng lệnh sau:
Tiếp theo, tạo một thư mục Tomcat bằng lệnh sau:
Tiếp theo, tải xuống Tomcat 8 từ trang web chính thức của họ bằng lệnh sau:
Tiếp theo, giải nén tệp đã tải xuống vào thư mục /opt/tomcat:
Tiếp theo, thiết lập quyền và quyền sở hữu thích hợp cho thư mục Tomcat:
Thêm các dòng sau:
Lưu và đóng tệp, sau đó tải lại daemon systemd để áp dụng các thay đổi:
Tiếp theo, khởi động dịch vụ Tomcat bằng lệnh sau:
Bạn cũng có thể kiểm tra trạng thái của dịch vụ Tomcat bằng lệnh sau:
Bạn sẽ nhận được kết quả sau:
Sau khi tải xuống hoàn tất, hãy giải nén tệp đã tải xuống bằng lệnh sau:
Tiếp theo, sao chép tệp thuộc tính MySQL bằng lệnh sau:
Tiếp theo, chỉnh sửa tệp thuộc tính MySQL bằng lệnh sau:
Xác định đường dẫn Tomcat và thông tin chi tiết về cấu hình cơ sở dữ liệu như hiển thị bên dưới:
Lưu và đóng tệp, sau đó cài đặt JasperReports bằng lệnh sau:
Sau khi cài đặt hoàn tất, bạn sẽ nhận được kết quả sau:
Tiếp theo, chỉnh sửa tệp cấu hình chính sách Tomcat:
Thêm các dòng sau:
Lưu và đóng tệp, sau đó chỉnh sửa tệp cấu hình Ứng dụng:
Thêm các dòng sau:
Lưu và đóng tệp, sau đó thoát khỏi người dùng Tomcat:
Tiếp theo, khởi động lại dịch vụ Tomcat để áp dụng các thay đổi.
Cung cấp tên người dùng: jasperadmin và mật khẩu: jasperadmin sau đó nhấp vào nút Đăng nhập. Bạn sẽ thấy bảng điều khiển JasperReports trên trang sau:
Tiếp theo, hãy tạo tệp cấu hình máy chủ ảo Nginx bằng lệnh sau:
Thêm các cấu hình sau:
Lưu và đóng tệp, sau đó xác minh cấu hình Nginx:
Bạn sẽ nhận được kết quả sau:
Tiếp theo, tải lại dịch vụ Nginx để áp dụng các thay đổi cấu hình:
Bạn có thể xác minh trạng thái Nginx bằng lệnh sau:
Bạn sẽ thấy kết quả sau:
Bây giờ bạn có thể truy cập JasperReports của mình bằng URL http://jasper.example.com.
Trong bài đăng này, chúng tôi sẽ chỉ cho bạn cách cài đặt JasperReports Server trên Ubuntu 22.04.
Điều kiện tiên quyết
- Một máy chủ chạy Ubuntu 22.04.
- Một tên miền hợp lệ được trỏ đến bằng IP máy chủ của bạn.
- Một mật khẩu gốc được cấu hình trên máy chủ.
Cài đặt Java JDK
JasperReports dựa trên Java, vì vậy bạn sẽ cần cài đặt Java JDK trên máy chủ của mình. Bạn có thể cài đặt bằng cách chạy lệnh sau:
Mã:
apt install default-jdk unzip wget -y
Mã:
java --version
Mã:
openjdk 11.0.16 2022-07-19Môi trường thời gian chạy OpenJDK (bản dựng 11.0.16+8-post-Ubuntu-0ubuntu122.04)OpenJDK Máy ảo máy chủ 64-Bit (bản dựng 11.0.16+8-post-Ubuntu-0ubuntu122.04, chế độ hỗn hợp, chia sẻ)
Cài đặt và cấu hình cơ sở dữ liệu MariaDB
Bạn cũng sẽ cần cài đặt máy chủ cơ sở dữ liệu MariaDB vào hệ thống của mình. Bạn có thể cài đặt bằng lệnh sau:
Mã:
apt install mariadb-server -y
Mã:
mysql
Mã:
MariaDB [(none)]> cấp tất cả trên *.* cho master@localhost được xác định bằng 'password';
Mã:
MariaDB [(none)]> xóa các đặc quyền;
MariaDB [(none)]> exit;
Cài đặt Tomcat Server
JasperReports chạy trên máy chủ Tomcat. Vì vậy, bạn sẽ cần cài đặt nó vào máy chủ của mình.Đầu tiên, tạo một người dùng và nhóm chuyên dụng cho Tomcat bằng lệnh sau:
Mã:
groupadd tomcat
useradd -s /bin/bash -g tomcat -d /opt/tomcat tomcat
Mã:
mkdir /opt/tomcat
Mã:
wget https://dlcdn.apache.org/tomcat/tomcat-8/v8.5.82/bin/apache-tomcat-8.5.82.tar.gz
Mã:
tar -xzvf apache-tomcat-8.5.82.tar.gz -C /opt/tomcat --strip-components=1
Mã:
chown -R tomcat: /opt/tomcat
sh -c 'chmod +x /opt/tomcat/bin/*.sh'
Tạo tệp dịch vụ Systemd cho Tomcat
Tiếp theo, bạn sẽ cần tạo tệp dịch vụ systemd để quản lý dịch vụ Tomcat. Bạn có thể tạo nó bằng lệnh sau:
Mã:
nano /etc/systemd/system/tomcat.service
Mã:
[Unit]Description=Tomcat webs servlet containerAfter=network.target[Service]Type=forkingUser=tomcatGroup=tomcatRestartSec=10Restart=alwaysEnvironment="JAVA_HOME=/usr/lib/jvm/java-1.11.0-openjdk-amd64"Environment="JAVA_OPTS=-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom"Environment="CATALINA_BASE=/opt/tomcat"Environment="CATALINA_HOME=/opt/tomcat"Environment="CATALINA_PID=/opt/tomcat/temp/tomcat.pid"Environment="CATALINA_OPTS=-Xms1024M -Xmx2048M -server -XX:+UseParallelGC"ExecStart=/opt/tomcat/bin/startup.shExecStop=/opt/tomcat/bin/shutdown.sh[Cài đặt]WantedBy=multi-user.target
Mã:
systemctl daemon-reload
Mã:
systemctl start tomcat
Mã:
systemctl status tomcat
Mã:
? tomcat.service - Bộ chứa servlet web Tomcat Đã tải: đã tải (/etc/systemd/system/tomcat.service; vô hiệu hóa; cài đặt trước của nhà cung cấp: đã bật) Đang hoạt động: đang hoạt động (đang chạy) kể từ CN 2022-09-04 06:06:39 UTC; 6 giây trước Tiến trình: 6867 ExecStart=/opt/tomcat/bin/startup.sh (code=exited, status=0/SUCCESS) PID chính: 6874 (java) Nhiệm vụ: 29 (giới hạn: 4579) Bộ nhớ: 118,4M CPU: 4,427 giây CGroup: /system.slice/tomcat.service ??6874 /usr/lib/jvm/java-1.11.0-openjdk-amd64/bin/java -Djava.util.logging.config.file=/opt/tomcat/conf/logging.properties -Djav>04/09 06:06:39 ubuntu2204 systemd[1]: Đang khởi động bộ chứa servlet web Tomcat...04/09 06:06:39 ubuntu2204 startup.sh[6867]: Đã khởi động Tomcat.04/09 06:06:39 ubuntu2204 systemd[1]: Đã khởi động trình chứa servlet web Tomcat.
Cài đặt và cấu hình JasperReports
Trước tiên, chuyển người dùng sang Tomcat và tải xuống tệp JasperReports bằng lệnh sau:
Mã:
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
Mã:
unzip TIB_js-jrs-cp_8.0.0_bin.zip
Mã:
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
Mã:
nano jasperreports-server-cp-8.0.0-bin/buildomatic/default_master.properties
Mã:
CATALINA_HOME = /opt/tomcatCATALINA_BASE = /opt/tomcatdbHost=localhostdbUsername=masterdbPassword=passwordencrypt = true
Mã:
cd jasperreports-server-cp-8.0.0-bin/buildomatic/
./js-install-ce.sh
Mã:
[echo] Đã tìm thấy Groovy trong thư mục import libdeploy-webapp-datasource-configs: [echo] --- (app-server.xml:deploy-webapp-datasource-configs) --- [echo] jsEdition = ce [echo] warFileDistSourceDir = /opt/tomcat/jasperreports-server-cp-8.0.0-bin/buildomatic/../jasperserver.war [echo] warTargetDir = /opt/tomcat/webapps/jasperserver [echo] webAppName = jasperserver [echo] webAppNameCE = jasperserver [echo] webAppNamePro = jasperserver-pro [echo] webAppNameSrc = jasperserver [echo] webAppNameDel = jasperserver, warTargetDirDel = /opt/tomcat/webapps/jasperserver [copy] Đang sao chép 9 tệp vào /opt/tomcat/webapps/jasperserverscalableAdhoc-refinement:deploy-webapp-ce:install-normal-ce: [echo] Quá trình cài đặt đã hoàn tất!XÂY DỰNG THÀNH CÔNGTổng thời gian: 1 phút 26 giâyĐang kiểm tra mã trả về của Ant: OK-----------------------------------------------------------------------------------
Mã:
nano /opt/tomcat/conf/catalina.policy
Mã:
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";};
Mã:
nano /opt/tomcat/webapps/jasperserver/WEB-INF/applicationContext.xml
Mã:
Mã:
exit
Mã:
systemctl restart tomcat
Truy cập JasperReports Web UI
Tại thời điểm này, JasperReports đã được cài đặt và cấu hình. Bây giờ bạn có thể truy cập bằng URL http://YOUR_SERVER_IP_ADDRESS:8080/jasperserver/. Bạn sẽ thấy trang đăng nhập JasperReports:Cung cấp tên người dùng: jasperadmin và mật khẩu: jasperadmin sau đó nhấp vào nút Đăng nhập. Bạn sẽ thấy bảng điều khiển JasperReports trên trang sau:
Cấu hình Nginx làm Proxy ngược cho JasperReports
Trước tiên, hãy cài đặt gói máy chủ web Nginx bằng lệnh sau:
Mã:
apt install nginx
Mã:
nano /etc/nginx/conf.d/jasperreports.conf
Mã:
upstream tomcat { server 127.0.0.1:8080 weight=100 max_fails=5 fail_timeout=5; }server { server_name jasper.example.com;vị trí = / { trả về 301 http://jasper.example.com/jasperserver/; }vị trí / { 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/; }}
Mã:
nginx -t
Mã:
nginx: cú pháp tệp cấu hình /etc/nginx/nginx.conf là oknginx: kiểm tra tệp cấu hình /etc/nginx/nginx.conf thành công
Mã:
systemctl restart nginx
Mã:
systemctl status nginx
Mã:
? nginx.service - Máy chủ web hiệu suất cao và máy chủ proxy ngược Đã tải: đã tải (/lib/systemd/system/nginx.service; đã bật; cài đặt trước của nhà cung cấp: đã bật) Đang hoạt động: hoạt động (đang chạy) từ CN 2022-09-04 14:51:10 UTC; 7 giây trước Tài liệu: man:nginx(8) Tiến trình: 7644 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS) Tiến trình: 7645 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS) PID chính: 7646 (nginx) Nhiệm vụ: 3 (giới hạn: 4579) Bộ nhớ: 3,3M CPU: 45ms CGroup: /system.slice/nginx.service ??7646 "nginx: tiến trình chính /usr/sbin/nginx -g daemon on; master_process on;" ??7647 "nginx: worker process" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" ""04/09 14:51:10 ubuntu2204 systemd[1]: Bắt đầu Một máy chủ web hiệu suất cao và một máy chủ proxy ngược...04/09 14:51:10 ubuntu2204 systemd[1]: Bắt đầu Một máy chủ web hiệu suất cao và một máy chủ proxy ngược.