Встановлення на Windows Server (ZIP)¶
Інструкція описує повний цикл встановлення SonarQube Server Enterprise Edition напряму на Windows Server (без Docker) — від Java до реєстрації служби.
1. Передумови¶
- Windows Server 2019 (або новіший)
- Права адміністратора
- Мінімум 4 ГБ RAM
2. Docker на Windows — коли він доступний, а коли ні¶
Docker-варіант (аналогічний Linux-розділу) технічно можливий і на Windows, але тільки на Windows 10/11 desktop з Docker Desktop і увімкненим WSL2-бекендом — там Linux-контейнери працюють штатно.
На Windows Server це зазвичай не працює. Причина — апаратна віртуалізація:
- Docker Desktop на Windows Server офіційно не підтримується;
- голий Docker Engine на Windows Server за замовчуванням вміє запускати лише Windows-контейнери — образ
sonarqube(Linux-only) не підійде; - щоб отримати Linux-контейнери, потрібен WSL2 або Hyper-V isolation — обидва вимагають nested virtualization, увімкненої на рівні хоста/гіпервізора;
- якщо Windows Server сам є віртуальною машиною (у VMware, Hyper-V іншого рівня, хмарі) — nested virtualization часто вимкнена і недоступна адміністратору гостьової системи.
Перед тим як обирати Docker-шлях на Windows Server, перевірте:
Порада
Якщо команда видає помилку The processor does not have required virtualization capabilities — Docker з Linux-контейнерами на цій машині неможливий, і нативний ZIP — єдиний робочий шлях. Це часта ситуація на клієнтських POC-стендах.
3. Встановлення Java 21¶
SonarQube 2026.x LTA вимагає саме Java 21 (class file version 65.0).
$ProgressPreference = 'SilentlyContinue'
Invoke-WebRequest -UseBasicParsing "https://download.java.net/java/GA/jdk21.0.2/f2283984656d49d69e91c558476027ac/13/GPL/openjdk-21.0.2_windows-x64_bin.zip" -OutFile "$env:TEMP\jdk21.zip"
Expand-Archive -Path "$env:TEMP\jdk21.zip" -DestinationPath "C:\Java21" -Force
[Environment]::SetEnvironmentVariable("JAVA_HOME", "C:\Java21\jdk-21.0.2", "Machine")
[Environment]::SetEnvironmentVariable("Path", $env:Path + ";C:\Java21\jdk-21.0.2\bin", "Machine")
Закрийте і відкрийте PowerShell заново, перевірте:
4. Встановлення PostgreSQL¶
4.1 Завантаження інсталятора¶
$ProgressPreference = 'SilentlyContinue'
Invoke-WebRequest -UseBasicParsing "https://get.enterprisedb.com/postgresql/postgresql-15.8-1-windows-x64.exe" -OutFile "$env:TEMP\postgresql.exe"
4.2 Встановлення в тихому режимі¶
Start-Process -FilePath "$env:TEMP\postgresql.exe" -ArgumentList "--mode unattended --superpassword sonar --servicename postgresql" -Wait
4.3 Перевірка служби¶
Статус має бути Running.
4.4 Створення бази та користувача¶
& "C:\Program Files\PostgreSQL\15\bin\psql.exe" -U postgres -c "CREATE USER sonar WITH ENCRYPTED PASSWORD 'sonar';"
& "C:\Program Files\PostgreSQL\15\bin\psql.exe" -U postgres -c "CREATE DATABASE sonarqube OWNER sonar;"
5. Завантаження та розпакування SonarQube¶
ZIP для Enterprise Edition береться зі сторінки SonarQube Downloads.
New-Item -Path "C:\Sonar" -ItemType Directory
Invoke-WebRequest -UseBasicParsing "<ЛІНК_НА_ZIP>" -OutFile "C:\Sonar\sonarqube.zip"
Expand-Archive -Path "C:\Sonar\sonarqube.zip" -DestinationPath "C:\Sonar" -Force
Важливо
Шлях встановлення не повинен містити пробіли або починатись з цифри.
6. Налаштування підключення до бази даних¶
Відкрийте C:\Sonar\sonarqube-X.X\conf\sonar.properties і пропишіть:
sonar.jdbc.username=sonar
sonar.jdbc.password=sonar
sonar.jdbc.url=jdbc:postgresql://localhost:5432/sonarqube
7. Перший запуск (перевірка)¶
Дочекайтесь рядка SonarQube is operational, перевірте http://localhost:9000.
Логін/пароль за замовчуванням: admin / admin — система одразу попросить змінити пароль.
Зупинити: Ctrl+C.
8. Встановлення як Windows-служби¶
Перевірка:
Автозапуск при перезавантаженні сервера:
9. Наступні кроки¶
- Отримати Server ID і активувати ліцензію
- Встановити SonarScanner CLI та запустити перше сканування
- Перевірити мережеві налаштування (порти 9000, 5432, GitLab 443, SMTP) відповідно до узгодженої з клієнтом схеми