Установка SonarQube на Rocky Linux
В этом руководстве описано, как установить и настроить SonarQube на сервере Rocky Linux 9. SonarQube — платформа с открытым исходным кодом для статического анализа кода: обнаруживает ошибки, «запахи кода» и уязвимости безопасности, поддерживает множество языков программирования и автоматизирует код-ревью для поддержания высокого качества. SonarQube основан на Java и может быть развёрнут на различных дистрибутивах Linux (включая Rocky Linux) или в контейнерах (Docker, Kubernetes).
Описываемая установка использует OpenJDK 17, PostgreSQL в качестве базы данных, Apache в качестве обратного прокси и Let's Encrypt для HTTPS.
Заказать сервер
Для размещения экземпляра SonarQube HostMyServers предлагает несколько подходящих вариантов:
- VPS Performance — идеально для небольших проектов
- NVMe VPS — отличное соотношение цены и качества
- Эко выделенные серверы — для многих проектов или тяжёлого анализа
- Выделенные серверы Performance — максимальная производительность
Предварительные требования
- SSH-доступ от root или пользователя с sudo
- Система Rocky Linux 9 64 бит
- Не менее 4 ГБ ОЗУ (SonarQube и Elasticsearch требовательны к памяти)
- Доменное имя (например,
sonarqube.вашдомен.com) с записью A, указывающей на IP серве ра - Доступны порты 80 (HTTP) и 443 (HTTPS)
Требуемая конфигурация
| Компонент | Минимум | Рекомендуется |
|---|---|---|
| ОЗУ | 4 ГБ | 8 ГБ |
| CPU | 2 ядра | 4 ядра |
| Хранилище | 10 ГБ | 20 ГБ |
| Сеть | 100 Мбит/с | 1 Гбит/с |
SonarQube прослушивает порт 9000 локально. Apache выступает обратным прокси к этому порту; публичный доступ по HTTP/HTTPS на 80/443.
Подключение к серверу
Подключитесь по SSH к серверу Rocky Linux:
ssh пользователь@ip_адрес_сервера
Обновление системы
Обновите пакеты перед началом:
sudo dnf update -y
Установка OpenJDK 17
SonarQube требует JRE/JDK. Версия LTA (long-term active) 2025 SonarQube требует Java 17 или 21. Используем OpenJDK 17.
sudo dnf install -y java-17-openjdk java-17-openjdk-devel
Проверьте установленную версию:
java -version
Должна отображаться строка вида: openjdk version "17.x.x". Если активна более старая версия, выберите Java 17: sudo alternatives --config java.
Создание пользователя SonarQube
SonarQube использует Elasticsearch для поиска и индексации; должен запускаться от не-root пользователя. Создайте отдельного системного пользователя:
sudo useradd --system sonarqube
База данных PostgreSQL для SonarQube
SonarQube поддерживает несколько СУБД. Используем PostgreSQL.
Установка и инициализация PostgreSQL
sudo dnf install -y postgresql-server postgresql-contrib
sudo postgresql-setup --initdb
sudo systemctl enable postgresql
sudo systemctl start postgresql
Создание базы и пользователя
Подключитесь к PostgreSQL под пользователем postgres:
sudo -i -u postgres psql
В консоли PostgreSQL выполните (замените ВАШ_ПАРОЛЬ на надёжный пароль):
\password postgres
CREATE DATABASE sonardb;
CREATE USER sonaruser WITH ENCRYPTED PASSWORD 'ВАШ_ПАРОЛЬ';
GRANT ALL PRIVILEGES ON DATABASE sonardb TO sonaruser;
\q