Wie man SonarQube auf Ubuntu 16.04 installiert
SonarQube ist eine kostenlose und Open-Source-Qualitätsmanagementsystemplattform, die zur Automatisierung der Code-Inspektion verwendet werden kann. Es kann Quellcode-Dateien analysieren, einen Satz von Metriken berechnen und das Ergebnis auf dem webbasierten Dashboard anzeigen. Es ist in Java geschrieben und unterstützt auch andere Sprachen wie Perl, PHP und Ruby. Standardmäßig unterstützt SonarQube h2-Datenbanken, ist aber nicht skalierbar. So können Sie SonarQube mit anderen Datenbankservern wie MSSQL, PostgreSQL, Oracle und MySQL integrieren. SOnarQube enthält viele Plugins, die den Quellcode automatisch aus den Repositories integrieren. Es ermöglicht Entwicklern, Fehler und Schwachstellen zu erkennen und Codegerüche in mehr als 20 verschiedenen Sprachen zu reduzieren. Sie können SolarQube mit Eclipse, Visual Studio und IntelliJ IDEA Entwicklungsumgebungen über die SonarLint Plugins einfach integrieren.
In diesem Tutorial erfahren wir, wie man SonarQube auf einem Ubuntu 16.04 Server installiert.
Voraussetzungen
- Ein neuer Ubuntu 16.04 Server wird auf Ihrem System installiert.
- Mindestens 4 GB RAM.
- Ein Nicht-Root-Benutzer mit sudo-Rechten.
Erste Schritte
Vor dem Start wird empfohlen, Ihr Basissystem auf die neueste Version zu aktualisieren. Sie können dies tun, indem Sie den folgenden Befehl ausführen:
sudo apt-get update -y sudo apt-get upgrade -y
Nach der Aktualisierung Ihres Systems können Sie mit der Installation von Java fortfahren.
1 Java installieren
Sonarqube ist eine Java-basierte Anwendung, daher müssen Sie Java 8 zuerst installieren. Standardmäßig ist Java 8 nicht im Ubuntu-Repository verfügbar. Sie können Java 8 installieren, indem Sie das webupd8team PPA-Repository zu Ihrem System hinzufügen.
Fügen Sie zunächst das PPA hinzu, indem Sie den folgenden Befehl ausführen:
sudo add-apt-repository ppa:webupd8team/java
Aktualisieren Sie anschließend das Repository mit dem folgenden Befehl:
sudo apt-get update -y
Sobald das Repository auf dem neuesten Stand ist, können Sie Java 8 installieren, indem Sie den folgenden Befehl ausführen:
sudo apt-get install oracle-java8-installer -y
Nach der Installation von Java können Sie die Version von Java mit dem folgenden Befehl überprüfen:
java -version
Sie sollten die folgende Ausgabe sehen:
Java version "1.8.0_91" Java(TM) SE Runtime Environment (build 1.8.0_91-b14) Java HotSpot(TM) 64-Bit Server VM (build 25.91-b14, mixed mode)
Wenn Sie fertig sind, können Sie mit dem nächsten Schritt fortfahren.
2 Apache und MariaDB installieren
Sie müssen auch Apache und MariaDB installieren, da wir Apache für Reverse Proxy und MariaDB als Datenbank verwenden werden. Sie können beide installieren, indem Sie den folgenden Befehl ausführen:
sudo apt-get install apache2 mariadb-server -y
Sobald die Installation abgeschlossen ist, starten Sie den Apache und MariaDB-Dienst und ermöglichen Sie ihm, beim Booten mit dem folgenden Befehl zu starten:
sudo systemctl start apache2 sudo systemctl enable apache2 sudo systemctl start mysql sudo systemctl enable mysql
Sobald Apache und MariaDB installiert sind und funktionieren, können Sie mit dem nächsten Schritt fortfahren.
3 MariaDB konfigurieren
Standardmäßig ist die MariaDB-Installation nicht gesichert, daher müssen Sie die MariaDB-Installation sichern. Sie können dies tun, indem Sie das mysql_secure_installationsskript ausführen:
sudo mysql_secure_installation
In diesem Prozess werden Sie aufgefordert, das Root-Passwort festzulegen, anonyme Benutzer zu entfernen, die Remote-Anmeldung von Root zu verbieten und die Testdatenbank zu entfernen. Beantworten Sie alle Fragen wie unten gezeigt:
Enter current password for root (enter for none): Change the root password? [Y/n] n Remove anonymous users? [Y/n] Y Disallow root login remotely? [Y/n] Y Remove test database and access to it? [Y/n] Y Reload privilege tables now? [Y/n] Y
Sobald MariaDB gesichert ist, melden Sie sich mit folgendem Befehl an der MariaDB-Shell an:
mysql -u root -p
Geben Sie bei der Eingabeaufforderung Ihr Root-Passwort ein und erstellen Sie dann eine Datenbank für SonarQube:
MariaDB [(none)]> CREATE DATABASE sonardb;
Erstellen Sie anschließend einen neuen Datenbankbenutzer und stellen Sie Ihrem Datenbankbenutzer die entsprechenden Berechtigungen für die von Ihnen erstellte Datenbank zur Verfügung.
MariaDB [(none)]> GRANT ALL PRIVILEGES ON sonardb.* TO 'sonar'@'localhost' IDENTIFIED BY 'yourpassword';
Als nächstes wenden Sie die Änderungen an den Datenbankberechtigungen mit dem folgenden Befehl an:
MariaDB [(none)]> FLUSH PRIVILEGES;
Beenden Sie schließlich die MariaDB-Shell mit dem folgenden Befehl:
MariaDB [(none)]> \q
Sobald die Datenbank konfiguriert ist, können Sie mit dem nächsten Schritt fortfahren.
4 SonarQube installieren
Sie können die neueste Version des SonarQube von der offiziellen Website herunterladen. Du kannst es mit dem Befehl wget herunterladen:
wget https://sonarsource.bintray.com/Distribution/sonarqube/sonarqube-6.4.zip
Wenn der Download abgeschlossen ist, entpacken Sie das heruntergeladene Archiv mit dem folgenden Befehl:
sudo unzip sonarqube-6.4.zip -d /opt
Als nächstes benennen Sie das Verzeichnis mit dem folgenden Befehl um:
sudo mv /opt/sonarqube-6.4 /opt/sonar
Als nächstes müssen Sie die SonarQube-Hauptkonfigurationsdatei sonar.properties ändern:
sudo nano /opt/sonar/conf/sonar.properties
Nehmen Sie die folgenden Änderungen vor:
##Database User credentials: sonar.jdbc.username=sonar sonar.jdbc.password=yourpassword sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false
Speichern und schließen Sie die Datei und erstellen Sie dann eine Systemdatei für SonarQube.
sudo nano /etc/systemd/system/sonar.service
Füge die folgenden Zeilen hinzu:
[Unit] Description=SonarQube service After=syslog.target network.target [Service] Type=forking ExecStart=/opt/sonar/bin/linux-x86-64/sonar.sh start ExecStop=/opt/sonar/bin/linux-x86-64/sonar.sh stop User=root Group=root Restart=always [Install] WantedBy=multi-user.target
Speichern Sie die Datei, wenn Sie fertig sind, und starten Sie dann den SonarQube-Dienst, damit er beim Booten mit dem folgenden Befehl gestartet werden kann:
sudo systemctl start sonar sudo systemctl enable sonar
Der SonarQube-Prozess benötigt einige Zeit, um die Erstellung der Datenbank und das Füllen der Daten abzuschließen. Sie können den Status von SonarQube mit dem folgenden Befehl überprüfen:
sudo systemctl status sonar
Sie können den Prozess auch überwachen, indem Sie sich den Inhalt der Datei /opt/sonar/logs/sonar.log ansehen. Sobald Sie fertig sind, können Sie mit dem nächsten Schritt fortfahren.
5 Apache als Reverse Proxy konfigurieren
Standardmäßig hört SonarQube auf Port 9000. Hier werden wir Apache als Reverse-Proxy verwenden, so dass SonarQube über Port 80 angesprochen werden kann:
Aktivieren Sie zunächst das Apache-Proxy-Modul mit dem folgenden Befehl:
sudo a2enmod proxy sudo a2enmod proxy_http
Erstellen Sie anschließend eine neue virtuelle Hostdatei für SonarQube mit dem folgenden Befehl:
sudo nano /etc/apache2/sites-available/sonar.conf
Füge die folgenden Zeilen hinzu:
<VirtualHost *:80> ServerName 192.168.15.189 ServerAdmin [email protected] ProxyPreserveHost On ProxyPass / http://localhost:9000/ ProxyPassReverse / http://localhost:9000/ TransferLog /var/log/apache2/sonar_access.log ErrorLog /var/log/apache2/sonar_error.log </VirtualHost>
Speichern und schließen Sie die Datei und aktivieren Sie dann einen neuen virtuellen Host, indem Sie den folgenden Befehl ausführen:
sudo a2ensite sonar
Starten Sie schließlich den Apache-Dienst mit dem folgenden Befehl neu:
sudo systemctl restart apache2
6 Zugriff auf die SonarQube Weboberfläche
Alle erforderlichen Komponenten werden installiert und konfiguriert. Jetzt ist es an der Zeit, auf die SonarQube-Weboberfläche zuzugreifen.
Bevor Sie darauf zugreifen können, müssen Sie Port 80 durch die UFW-Firewall zulassen. Standardmäßig ist UFW in Ubuntu deaktiviert, daher müssen Sie es zuerst aktivieren. Sie können es aktivieren, indem Sie den folgenden Befehl ausführen:
sudo ufw enable
Sobald die UFW-Firewall aktiviert ist, können Sie Port 80 durch UFW zulassen, indem Sie den folgenden Befehl ausführen:
sudo ufw allow 80/tcp
Sie können nun den Status der UFW-Firewall überprüfen, indem Sie den folgenden Befehl ausführen:
sudo ufw status
Öffnen Sie nun Ihren Webbrowser und navigieren Sie zur URL http://192.168.15.189, Sie sollten den folgenden Bildschirm sehen:
Klicken Sie nun auf die Schaltfläche „Anmelden“, Sie sollten den folgenden Bildschirm sehen:
Melden Sie sich mit dem Standardbenutzernamen als „admin“ und dem Passwort als „admin“ an, Sie sollten den folgenden Bildschirm sehen:
Nachdem Sie sich im SonarQube Dashboard angemeldet haben, klicken Sie auf die Schaltfläche Administration > System > System > System Info. Auf dem folgenden Bildschirm sollten Sie die aktuellen Systeminformationen sehen:
Klicken Sie anschließend auf die Schaltfläche Administration > System > Update Center, Sie sollten alle installierten Plugins auf dem folgenden Bildschirm sehen:
Hier können Sie bestehende Plugins aktualisieren und auch verfügbare Plugins installieren. Nach der Installation oder Aktualisierung der erforderlichen Plugins müssen Sie auf die Schaltfläche „Neustart“ klicken, um das System neu zu starten und die Änderungen zu aktualisieren.
Fazit
Im obigen Tutorial haben wir gelernt, SonarQube auf Ubuntu 16.04 zu installieren und die grundlegende Verwendung von SonarQube zu erlernen. Sie können es nun problemlos in der Produktionsumgebung einsetzen. Zögere nicht, mich zu kommentieren, wenn du Hilfe brauchst.