GNU/Linux >> Znalost Linux >  >> Ubuntu

Jak nainstalovat SonarQube na Ubuntu 18.04 LTS

SonarQube je platforma s otevřeným zdrojovým kódem, která neustále kontroluje kvalitu kódu aplikací. Je napsán v jazyce Java a podporuje více databází. Můžete zkontrolovat kód a zkontrolovat stav aplikace pro více než 20 programovacích jazyků včetně Java, C, C++, C#, PHP a webových jazyků, jako je JavaScript, HTML a CSS. SonarQube dokáže analyzovat zdrojový kód, najít bezpečnostní zranitelnosti, detekovat chyby a zobrazit výsledek na webovém panelu. SonarQube můžete snadno integrovat s Maven, Ant, Gradle, MSBuild, LDAP, Active Directory a GitHub.

V tomto tutoriálu se naučíme, jak nainstalovat SonarQube na server Ubuntu 18.04 LTS (Bionic Beaver).

Požadavky

  • Server se systémem Ubuntu 18.04.
  • Uživatel bez oprávnění root s právy sudo.

Začínáme

Než začnete, budete muset aktualizovat svůj systém na nejnovější verzi. Můžete to provést spuštěním následujícího příkazu:

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

Jakmile je váš systém aktualizován, restartujte systém, aby se změny projevily.

Instalovat Javu

SonarQube je napsán v jazyce Java, takže budete muset nainstalovat Java do vašeho systému. Nejprve přidejte úložiště Java pomocí následujícího příkazu:

sudo add-apt-repository ppa:webupd8team/java

Dále aktualizujte úložiště a nainstalujte Javu pomocí následujícího příkazu:

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

Jakmile je Java nainstalována, zkontrolujte verzi Java pomocí následujícího příkazu:

verze Java

Výstup:

openjdk verze "10.0.2" 2018-07-17 OpenJDK Runtime Environment (sestavení 10.0.2+13-Ubuntu-1ubuntu0.18.04.3)OpenJDK 64-Bit Server VM (sestavení 10-Ubuntu+13 .18.04.3, smíšený režim)

Instalace a konfigurace PostgreSQL

Ve výchozím nastavení není nejnovější verze PostgreSQL dostupná ve výchozím úložišti Ubuntu 18.04. Budete tedy muset do svého systému přidat úložiště PostgreSQL.

Můžete to provést pomocí následujícího příkazu:

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 -

Dále aktualizujte úložiště a nainstalujte PostgreSQL pomocí následujícího příkazu:

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

Po dokončení instalace zkontrolujte stav PostgreSQL pomocí následujícího příkazu:

sudo systemctl status postgresql

Výstup:

? postgresql.service - PostgreSQL RDBMS Načteno:načteno (/lib/systemd/system/postgresql.service; povoleno; přednastaveno dodavatelem:povoleno) Aktivní:aktivní (ukončeno) od neděle 2018-12-02 08:49:29 UTC; Před 4h 30min Proces:1295 ExecStart=/bin/true (kód=ukončeno, stav=0/ÚSPĚCH) Hlavní PID:1295 (kód=ukončeno, stav=0/ÚSPĚCH) 2. prosince 08:49:29 ubuntu1804 systemd[1] :Spouštění PostgreSQL RDBMS... 2. prosince 08:49:29 ubuntu1804 systemd[1]:Spuštěno PostgreSQL RDBMS.

Dále se přepněte na uživatele postgres pomocí následujícího příkazu:

su - postgres

Dále vytvořte uživatele sonaru pomocí následujícího příkazu:

createuser sonar

Dále se přepněte do prostředí PostgreSQL pomocí následujícího příkazu:

psql

Dále nastavte heslo pro uživatele sonaru a vytvořte databázi sonaru pomocí následujícího příkazu:

ALTER USER sonar SE ŠIFROVANÝM heslem 'password';
VYTVOŘIT DATABÁZI sonar OWNER sonar;

Dále exti z prostředí PostgreSQL:

\q

Instalace a konfigurace SonarQube

