如何在 CentOS 7 上安装 ReportServer
在此页
- 安装报表服务器
- 安装 JAVA
- 安装 Tomcat 服务器
- 安装 PostgreSQL
- 安装报表服务器
ReportServer 是一个免费的开源商业智能 (OSBI) 平台,具有强大的报告和分析工具。它从多个业务接触点收集数据,并根据数据生成不同的报告。它提供了一个响应式和统一的界面来向用户显示数据。它提供强大的临时报告功能,并将 Jasper 和 Eclipse BIRT 集成到一个统一的环境中。
在本教程中,我们将在 CentOS 7 服务器上安装 ReportServer。
先决条件
- 最小的 CentOS 7 服务器
- 根权限
安装报表服务器
在安装任何包之前,建议您使用以下命令更新包和存储库。
yum -y update
安装JAVA
更新系统后,我们将在服务器中安装最新版本的 Oracle Java。运行以下命令下载 RPM 包。
wget --no-cookies --no-check-certificate --header "Cookie:oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.rpm"
如果你没有安装 wget,你可以运行 yum -y install wget 来安装 wget。现在使用以下命令安装下载的 RPM。
yum -y localinstall jdk-8u131-linux-x64.rpm
您现在可以使用以下命令检查 Java 版本。
java -version
您将获得以下输出。
[ ~]# java -version java version "1.8.0_131" Java(TM) SE Runtime Environment (build 1.8.0_131-b11) Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)
您还需要检查是否设置了 JAVA_HOME 环境变量。同样运行以下命令。
echo $JAVA_HOME
如果您得到 null 或空白输出,则需要手动设置 JAVA_HOME 变量。使用您喜欢的编辑器编辑 .bash_profile 文件。在本教程中,我们将使用 nano 编辑器。运行以下命令以使用 nano 编辑 .bash_profile。
nano ~/.bash_profile
现在在文件末尾添加以下行。
export JAVA_HOME=/usr/java/jdk1.8.0_131/ export JRE_HOME=/usr/java/jdk1.8.0_131/jre
现在使用以下命令获取文件。
source ~/.bash_profile
现在您可以再次运行 echo $JAVA_HOME 命令来检查是否设置了环境变量。
[ ~]# echo $JAVA_HOME /usr/java/jdk1.8.0_131/
安装 Tomcat 服务器
安装 JAVA 后,您将需要安装 Tomcat 服务器。 Tomcat 是 JAVA 应用程序的应用程序服务器。运行以下命令创建 tomcat 用户和组。
groupadd tomcat
上面的命令将创建一个名为 tomcat 的组。
useradd -M -s /bin/nologin -g tomcat -d /opt/tomcat tomcat
上面的命令将创建一个没有登录 shell 和主目录为 /opt/tomcat 的用户 tomcat。
现在使用以下命令从 Tomcat 下载页面下载 Tomcat 存档。
cd ~
wget http://www-us.apache.org/dist/tomcat/tomcat-8/v8.5.32/bin/apache-tomcat-8.5.32.tar.gz
现在我们将在 /opt/tomcat 目录中安装 tomcat 服务器。使用以下命令创建一个新目录并提取存档。
mkdir /opt/tomcat
tar xvf apache-tomcat-8*tar.gz -C /opt/tomcat --strip-components=1
现在使用以下命令将文件的所有权提供给 tomcat 用户和组。
chown -R tomcat:tomcat /opt/tomcat
安装 PostgreSQL
现在我们已经设置了 Tomcat,您可以继续安装 PostgreSQL 数据库服务器。运行以下命令来安装 PostgreSQL。
yum -y install postgresql-server postgresql-contrib
现在使用以下命令初始化数据库。
postgresql-setup initdb
使用以下命令启动并启用 PostgreSQL 数据库服务。
systemctl start postgresql
systemctl enable postgresql
现在运行以下命令,使用以下命令更改名为 postgres 的 PostgreSQL root 用户的密码。
sudo -u postgres psql postgres
\password postgres
输入 \q 或 ctrl+D 按钮退出 Postgres shell。
现在运行以下命令为 ReportServer 数据库 reportserver 创建一个新数据库。
sudo -u postgres createdb reportserver
现在运行以下命令为 ReportServer 数据库创建一个新用户。
sudo -u postgres createuser -P -s -e reportserver
您将需要输入密码两次。您应该得到以下输出。
[ ~]# sudo -u postgres createuser -P -s -e reportserver Enter password for new role: Enter it again: CREATE ROLE reportserver PASSWORD 'md5171d269772c6fa27e2d02d9e13f0538b' SUPERUSER CREATEDB CREATEROLE INHERIT LOGIN;
现在使用以下命令将数据库用户分配给数据库。
sudo -u postgres psql
GRANT ALL PRIVILEGES ON DATABASE reportserver TO reportserver;
使用 \q 退出 shell。
现在您需要编辑 PostgreSQL 配置文件,以便无需 postgres 用户即可连接数据库。使用任何编辑器编辑 pg_hba.conf。
nano /var/lib/pgsql/data/pg_hba.conf
找到以下行并将 peer 更改为 trust 并将 idnet 更改为 md5。
# TYPE DATABASE USER ADDRESS METHOD # "local" is for Unix domain socket connections only local all all peer # IPv4 local connections: host all all 127.0.0.1/32 ident # IPv6 local connections: host all all ::1/128 ident
更新后,配置应如下所示。
# TYPE DATABASE USER ADDRESS METHOD # "local" is for Unix domain socket connections only local all all trust # IPv4 local connections: host all all 127.0.0.1/32 md5 # IPv6 local connections: host all all ::1/128 md5
现在使用以下命令重新启动 PostgreSQL 服务器。
systemctl restart postgresql
安装报表服务器
现在我们已经设置了 Tomcat 和 PostgreSQL,我们可以下载并设置 ReportServer。运行以下命令以使用以下命令下载 ReportServer。
wget https://downloads.sourceforge.net/project/dw-rs/bin/3.0/RS3.0.2-5855-2016-05-29-17-55-24-reportserver-ce.zip -O reportserver.zip
您始终可以使用以下链接找到指向最新版本的链接。
现在使用以下命令删除 Tomcat 安装的 web ROOT 文件夹中的所有内容。
rm -rf /opt/tomcat/webapps/ROOT/*
现在使用以下命令提取 ReportServer 存档。
unzip reportserver.zip -d /opt/tomcat/webapps/ROOT/
现在使用以下命令从示例文件复制配置文件。
cp /opt/tomcat/webapps/ROOT/WEB-INF/classes/persistence.properties.example /opt/tomcat/webapps/ROOT/WEB-INF/classes/persistence.properties
现在打开 persistence.properties 文件并提供我们之前创建的数据库信息。
nano /opt/tomcat/webapps/ROOT/WEB-INF/classes/persistence.properties
现在在文件末尾添加以下行。
hibernate.connection.username=reportserver hibernate.connection.password=StrongPassword hibernate.dialect=net.datenwerke.rs.utils.hibernate.PostgreSQLDialect hibernate.connection.driver_class=org.postgresql.Driver hibernate.connection.url=jdbc:postgresql://localhost/reportserver
根据您创建的数据库设置更改用户名、密码和数据库名称。
现在使用以下命令提供必要的所有权。
chown -R tomcat:tomcat /opt/tomcat/webapps/ROOT/
现在使用以下命令初始化 ReportServer 数据库。
psql -U reportserver -d reportserver -a -f /opt/tomcat/webapps/ROOT/ddl/reportserver-RS3.0.2-5855-schema-PostgreSQL_CREATE.sql
它会询问你数据库用户的密码,提供密码,然后它会运行 DDL 脚本来初始化数据库。
最后,您需要创建一个 Systemd 脚本来运行 tomcat 服务器。
使用以下命令创建一个新的 Systemd 文件。
nano /etc/systemd/system/tomcat.service
将以下内容复制并粘贴到文件中。
[Unit] Description=Apache Tomcat Web Application Container After=syslog.target network.target [Service] Type=forking Environment=JRE_HOME=/usr/java/jdk1.8.0_131/jre Environment=CATALINA_HOME=/opt/tomcat Environment=CATALINA_BASE=/opt/tomcat Environment='JAVA_OPTS="-Djava.awt.headless=true -Xmx2g -XX:+UseConcMarkSweepGC -Dfile.encoding=UTF8 -Drs.configdir=/opt/reportserver"' ExecStart=/opt/tomcat/bin/startup.sh ExecStop=/opt/tomcat/bin/shutdown.sh User=tomcat Group=tomcat UMask=0007 RestartSec=10 Restart=always [Install] WantedBy=multi-user.target
现在您可以使用以下命令启动应用程序。
systemctl start tomcat
要使 Tomcat 服务在引导时自动启动,请运行以下命令。
systemctl enable tomcat
要检查服务是否正在运行,请运行以下命令。
systemctl status tomcat
如果服务正在运行,您应该得到以下输出。
[ reportserver]# systemctl status tomcat ? tomcat.service - Apache Tomcat Web Application Container Loaded: loaded (/etc/systemd/system/tomcat.service; enabled; vendor preset: disabled) Active: active (running) since Wed 2017-06-07 15:00:32 UTC; 4min 41s ago Main PID: 13179 (java) CGroup: /system.slice/tomcat.service ??13179 /usr/java/jdk1.8.0_131/jre/bin/java -Djava.util.logging.config.file=/opt/tomcat/conf/logging.propert... Jun 07 15:00:32 liptan-pc systemd[1]: Starting Apache Tomcat Web Application Container... Jun 07 15:00:32 liptan-pc systemd[1]: Started Apache Tomcat Web Application Container.
您现在可以通过以下 URL 访问您的应用程序。
http://your-server-ip:8080
您将看到以下登录界面。
您现在可以使用用户名 root 和密码 root 登录您的网站。登录后,您将看到默认仪表板。
在仪表板上,您可以根据自己的选择添加工具和小部件。您可以通过单击顶部栏中的 TeamSpace 链接来访问 TeamSpace。
您可以从计划程序菜单配置计划的报告。您可以通过单击顶部栏中的调度程序链接来访问调度程序。
要更改密码和访问管理仪表板,请单击顶部菜单中的管理链接。
结论
在本教程中,我们学习了如何在 CentOS 7 上安装 ReportServer。您现在可以使用该应用程序为您的公司分析和生成不同的报告。