GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

So installieren Sie SonarQube unter Ubuntu 18.04 LTS

SonarQube ist eine Open-Source-Plattform zur kontinuierlichen Überprüfung der Codequalität von Anwendungen. Es ist in Java geschrieben und unterstützt mehrere Datenbanken. Sie können Code inspizieren und den Zustand einer Anwendung für mehr als 20 Programmiersprachen überprüfen, darunter Java, C, C++, C#, PHP und Websprachen wie JavaScript, HTML und CSS. SonarQube kann Quellcode analysieren, Sicherheitslücken finden, Fehler erkennen und das Ergebnis auf einem webbasierten Dashboard anzeigen. Sie können SonarQube einfach in Maven, Ant, Gradle, MSBuild, LDAP, Active Directory und GitHub integrieren.

In diesem Tutorial lernen wir, wie SonarQube auf einem Ubuntu 18.04 LTS (Bionic Beaver) Server installiert wird.

Anforderungen

  • Ein Server mit Ubuntu 18.04.
  • Ein Nicht-Root-Benutzer mit sudo-Berechtigungen.

Erste Schritte

Bevor Sie beginnen, müssen Sie Ihr System mit der neuesten Version aktualisieren. Sie können dies tun, indem Sie den folgenden Befehl ausführen:

sudo apt-get update -y
sudo apt-get upgrade -y

Sobald Ihr System aktualisiert ist, starten Sie das System neu, um die Änderungen zu übernehmen.

Installieren Sie Java

SonarQube ist in Java geschrieben, daher müssen Sie Java auf Ihrem System installieren. Fügen Sie zuerst das Java-Repository mit dem folgenden Befehl hinzu:

sudo add-apt-repository ppa:webupd8team/java

Aktualisieren Sie als Nächstes das Repository und installieren Sie Java mit dem folgenden Befehl:

sudo apt-get update -y
sudo apt-get install oracle-java8-installer -y

Überprüfen Sie nach der Installation von Java die Java-Version mit dem folgenden Befehl:

Java-Version

Ausgabe:

openjdk version „10.0.2“ 2018-07-17OpenJDK Runtime Environment (build 10.0.2+13-Ubuntu-1ubuntu0.18.04.3)OpenJDK 64-Bit Server VM (build 10.0.2+13-Ubuntu-1ubuntu0 .18.04.3, gemischter Modus)

PostgreSQL installieren und konfigurieren

Standardmäßig ist die neueste Version von PostgreSQL nicht im Standard-Repository von Ubuntu 18.04 verfügbar. Sie müssen also das PostgreSQL-Repository zu Ihrem System hinzufügen.

Sie können dies mit dem folgenden Befehl tun:

sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ `lsb_release -cs`-pgdg main">> /etc/apt/sources.list.d/pgdg .list'
wget -q https://www.postgresql.org/media/keys/ACCC4CF8.asc -O - | sudo apt-key add -

Aktualisieren Sie als Nächstes das Repository und installieren Sie PostgreSQL mit dem folgenden Befehl:

sudo apt-get update -y
sudo apt-get install postgresql postgresql-contrib

Überprüfen Sie nach Abschluss der Installation den Status von PostgreSQL mit dem folgenden Befehl:

sudo systemctl status postgresql

Ausgabe:

? postgresql.service - PostgreSQL RDBMS Geladen:geladen (/lib/systemd/system/postgresql.service; aktiviert; Herstellervoreinstellung:aktiviert) Aktiv:aktiv (beendet) seit So. 02.12.2018 08:49:29 UTC; Vor 4 Std. 30 Min. Prozess:1295 ExecStart=/bin/true (Code=beendet, Status=0/SUCCESS) Haupt-PID:1295 (Code=beendet, Status=0/SUCCESS)Dec 02 08:49:29 ubuntu1804 systemd[1] :PostgreSQL RDBMS wird gestartet ... 02. Dezember 08:49:29 ubuntu1804 systemd[1]:PostgreSQL RDBMS gestartet.

Wechseln Sie als Nächstes mit dem folgenden Befehl zum Postgres-Benutzer:

su - postgres

Erstellen Sie als Nächstes einen Sonarbenutzer mit dem folgenden Befehl:

Benutzersonar erstellen

Wechseln Sie als Nächstes mit dem folgenden Befehl zur PostgreSQL-Shell:

psql

Legen Sie als Nächstes das Passwort für den Sonarbenutzer fest und erstellen Sie mit dem folgenden Befehl eine Sonardatenbank:

BENUTZER Sonar MIT VERSCHLÜSSELTEM Passwort 'Passwort' ÄNDERN;
DATENBANK ERSTELLEN Sonar BESITZER Sonar;

Als nächstes verlassen Sie die PostgreSQL-Shell:

\q

SonarQube installieren und konfigurieren

Erstellen Sie zuerst einen Benutzer für SonarQube mit dem folgenden Befehl:

sudo adduser sonar

Laden Sie als Nächstes die neueste Version von SonarQube mit dem folgenden Befehl herunter:

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

Sobald der Download abgeschlossen ist, entpacken Sie die heruntergeladene Datei mit dem folgenden Befehl:

sonarqube-6.7.6.zip entpacken

Als nächstes kopieren Sie das extrahierte Verzeichnis mit dem folgenden Befehl nach /opt:

sudo cp -r sonarqube-6.7.6 /opt/sonarqube

Geben Sie als Nächstes dem Sonarbenutzer mit dem folgenden Befehl die Eigentümerschaft:

sudo chown -R sonar:sonar /opt/sonarqube

Als Nächstes müssen Sie SonarQube so konfigurieren, dass es als Sonarbenutzer ausgeführt wird. Sie können dies mit dem folgenden Befehl tun:

sudo nano /opt/sonarqube/bin/linux-x86-64/sonar.sh

Nehmen Sie die folgenden Änderungen vor:

RUN_AS_USER=Sonar

Speichern und schließen Sie die Datei. Öffnen Sie dann die Standardkonfigurationsdatei von SonarQube und ändern Sie die Datenbankanmeldeinformationen mit den zuvor erstellten:

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

Nehmen Sie die folgenden Änderungen vor:

sonar.jdbc.username=sonarsonar.jdbc.password=passwordsonar.jdbc.url=jdbc:postgresql://localhost/sonarsonar.web.host=127.0.0.1sonar.search.javaOpts=-Xms512m -Xmx512m 

Speichern und schließen Sie die Datei, wenn Sie fertig sind.

Systemd-Dienstdatei für SonarQube erstellen

Als Nächstes müssen Sie eine systemd-Dienstdatei erstellen, um den SonarQube-Dienst zu verwalten. Sie können dies mit dem folgenden Befehl tun:

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

Fügen Sie die folgenden Zeilen hinzu:

[Unit]Description=SonarQube serviceAfter=syslog.target network.target[Service]Type=forkingExecStart=/opt/sonarqube/bin/linux-x86-64/sonar.sh startExecStop=/opt/sonarqube/bin/linux -x86-64/sonar.sh stopUser=sonarGroup=sonarRestart=always[Install]WantedBy=multi-user.target

Speichern und schließen Sie die Datei, wenn Sie fertig sind. Starten Sie dann den SonarQube-Dienst und ermöglichen Sie ihm, beim Booten mit dem folgenden Befehl zu starten:

sudo systemctl start sonar
sudo systemctl enable sonar

Sie können den Status des SonarQube-Dienstes mit dem folgenden Befehl überprüfen:

sudo systemctl status sonar

Ausgabe:

? sonar.service – SonarQube-Dienst Geladen:geladen (/etc/systemd/system/sonar.service; deaktiviert; Herstellervoreinstellung:aktiviert) Aktiv:aktiv (läuft) seit Sun 2018-12-02 13:55:34 UTC; Vor 2min 52s Prozess:2339 ExecStart=/opt/sonarqube/bin/linux-x86-64/sonar.sh start (code=exited, status=0/SUCCESS) Main PID:2396 (wrapper) Tasks:133 (limit:2323 ) CGroup:/system.slice/sonar.service ??2396 /opt/sonarqube/bin/linux-x86-64/./wrapper /opt/sonarqube/bin/linux-x86-64/../../conf /wrapper.conf wrapper.syslog.ident=SonarQ ??2399 java -Dsonar.wrapped=true -Djava.awt.headless=true -Xms8m -Xmx32m -Djava.library.path=./lib -classpath ../.. /lib/jsw/wrapper- ??2445 /usr/lib/jvm/java-8-oracle/jre/bin/java -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatingOc ??2545 /usr/ lib/jvm/java-8-oracle/jre/bin/java -Djava.awt.headless=true -Dfile.encoding=UTF-8 -Djava.io.tmpdir=/opt/sonarqube/temp - ??2622 /usr /lib/jvm/java-8-oracle/jre/bin/java -Djava.awt.headless=true -Dfile.encoding=UTF-8 -Djava.io.tmpdir=/opt/sonarqube/temp -Dec 02 13:55:33 ubuntu1804 systemd[1]:Starten des SonarQube-Dienstes ... 02. Dez. 13:02. Dez .

Apache für SonarQube konfigurieren

Standardmäßig überwacht SonarQube Port 9000. Daher müssen Sie Apache als Reverse-Proxy installieren und konfigurieren, um über Port 80 auf SonarQube zuzugreifen.

Installieren Sie dazu Apache mit dem folgenden Befehl:

sudo apt-get install apache2 -y

Als nächstes aktivieren Sie das Modul mod_proxy mit dem folgenden Befehl:

sudo a2enmod Proxy
sudo a2enmod Proxy_http

Erstellen Sie als Nächstes mit dem folgenden Befehl eine virtuelle Apache-Hostdatei für SonarQube:

sudo nano /etc/apache2/sites-available/sonar.conf

Fügen Sie die folgenden Zeilen hinzu:

 ServerName example.com ServerAdmin [E-Mail-geschützt] ProxyPreserveHost On ProxyPass / http://127.0.0.1:9000/ ProxyPassReverse / http://127.0.0.1:9000/ TransferLog /var/log/ apache2/sonarm_access.log ErrorLog /var/log/apache2/sonar_error.log

Ersetzen Sie example.com durch Ihren eigenen Domainnamen. Speichern und schließen Sie die Datei. Aktivieren Sie dann die virtuelle SonarQube-Hostdatei mit dem folgenden Befehl:

sudo a2ensite sonar

Starten Sie abschließend den Apache- und SonarQube-Dienst neu, um alle Änderungen mit dem folgenden Befehl zu übernehmen:

sudo systemctl restart apache2
sudo systemctl restart sonar

Standardmäßig speichert SonarQube seine Protokolle im Verzeichnis /opt/sonarqube/logs. Sie können das SonarQube-Protokoll mit dem folgenden Befehl überprüfen:

sudo tail -f /opt/sonarqube/logs/sonar.log

Ausgabe:

JVM starten...Wrapper (Version 3.2.3) http://wrapper.tanukisoftware.org Copyright 1999-2006 Tanuki Software, Inc. Alle Rechte vorbehalten.2018.12.02 13:55:43 INFO app[] [o.s.a.AppFileSystem] Temp-Verzeichnis bereinigen oder erstellen /opt/sonarqube/temp2018.12.02 13:55:44 INFO app[][o.s.a.es.EsSettings] Elasticsearch hört auf /127.0.0.1:90012018.12.02 13:55:45 INFO app [][o.s.a.p.ProcessLauncherImpl] Starten Sie den Prozess[[key='es', ipcIndex=1, logFilenamePrefix=es]] von [/opt/sonarqube/elasticsearch]:/opt/sonarqube/elasticsearch/bin/elasticsearch -Epath.conf=/opt/sonarqube/temp/conf/es2018.12.02 13:55:45 INFO app[][o.s.a.SchedulerImpl] Waiting for Elasticsearch to be up and running2018.12.02 13:55:48 INFO app[][o.e.p.PluginsService] keine Module geladen2018.12.02 13:55:48 INFO app[][o.e.p.PluginsService] geladenes Plugin [org.elasticsearch.transport.Netty4Plugin]2018.12.02 13:56:34 INFO app[][o.s.a.SchedulerImpl] Process[es] is up2018. 12.02 13:56:34 INFO app[][o.s.a.p.ProcessLauncherIm pl] Starten Sie den Prozess [[key='web', ipcIndex=2, logFilenamePrefix=web]] von [/opt/sonarqube]:/usr/lib/jvm/java-8-oracle/jre/bin/java -Djava. awt.headless=true -Dfile.encoding=UTF-8 -Djava.io.tmpdir=/opt/sonarqube/temp -Xmx512m -Xms128m -XX:+HeapDumpOnOutOfMemoryError -cp ./lib/common/*:./lib/server /*:/opt/sonarqube/lib/jdbc/postgresql/postgresql-42.2.1.jar org.sonar.server.app.WebServer /opt/sonarqube/temp/sq-process420500314195865484properties

Sie können das SonarQube-Webprotokoll auch mit dem folgenden Befehl überprüfen:

sudo tail -f /opt/sonarqube/logs/web.log

Ausgabe:

 2018.12.02 13.57.03 INFO web [] [o.s.s.p.ServerPluginRepository] Deploy Plugin SonarJava / 4.15.0.12310 / 572454b93016ec73a53fe0e07b2ffdc356d21ba92018.12.02 13.57.03 INFO web [] [o.s.s.p.ServerPluginRepository] Deploy Plugin SonarPHP / 2.11.0.2485 / 741861a29e5f9a26c6c99c06268facb6c4f4a8822018.12.02 13.57.03 INFO web [] [o.s.s.p.ServerPluginRepository] Deploy Plugin SonarPython / 1.8.0.1496 / 3fe3bc4d0273a5721ea2fb368dc45b1bb82fede32018.12.02 13.57.03 INFO web [] [o.s.s.p.ServerPluginRepository] Deploy Plugin Sonarqube ::Plugins ::SCM ::Git / 1.3.0.869 / 4da53e3f9e55f4f2e5796625cb0c5768ed1520792018.12.02 13.57.03 INFO web [] [o.s.s.p.ServerPluginRepository] Deploy Plugin Sonarqube ::Plugins ::SCM ::SVN / 1.6.0.860 / 2111fdbd1dddda4ad6d4ed6486fd0b18c1010d3b2018.12.02 13.57.03 INFO web[][o.s.s.p.ServerPluginRepository] Plugin SonarTS bereitstellen / 1.1.0.1079 / 042c9e65239a47d92d305f9767f730b3cc1e5ed32018.12.02 13:57:03 INFO web[][o.s.s.p.ServerPluginRepository] Plugin SonarXML bereitstellen / 1.4.3.1027 / 395888245CF538BB27BE4E496FF303B0143D20B2018.12.02 13:57:07 Info Web [] [O.S.S.P.D.D.M.C.PostGRESCHARSTER] [O.S.S.P.D.D.MA. Muster=UrlMuster{Einschlüsse=[/api/system/migrate_db/*, ...], Ausschlüsse=[/api/properties*, ...]}]2018.12.02 13:57:09 INFO web[][o.s.s.a. EmbeddedTomcat] HTTP-Connector aktiviert auf Port 90002018.12.02 13:57:16 INFO web[][o.s.s.p.UpdateCenterClient] Update Center:https://update.sonarsource.org/update-center.properties (kein Proxy)

Zugriff auf SonarQube

SonarQube ist jetzt installiert und konfiguriert. Es ist an der Zeit, über einen Webbrowser darauf zuzugreifen.

Öffnen Sie Ihren Webbrowser und geben Sie die URL http://example.com ein. Sie werden auf die folgende Seite weitergeleitet:

Klicken Sie hier auf das Protokoll Ein Taste. Sie sollten die folgende Seite sehen:

Geben Sie den Benutzernamen und das Passwort des Standardadministratorkontos als admin / admin ein und klicken Sie auf Protokoll Ein Taste. Sie sollten das Standard-Dashboard von SonarQube auf der folgenden Seite sehen:

Herzliche Glückwünsche! Sie haben SonarQube erfolgreich auf dem Ubuntu 18.04-Server installiert. Mit SonarQube können Sie jetzt ganz einfach automatische Überprüfungen durchführen und den Zustand einer Anwendung prüfen.


Ubuntu
  1. So installieren Sie Magnolia CMS auf Ubuntu 18.04 LTS

  2. So installieren Sie LimeSurvey auf Ubuntu 18.04 LTS

  3. So installieren Sie Alfresco CMS auf Ubuntu 18.04 LTS

  4. So installieren Sie CS-Cart unter Ubuntu 18.04 LTS

  5. So installieren Sie Minecraft Server auf Ubuntu 20.04 LTS

So installieren Sie Skencil auf Ubuntu 20.04 LTS

So installieren Sie Go unter Ubuntu 22.04 LTS

So installieren Sie Zulip unter Ubuntu 16.04 LTS

So installieren Sie Go unter Ubuntu 18.04 LTS

So installieren Sie Go unter Ubuntu 20.04 LTS

So installieren Sie SonarQube unter Ubuntu 20.04 LTS