Nejprve vytvořte uživatele pro SonarQube pomocí následujícího příkazu:

sudo adduser sonar

Dále si stáhněte nejnovější verzi SonarQube pomocí následujícího příkazu:

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

Po dokončení stahování rozbalte stažený soubor pomocí následujícího příkazu:

rozbalte sonarqube-6.7.6.zip

Dále zkopírujte extrahovaný adresář do /opt pomocí následujícího příkazu:

sudo cp -r sonarqube-6.7.6 /opt/sonarqube

Dále předejte vlastnictví uživateli sonaru pomocí následujícího příkazu:

sudo chown -R sonar:sonar /opt/sonarqube

Dále budete muset nakonfigurovat SonarQube, aby běžel jako uživatel sonaru. Můžete to provést pomocí následujícího příkazu:

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

Proveďte následující změny:

RUN_AS_USER=sonar

Uložte a zavřete soubor. Poté otevřete výchozí konfigurační soubor SonarQube a upravte přihlašovací údaje databáze pomocí těch, které jsme vytvořili dříve:

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

Proveďte následující změny:

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

Po dokončení uložte a zavřete soubor.

Vytvořit soubor Systemd Service pro SonarQube

Dále budete muset vytvořit soubor služby systemd pro správu služby SonarQube. Můžete to provést pomocí následujícího příkazu:

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

Přidejte následující řádky:

[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

Po dokončení uložte a zavřete soubor. Poté spusťte službu SonarQube a povolte její spuštění při spouštění pomocí následujícího příkazu:

sudo systemctl spustit sonar
sudo systemctl povolit sonar

Stav služby SonarQube můžete zkontrolovat pomocí následujícího příkazu:

sudo systemctl status sonar

Výstup:

? sonar.service - služba SonarQube Načteno:načteno (/etc/systemd/system/sonar.service; zakázáno; přednastaveno dodavatelem:povoleno) Aktivní:aktivní (běží) od neděle 2018-12-02 13:55:34 UTC; Před 2min 52s Proces:2339 ExecStart=/opt/sonarqube/bin/linux-x86-64/sonar.sh start (kód=ukončeno, stav=0/ÚSPĚCH) Hlavní PID:2396 (obal) Úkoly: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 -2. prosince 13:55:33 ubuntu1804 systemd[1]:Spouštění služby SonarQube... 2. prosince 13:55:33 ubuntu1804 sonar.sh[2339]:Spouštění SonarQube...Prosinec 02 13:55:34 ubuntu1804 sonar.sh[2339]:Spuštěno SonarQube.Dec 02 13:55:34 Spuštění systému SonarQubed[1]804 .

Konfigurace Apache pro SonarQube

Ve výchozím nastavení SonarQube naslouchá na portu 9000. Budete tedy muset nainstalovat a nakonfigurovat Apache jako reverzní proxy pro přístup k SonarQube pomocí portu 80.

Chcete-li tak učinit, nainstalujte Apache pomocí následujícího příkazu:

sudo apt-get install apache2 -y

Dále povolte modul mod_proxy pomocí následujícího příkazu:

sudo a2enmod proxy
sudo a2enmod proxy_http

Dále vytvořte soubor virtuálního hostitele Apache pro SonarQube pomocí následujícího příkazu:

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

Přidejte následující řádky:

 ServerName example.com ServerAdmin [chráněno e-mailem] 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

Nahraďte example.com svým vlastním názvem domény. Uložte a zavřete soubor. Poté povolte soubor virtuálního hostitele SonarQube pomocí následujícího příkazu:

sonar sudo a2ensite

Nakonec restartujte Apache a službu SonarQube, abyste použili všechny změny pomocí následujícího příkazu:

sudo systemctl restart apache2
sudo systemctl restart sonar

SonarQube standardně ukládá své protokoly do adresáře /opt/sonarqube/logs. Protokol SonarQube můžete zkontrolovat pomocí následujícího příkazu:

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

Výstup:

Spuštění JVM...Wrapper (verze 3.2.3) http://wrapper.tanukisoftware.org Copyright 1999-2006 Tanuki Software, Inc. Všechna práva vyhrazena.2018.12.02 13:55:43 INFO aplikace[] [o.s.a.AppFileSystem] Čištění nebo vytváření dočasného adresáře /opt/sonarqube/temp2018.12.02 13:55:44 INFO aplikace[][o.s.a.es.EsSettings] Elasticsearch naslouchající na /127.0.0.1:90012028.145. [][o.s.a.p.ProcessLauncherImpl] Proces spuštění[[key='es', ipcIndex=1, logFilenamePrefix=es]] z [/opt/sonarqube/elasticsearch]:/opt/sonarqube/elasticsearch/bin/elasticsearch -Epath.conf=/opt/sonarqube/temp/conf/es2018.12.02 13:55:45 INFO aplikace[][o.s.a.SchedulerImpl] Čekání na spuštění Elasticsearch2018.12.02 13:55:48 Modul INFO[][o.e.p.] nahráno 12.02 13:56:34 INFO aplikace[][o.s.a.p.ProcessLauncherIm pl] Spusťte proces[[key='web', ipcIndex=2, logFilenamePrefix=web]] z [/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

Webový protokol SonarQube můžete také zkontrolovat pomocí následujícího příkazu:

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

Výstup:

2018.12.02 13:57:03 Info Web [] [O.S.S.ServerpluginRepository] Deploy Plugin Sonarjava / 4.15.0.12310 / 572454B93016EC73A53FE0E07B2FFDC3012.02 13:57.S. / 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 webovém [] [] 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] Deploy plugin SonarTS / 1.1.0.1079 / 042c9e65239a47d92d305f9767f730b3cc1e5ed32018.12.02 13:57:03 plugins.Web[Plugino.03.web. / 1.4.3.1027 / 39588245CECF538BB27BE496FF303B0143D20B2018.12.02 13:57:07 Info Web [] [O.S.S.D.M.C.PostsCarShAndler] OVERIFIKACE] pattern=UrlPattern{inclusions=[/api/system/migrate_db/*, ...], výjimky=[/api/properties*, ...]}]2018.12.02 13:57:09 INFO web[][o.s.s.a. EmbeddedTomcat] HTTP konektor povolen na portu 90002018.12.02 13:57:16 INFO web[][o.s.s.p.UpdateCenterClient] Centrum aktualizací:https://update.sonarsource.org/update-center.properties (bez proxy)

Přístup k SonarQube

SonarQube je nyní nainstalován a nakonfigurován. Je čas se k němu dostat přes webový prohlížeč.

Otevřete webový prohlížeč a zadejte adresu URL http://example.com. Budete přesměrováni na následující stránku:

Zde klikněte na Protokol V knoflík. Měli byste vidět následující stránku:

Zadejte výchozí uživatelské jméno a heslo účtu správce jako admin / admin a klikněte na Protokol V knoflík. Výchozí řídicí panel SonarQube byste měli vidět na následující stránce:

Gratulujeme! úspěšně jste nainstalovali SonarQube na server Ubuntu 18.04. Nyní můžete snadno provádět automatické kontroly a kontrolovat stav aplikace pomocí SonarQube.


Ubuntu
  1. Jak nainstalovat Magnolia CMS na Ubuntu 18.04 LTS

  2. Jak nainstalovat Alfresco CMS na Ubuntu 18.04 LTS

  3. Jak nainstalovat Minecraft Server na Ubuntu 20.04 LTS

  1. Jak nainstalovat LimeSurvey na Ubuntu 18.04 LTS

  2. Jak nainstalovat CS-Cart na Ubuntu 18.04 LTS

  3. Jak nainstalovat DokuWiki na Ubuntu 18.04 LTS

  1. Jak nainstalovat FlintCMS na Ubuntu 18.04 LTS

  2. Jak nainstalovat Kooboo CMS na Ubuntu 18.04 LTS

  3. Jak nainstalovat Kooboo CMS na Ubuntu 20.04 LTS