Гид по технологиям

Установка ReportServer на CentOS 7

• 6 min read • DevOps • Обновлено 21 Nov 2025
Установка ReportServer на CentOS 7
Установка ReportServer на CentOS 7

О чём эта статья

ReportServer — это бесплатная и открытая платформа бизнес‑аналитики (OSBI) с отчётностью и инструментами анализа. В статье показаны практические шаги установки и базовой настройки на сервере CentOS 7, а также рекомендации по безопасности, резервному копированию и отладке.

Кому и зачем

Целевая аудитория: сисадмины и DevOps, которым нужно быстро развернуть ReportServer для тестовой или производственной среды. Кратко: получаете рабочий стек (Java + Tomcat + PostgreSQL + ReportServer) и базовые правила эксплуатации.

Предварительные требования

  • Минимальная установка CentOS 7
  • Привилегии root (или sudo)
  • Доступ в интернет для загрузки пакетов

Важно: используйте отдельный тестовый сервер перед развертыванием в продакшн. Определите политику паролей и резервного копирования заранее.


План действий

  1. Обновить систему
  2. Установить Java (Oracle JDK в примере; можно использовать OpenJDK)
  3. Установить Tomcat и запустить его от пользователя tomcat
  4. Установить PostgreSQL и создать базу/пользователя
  5. Скачать и развернуть ReportServer
  6. Инициализировать схему и создать systemd‑службу
  7. Проверить запуск и выполнить базовую жесткую настройку безопасности

1. Обновление пакетов

Перед началом рекомендуется обновить пакеты и репозитории:

yum -y update

2. Установка Java

В исходной инструкции показан способ установки Oracle Java 8u131 с помощью wget: если вам нужен Oracle JDK, выполните команду загрузки 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"

Установите RPM:

yum -y localinstall jdk-8u131-linux-x64.rpm

Проверьте версию Java:

java -version

Пример вывода:

[root@liptan-pc ~]# 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

Если пусто, добавьте в ~/.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

Примечание: как альтернатива Oracle JDK можно использовать OpenJDK 1.8, установив пакет openjdk-devel через yum. OpenJDK часто предпочтительнее для обновлений безопасности и совместимости с репозиториями Linux.

Important: убедитесь, что используемая версия Java совместима с версией ReportServer, которую вы собираетесь развернуть.

3. Установка Tomcat

Создадим группу и пользователя tomcat без shell и с домашней директорией /opt/tomcat:

groupadd tomcat
useradd -M -s /bin/nologin -g tomcat -d /opt/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 and распакуем:

mkdir /opt/tomcat
tar xvf apache-tomcat-8*tar.gz -C /opt/tomcat --strip-components=1
chown -R tomcat:tomcat /opt/tomcat

После развёртывания Tomcat убедитесь, что права корректны и скрипты запуска исполняемы.

4. Установка PostgreSQL

Установите сервер PostgreSQL и дополнительные утилиты:

yum -y install postgresql-server postgresql-contrib

Инициализируйте базу данных:

postgresql-setup initdb

Запустите и включите автозапуск:

systemctl start postgresql
systemctl enable postgresql

Создайте пароль для суперпользователя postgres:

sudo -u postgres psql postgres
\password postgres

Выйдите из psql: Enter \q или Ctrl+D.

Создайте базу данных и роль для ReportServer:

sudo -u postgres createdb reportserver
sudo -u postgres createuser -P -s -e reportserver

Команда createuser попросит ввести пароль дважды.

Назначьте права на базу:

sudo -u postgres psql
GRANT ALL PRIVILEGES ON DATABASE reportserver TO reportserver;
\q

Откройте конфигурацию pg_hba.conf для аутентификации локальных подключений. Отредактируйте /var/lib/pgsql/data/pg_hba.conf:

nano /var/lib/pgsql/data/pg_hba.conf

В исходной инструкции смените строки:

local   all             all                                     peer
host    all             all             127.0.0.1/32            ident
host    all             all             ::1/128                 ident

на

local   all             all                                     trust
host    all             all             127.0.0.1/32            md5
host    all             all             ::1/128                 md5

Примечание: использование trust разрешает любому локальному пользователю подключаться к любой базе без пароля — это удобно для простого теста, но небезопасно для продакшн. Для боевого сервера оставьте local как peer или md5 и используйте локальную аутентификацию по паролям.

Перезапустите PostgreSQL:

systemctl restart postgresql

5. Скачивание и развёртывание 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 и распакуем:

