Установка ReportServer на CentOS 7
О чём эта статья
ReportServer — это бесплатная и открытая платформа бизнес‑аналитики (OSBI) с отчётностью и инструментами анализа. В статье показаны практические шаги установки и базовой настройки на сервере CentOS 7, а также рекомендации по безопасности, резервному копированию и отладке.
Кому и зачем
Целевая аудитория: сисадмины и DevOps, которым нужно быстро развернуть ReportServer для тестовой или производственной среды. Кратко: получаете рабочий стек (Java + Tomcat + PostgreSQL + ReportServer) и базовые правила эксплуатации.
Предварительные требования
- Минимальная установка CentOS 7
- Привилегии root (или sudo)
- Доступ в интернет для загрузки пакетов
Важно: используйте отдельный тестовый сервер перед развертыванием в продакшн. Определите политику паролей и резервного копирования заранее.
План действий
- Обновить систему
- Установить Java (Oracle JDK в примере; можно использовать OpenJDK)
- Установить Tomcat и запустить его от пользователя tomcat
- Установить PostgreSQL и создать базу/пользователя
- Скачать и развернуть ReportServer
- Инициализировать схему и создать systemd‑службу
- Проверить запуск и выполнить базовую жесткую настройку безопасности
1. Обновление пакетов
Перед началом рекомендуется обновить пакеты и репозитории:
yum -y update2. Установка 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 postgresql5. Скачивание и развёртывание 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.

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

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



Рекомендации по безопасности и эксплуатации
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 --reloadTLS через обратный прокси
Для боевого сервера рекомендовано выставлять приложение через 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 для тестовых задач
Краткая методика отката и восстановления
- Если deploy вызвал проблемы — остановите Tomcat: systemctl stop tomcat
- Верните каталог /opt/tomcat/webapps/ROOT из резервной копии
- Если проблема в БД — восстановите дамп PostgreSQL: pg_restore или psql
- Перезапустите службы и проверьте логи
Факты и рекомендации (факт‑бокс)
- Отчётность и пользовательские дашборды строятся в веб‑интерфейсе 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, а также организуйте регулярные бэкапы.
Краткое резюме ниже.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента