Tutorials  /  Linux Basics

SonarQube auf CentOS 7 installieren – Anleitung mit Apache

Ccentron Redaktion · Juli 2025 ·8 Min. Lesezeit ·Linux Basics, Tutorial

SonarQube ist ein quelloffenes Tool zur Qualitätssicherung in der Softwareentwicklung. Die Anwendung wurde in Java geschrieben und ist mit verschiedenen Datenbanksystemen kompatibel. Sie ermöglicht die kontinuierliche Analyse von Quellcode, überwacht die Integrität von Anwendungen und weist auf neu entstandene Fehler hin. Dank leistungsstarker Code-Analysetools erkennt SonarQube auch komplexe Probleme und lässt sich problemlos in DevOps-Umgebungen integrieren.

In dieser Anleitung zeigen wir dir, wie du die aktuelle Version von SonarQube auf einem CentOS 7 System installierst.

Voraussetzungen

  • Ein 64-Bit CentOS 7 Server mit mindestens 2 GB RAM
  • Ein Benutzerkonto mit sudo-Rechten
VM

Passende Infrastruktur bei centron

Zum Ausprobieren braucht es keine eigene Hardware: ccloud³ VMs mit vollem Root-Zugriff gibt es ab 3,12 € im Monat, stundengenau abgerechnet und in Sekunden bereit. Cloud Server mieten →

Schritt 1: System aktualisieren

Bevor neue Pakete installiert werden, empfiehlt es sich, das CentOS-System auf den neuesten Stand zu bringen. Melde dich mit einem Benutzerkonto mit sudo-Rechten an und führe folgende Befehle aus:

sudo yum -y install epel-release

sudo yum -y update

sudo shutdown -r now

Sobald das System neu gestartet wurde, logge dich erneut als sudo-Benutzer ein, um fortzufahren.

Schritt 2: Java installieren

Lade zunächst das Oracle SE JDK im RPM-Format herunter:

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"

Installiere anschließend das heruntergeladene Paket mit folgendem Befehl:

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

Überprüfe danach, ob Java korrekt installiert wurde:

java -version

Schritt 3: PostgreSQL installieren und konfigurieren

Richte zunächst das Repository für PostgreSQL ein:

sudo rpm -Uvh https://download.postgresql.org/pub/repos/yum/9.6/redhat/rhel-7-x86_64/pgdg-centos96-9.6-3.noarch.rpm

Installiere anschließend den Datenbankserver samt Zusatztools:

sudo yum -y install postgresql96-server postgresql96-contrib

Initialisiere den Datenbankdienst mit folgendem Befehl:

sudo /usr/pgsql-9.6/bin/postgresql96-setup initdb

Passe danach die Authentifizierungsmethode an:

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

Suche und ersetze die folgenden Einträge:

# 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

Ändere sie wie folgt ab:

# 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

Starte PostgreSQL und aktiviere den Dienst für den automatischen Systemstart:

sudo systemctl start postgresql-9.6

sudo systemctl enable postgresql-9.6

Ändere das Passwort für den Standardbenutzer postgres:

sudo passwd postgres

Wechsle anschließend zum Benutzer postgres:

su - postgres

Erstelle einen eigenen PostgreSQL-Nutzer für SonarQube:

createuser sonar

Öffne die PostgreSQL-Shell:

psql

Lege ein sicheres Passwort für den neuen Benutzer an:

ALTER USER sonar WITH ENCRYPTED password 'StrongPassword';

Erstelle die Datenbank sonar und verknüpfe sie mit dem zuvor erstellten Benutzer:

CREATE DATABASE sonar OWNER sonar;

Beende die PostgreSQL-Konsole mit:

\q

Zurück in die normale Benutzerumgebung gelangst du mit:

exit

Schritt 4: SonarQube herunterladen und konfigurieren

Lade das Installationsarchiv von SonarQube herunter:

wget https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-6.4.zip

Die jeweils neueste Version findest du auf der offiziellen SonarQube-Downloadseite.

Installiere das Entpackungswerkzeug unzip:

sudo yum -y install unzip

Entpacke das heruntergeladene Archiv nach /opt:

sudo unzip sonarqube-6.4.zip -d /opt

Benenne den entpackten Ordner um, um ihn einheitlich zu referenzieren:

sudo mv /opt/sonarqube-6.4 /opt/sonarqube

Öffne nun die Konfigurationsdatei von SonarQube zur Bearbeitung:

sudo nano /opt/sonarqube/conf/sonar.properties

Suche die folgenden Einträge und trage die Verbindungsdaten zur zuvor eingerichteten PostgreSQL-Datenbank ein:

sonar.jdbc.username=sonar

sonar.jdbc.password=StrongPassword

sonar.jdbc.url=jdbc:postgresql://localhost/sonar

Schritt 5: Systemd-Dienst für SonarQube einrichten

Damit SonarQube nicht manuell gestartet werden muss, wird ein systemd-Service definiert:

sudo nano /etc/systemd/system/sonar.service

Füge in der Datei folgenden Inhalt ein:

[Unit]

Description=SonarQube service

After=syslog.target network.target

[Service]

Type=forking

ExecStart=/opt/sonarqube/bin/linux-x86-64/sonar.sh start

ExecStop=/opt/sonarqube/bin/linux-x86-64/sonar.sh stop

User=root

Group=root

Restart=always

[Install]

WantedBy=multi-user.target

Aktiviere den Dienst und starte SonarQube:

sudo systemctl start sonar

sudo systemctl enable sonar

Den aktuellen Status des Dienstes überprüfst du mit:

sudo systemctl status sonar

Schritt 6: Apache als Reverse Proxy einrichten

Standardmäßig läuft SonarQube lokal auf Port 9000. Um es über Port 80 öffentlich zugänglich zu machen, installiere den Apache-Webserver:

sudo yum -y install httpd

Erstelle eine neue virtuelle Host-Konfigurationsdatei:

sudo nano /etc/httpd/conf.d/sonar.yourdomain.com.conf

Füge folgenden Inhalt ein:

ServerName sonar.yourdomain.com

ServerAdmin me@yourdomain.com

ProxyPreserveHost On

ProxyPass / http://localhost:9000/

ProxyPassReverse / http://localhost:9000/

TransferLog /var/log/httpd/sonar.yourdomain.com_access.log

ErrorLog /var/log/httpd/sonar.yourdomain.com_error.log

Aktiviere und starte den Apache-Webserver:

sudo systemctl start httpd

sudo systemctl enable httpd

Schritt 7: Firewall-Einstellungen anpassen

Erlaube HTTP-Zugriffe durch die Firewall:

sudo firewall-cmd --add-service=http --permanent

sudo firewall-cmd --reload

Starte SonarQube neu:

sudo systemctl start sonar

Deaktiviere SELinux vorübergehend, um Zugriffsprobleme zu vermeiden:

sudo setenforce 0

SonarQube ist nun einsatzbereit und über die folgende Adresse erreichbar:

http://sonar.yourdomain.com

Zugangsdaten (Standard):

  • Benutzername: admin
  • Passwort: admin

Nach dem Login kannst du direkt mit der kontinuierlichen Codeanalyse starten.

Für neuere Versionen

Bei der Installation von SonarQube ab Version 7.1 sind zusätzliche Anpassungen notwendig, da Elasticsearch nicht als root ausgeführt werden darf:

  • Ändere die Besitzrechte des Installationsverzeichnisses:

chown -R sonar:sonar /opt/sonarqube

  • Bearbeite das Startskript sonar.sh und setze den Benutzer:

Ändere die Zeile:

#RUN_AS_USER=

zu:

RUN_AS_USER=sonar

  • Passe zusätzlich die systemd-Service-Datei an, sodass sie mit dem Benutzer sonar arbeitet.

Fazit

Mit dieser detaillierten Anleitung hast du SonarQube erfolgreich unter CentOS 7 eingerichtet – inklusive PostgreSQL-Integration, systemd-Dienst und Reverse Proxy via Apache. Diese Konfiguration bietet dir eine stabile Grundlage für die fortlaufende Analyse der Codequalität in einer produktionsreifen Umgebung. Achte darauf, dein Setup zusätzlich abzusichern, um langfristige Stabilität und Sicherheit zu gewährleisten.

Jetzt 200 € Guthaben sichern

Testen Sie Ihr Setup auf ccloud³

Registrieren Sie sich in der ccloud³ und erhalten Sie 200 € Startguthaben für Ihr Projekt – z. B. für eine PostgreSQL-VM mit automatischen Backups.

centron Redaktion Technische Redaktion

Das Redaktionsteam von centron schreibt Anleitungen aus dem Betriebsalltag: getestet auf unserer eigenen Plattform, betrieben im Rechenzentrum in Hallstadt bei Bamberg.

Kategorie Linux Basics
Teilen
Noch offene Fragen?

Unser Team hilft Ihnen bei Ihrem konkreten Setup weiter – von Menschen, die die Plattform selbst betreiben.

War dieses Tutorial hilfreich?

Ihre Antwort wird anonym gespeichert und hilft uns, die Tutorials zu verbessern.

Kommentare

Noch keine Kommentare – stellen Sie die erste Frage zu diesem Tutorial.

Zum Kommentieren anmelden

Kommentare stehen centron-Kunden offen. Melden Sie sich in Ihrem Konto an, um eine Frage zu diesem Tutorial zu stellen.

Weiterlesen

Das könnte Sie auch interessieren

Jetzt kostenlos anfangen

Melden Sie sich an und erhalten Sie in den ersten 60 Tagen ein Guthaben von 200 € bei centron.

Dieses Werbeangebot gilt nur für neue Konten. Angebot ausschließlich für Gewerbetreibende.

Jetzt loslegen Sales kontaktieren