rm -rf /opt/tomcat/webapps/ROOT/*
unzip reportserver.zip -d /opt/tomcat/webapps/ROOT/

Скопируем пример конфигурации persistence и отредактируем её:

cp /opt/tomcat/webapps/ROOT/WEB-INF/classes/persistence.properties.example /opt/tomcat/webapps/ROOT/WEB-INF/classes/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

Замените username, password и имя базы на ваши значения.

Настройте права:

chown -R tomcat:tomcat /opt/tomcat/webapps/ROOT/

Инициализируйте схему ReportServer (выполните от имени созданного DB‑пользователя):

psql -U reportserver -d reportserver -a -f /opt/tomcat/webapps/ROOT/ddl/reportserver-RS3.0.2-5855-schema-PostgreSQL_CREATE.sql

Команда запросит пароль пользователя reportserver; при успешном выполнении будет создана структура БД.

6. Systemd‑служба для Tomcat

Создайте unit‑файл:

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 daemon-reload
systemctl start tomcat
systemctl enable tomcat
systemctl status tomcat

Пример успешного статуса:

[root@liptan-pc 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)

7. Доступ к приложению и первичная настройка

Откройте в браузере:

http://your-server-ip:8080

Вы увидите экран входа ReportServer.

Окно входа в ReportServer

По умолчанию используйте логин root и пароль root. После входа смените пароль администратора и настройте роли/права.

Интерфейс ReportServer с дашбордом

Компоненты интерфейса: панели, TeamSpace, Scheduler и администрирование.

TeamSpace в ReportServer

Планировщик отчётов

Смена пароля и настройки администрации


Рекомендации по безопасности и эксплуатации

Important: выполните эти шаги до перевода в продакшн:

  • Смените дефолтные логин/пароль root
  • Ограничьте доступ к порту 8080 через firewall (firewalld/iptables)
  • Рассмотрите подстановку обратного прокси (nginx/Apache) и TLS (Let’s Encrypt)
  • Отключите trust‑аутентификацию в pg_hba.conf и используйте md5/peer
  • Настройте SELinux в режиме enforcing и продотестируйте политику (или отключите SELinux только после анализа рисков)
  • Резервное копирование: регулярный дамп БД (pg_dump) и бэкап каталога /opt/tomcat/webapps/ROOT
  • Логи: настройте ротацию логов (logrotate) и централизуйте их при необходимости

Firewall (пример для firewalld)

Откройте только нужный порт или используйте прокси:

firewall-cmd --add-port=8080/tcp --permanent
firewall-cmd --reload

TLS через обратный прокси

Для боевого сервера рекомендовано выставлять приложение через nginx с TLS и проводить аутентификацию на прокси‑уровне.


Отладка: частые ошибки и способы решения

  • Tomcat не стартует: проверьте логи /opt/tomcat/logs/catalina.out и убедитесь в корректности JAVA_HOME и прав пользователя tomcat.
  • Ошибка подключения к БД: проверьте параметры в persistence.properties, доступность порта PostgreSQL и метод аутентификации в pg_hba.conf.
  • Права файлов: если Tomcat не может читать/писать, проверьте владельца и права на /opt/tomcat и /opt/reportserver.
  • Ошибки при выполнении DDL: проверьте кодировку файла SQL и права пользователя reportserver.

Альтернативные подходы и расширения

  • Docker: есть образы с Tomcat+ReportServer. Для быстрой изоляции и тестирования можно использовать контейнеры.
  • Другие СУБД: ReportServer поддерживает разные диалекты Hibernate, но в инструкции приводится PostgreSQL. Для MySQL потребуется корректировка dialect и JDBC URL.
  • HA и масштабирование: разделите БД и приложение на разные хосты; используйте балансировщик и пул соединений.

Контроль качества и приёмка

Критерии приёмки:

  • Веб‑интерфейс доступен по адресу http://your-server-ip:8080
  • Войдя под админом (root), вы видите дашборд и интерфейс TeamSpace
  • Скрипт инициализации БД выполнился без ошибок и в таблицах появились сущности ReportServer
  • Tomcat и PostgreSQL запущены как службы systemd и автозапуск включён

Тестовые сценарии:

  • Попытка логина под дефолтным root/root и успешная смена пароля
  • Создание тестового отчёта и запуск через Scheduler
  • Резервное копирование дампа базы и восстановление в тестовой среде

Чек‑лист ролей (администратор / разработчик)

Администратор:

  • Обновил систему и установил базовый стек
  • Настроил автозапуск systemd для tomcat
  • Настроил firewall и TLS
  • Выполнил резервное копирование

Разработчик / BI‑аналитик:

  • Проверил доступ к TeamSpace
  • Создал пример отчёта и проверил визуализацию
  • Настроил Scheduler для тестовых задач

Краткая методика отката и восстановления

  1. Если deploy вызвал проблемы — остановите Tomcat: systemctl stop tomcat
  2. Верните каталог /opt/tomcat/webapps/ROOT из резервной копии
  3. Если проблема в БД — восстановите дамп PostgreSQL: pg_restore или psql
  4. Перезапустите службы и проверьте логи

Факты и рекомендации (факт‑бокс)

  • Отчётность и пользовательские дашборды строятся в веб‑интерфейсе ReportServer
  • База: PostgreSQL рекомендуемая для стабильной работы
  • JVM: Java 8 совместима с приведёнными версиями Tomcat/ReportServer

1‑строчная глоссарий

  • Tomcat — Java‑контейнер для веб‑приложений; PostgreSQL — реляционная СУБД; persistence.properties — конфигурация подключения JPA/Hibernate.

Заключение

В этой инструкции вы узнали, как установить ReportServer на CentOS 7: подготовить сервер, установить Java, Tomcat и PostgreSQL, развернуть ReportServer, инициализировать схему и настроить systemd‑службу. После установки обязательно смените дефолтные пароли, настройте firewall и TLS, а также организуйте регулярные бэкапы.

Краткое резюме ниже.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро