a reporting server is a centralized, server-based application that creates, manages, and delivers various reports. In this chapter we will cover the installation of BIRT (Businness Intelligence Reporting Tool)
bash console
sudo apt install -y tomcat10 default-jdk curl
```
### 2. Download BIRT 4.23.0 runtime
Download manually from browser (wget redirects to HTML):
```
https://download.eclipse.org/birt/updates/release/4.23.0/downloads/
Save the zip to /home/sis/Downloads/birt-runtime-4.23.0-*.zip
bash console
wget "https://repo1.maven.org/maven2/com/microsoft/sqlserver/mssql-jdbc/12.6.1.jre11/mssql-jdbc-12.6.1.jre11.jar" \
-O mssql-jdbc.jar
bash console
wget "https://repo1.maven.org/maven2/org/apache/tomcat/jakartaee-migration/1.0.8/jakartaee-migration-1.0.8-shaded.jar" \
-O jakartaee-migration.jarbash console
# Run migration
java -jar jakartaee-migration.jar \
~/Downloads/birt-runtime-4.23.0-*.zip \
~/birt-jakarta.war
# Extract only the WebViewerExample webapp folder
mkdir -p ~/birt-war-tmp
unzip -q ~/birt-jakarta.war "WebViewerExample/*" -d ~/birt-war-tmp/
mv ~/birt-war-tmp/WebViewerExample/* ~/birt-war-tmp/
rmdir ~/birt-war-tmp/WebViewerExample
# Verify structure — must show WEB-INF, webcontent, report, etc.
ls ~/birt-war-tmp/
# Add JDBC driver
cp ~/mssql-jdbc.jar ~/birt-war-tmp/WEB-INF/lib/
# Repackage as WAR
jar cf ~/birt-final.war -C ~/birt-war-tmp .bash console
sudo systemctl stop tomcat10
sudo rm -rf /var/lib/tomcat10/webapps/birt /var/lib/tomcat10/webapps/birt.war
sudo cp ~/birt-final.war /var/lib/tomcat10/webapps/birt.war
sudo systemctl start tomcat10
sleep 20
bash console
curl -s "http://localhost:8080/birt/output?__report=example_simple.rptdesign&__format=html" \
-o /tmp/test.html
echo "Size: $(ls -lh /tmp/test.html | awk '{print $5}')"
# Should be ~55K with no errorsnote: BIRT reports must be of the same version of the BIRT server