GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Comment installer SonarQube sur Ubuntu 18.04 LTS

SonarQube est une plate-forme open source permettant d'inspecter en continu la qualité du code des applications. Il est écrit en langage Java et prend en charge plusieurs bases de données. Vous pouvez inspecter le code et vérifier la santé d'une application pour plus de 20 langages de programmation, dont Java, C, C++, C#, PHP et des langages Web tels que JavaScript, HTML et CSS. SonarQube peut analyser le code source, trouver des failles de sécurité, détecter des bogues et afficher le résultat sur un tableau de bord Web. Vous pouvez facilement intégrer SonarQube à Maven, Ant, Gradle, MSBuild, LDAP, Active Directory et GitHub.

Dans ce tutoriel, nous allons apprendre à installer SonarQube sur un serveur Ubuntu 18.04 LTS (Bionic Beaver).

Exigences

  • Un serveur exécutant Ubuntu 18.04.
  • Un utilisateur non root avec des privilèges sudo.

Mise en route

Avant de commencer, vous devrez mettre à jour votre système avec la dernière version. Vous pouvez le faire en exécutant la commande suivante :

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

Une fois votre système mis à jour, redémarrez le système pour appliquer les modifications.

Installer Java

SonarQube est écrit en langage Java, vous devrez donc installer Java sur votre système. Tout d'abord, ajoutez le référentiel Java avec la commande suivante :

sudo add-apt-repository ppa:webupd8team/java

Ensuite, mettez à jour le référentiel et installez Java avec la commande suivante :

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

Une fois Java installé, vérifiez la version de Java à l'aide de la commande suivante :

version Java

Sortie :

openjdk version "10.0.2" 2018-07-17Environnement d'exécution OpenJDK (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, mode mixte)

Installer et configurer PostgreSQL

Par défaut, la dernière version de PostgreSQL n'est pas disponible dans le référentiel par défaut d'Ubuntu 18.04. Vous devrez donc ajouter le référentiel PostgreSQL à votre système.

Vous pouvez le faire avec la commande suivante :

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 ajouter -

Ensuite, mettez à jour le référentiel et installez PostgreSQL avec la commande suivante :

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

Une fois l'installation terminée, vérifiez l'état de PostgreSQL avec la commande suivante :

sudo systemctl statut postgresql

Sortie :

 ? postgresql.service - SGBDR PostgreSQL chargé :chargé (/lib/systemd/system/postgresql.service ; activé ; préréglage du fournisseur :activé) Actif :actif (exited) depuis Sun 2018-12-02 08:49:29 UTC ; Il y a 4h 30min Processus :1295 ExecStart=/bin/true (code=sorti, statut=0/SUCCESS) PID principal :1295 (code=sorti, status=0/SUCCESS)Dec 02 08:49:29 ubuntu1804 systemd[1] :Démarrage de PostgreSQL RDBMS...Dec 02 08:49:29 ubuntu1804 systemd[1] :Démarrage de PostgreSQL RDBMS.

Ensuite, passez à l'utilisateur postgres avec la commande suivante :

su - postgres

Ensuite, créez un utilisateur sonar avec la commande suivante :

createuser sonar

Passez ensuite au shell PostgreSQL avec la commande suivante :

psql

Ensuite, définissez le mot de passe pour l'utilisateur du sonar et créez une base de données du sonar avec la commande suivante :

ALTER USER sonar WITH ENCRYPTED password 'password' ;
CREATE DATABASE sonar OWNER sonar ;

Ensuite, quittez le shell PostgreSQL :

\q

Installer et configurer SonarQube

Commencez par créer un utilisateur pour SonarQube avec la commande suivante :

sonar sudo adduser

Ensuite, téléchargez la dernière version de SonarQube avec la commande suivante :

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

Une fois le téléchargement terminé, décompressez le fichier téléchargé avec la commande suivante :

décompressez sonarqube-6.7.6.zip

Ensuite, copiez le répertoire extrait dans /opt avec la commande suivante :

sudo cp -r sonarqube-6.7.6 /opt/sonarqube

Ensuite, attribuez la propriété à l'utilisateur du sonar avec la commande suivante :

sudo chown -R sonar:sonar /opt/sonarqube

Ensuite, vous devrez configurer SonarQube pour qu'il s'exécute en tant qu'utilisateur de sonar. Vous pouvez le faire avec la commande suivante :

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

Effectuez les modifications suivantes :

RUN_AS_USER=sonar

Enregistrez et fermez le fichier. Ensuite, ouvrez le fichier de configuration par défaut de SonarQube et modifiez les informations d'identification de la base de données avec celles que nous avons créées précédemment :

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

Effectuez les modifications suivantes :

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

Enregistrez et fermez le fichier lorsque vous avez terminé.

Créer un fichier de service Systemd pour SonarQube

Ensuite, vous devrez créer un fichier de service systemd pour gérer le service SonarQube. Vous pouvez le faire avec la commande suivante :

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

Ajoutez les lignes suivantes :

[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

Enregistrez et fermez le fichier lorsque vous avez terminé. Ensuite, démarrez le service SonarQube et activez-le au démarrage avec la commande suivante :

sudo systemctl start sonar
sudo systemctl enable sonar

Vous pouvez vérifier l'état du service SonarQube avec la commande suivante :

sondeur d'état sudo systemctl

Sortie :

 ? sonar.service - Service SonarQube Chargé :chargé (/etc/systemd/system/sonar.service ; désactivé ; préréglage fournisseur :activé) Actif :actif (en cours d'exécution) depuis le dim 2018-12-02 13:55:34 UTC ; il y a 2min 52s Processus :2339 ExecStart=/opt/sonarqube/bin/linux-x86-64/sonar.sh start (code=exited, status=0/SUCCESS) PID principal :2396 (wrapper) Tâches :133 (limite :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] :Démarrage du service SonarQube... 2 décembre 13 :55:33 ubuntu1804 sonar.sh[2339] :Démarrage de SonarQube... 02 déc. .

Configurer Apache pour SonarQube

Par défaut, SonarQube écoute sur le port 9000. Vous devrez donc installer et configurer Apache en tant que proxy inverse pour accéder à SonarQube via le port 80.

Pour cela, installez Apache avec la commande suivante :

sudo apt-get install apache2 -y

Ensuite, activez le module mod_proxy avec la commande suivante :

proxy sudo a2enmod
sudo a2enmod proxy_http

Ensuite, créez un fichier d'hôte virtuel Apache pour SonarQube avec la commande suivante :

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

Ajoutez les lignes suivantes :

 ServerName example.com ServerAdmin [email protected] 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

Remplacez example.com par votre propre nom de domaine. Enregistrez et fermez le fichier. Ensuite, activez le fichier d'hôte virtuel SonarQube avec la commande suivante :

sonar sudo a2ensite

Enfin, redémarrez le service Apache et SonarQube pour appliquer toutes les modifications avec la commande suivante :

sudo systemctl restart apache2
sudo systemctl restart sonar

Par défaut, SonarQube stocke ses journaux dans le répertoire /opt/sonarqube/logs. Vous pouvez vérifier le journal SonarQube avec la commande suivante :

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

Sortie :

Lancement d'un JVM...Wrapper (Version 3.2.3) http://wrapper.tanukisoftware.org Copyright 1999-2006 Tanuki Software, Inc. Tous droits réservés.2018.12.02 13:55:43 INFO app[] [o.s.a.AppFileSystem] Nettoyage ou création du répertoire temporaire /opt/sonarqube/temp2018.12.02 13:55:44 INFO app[][o.s.a.es.EsSettings] Elasticsearch en écoute sur /127.0.0.1:90012018.12.02 13:55:45 INFO app [][o.s.a.p.ProcessLauncherImpl] Processus de lancement[[key='es', ipcIndex=1, logFilenamePrefix=es]] depuis [/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] En attente qu'Elasticsearch soit opérationnel2018.12.02 13:55:48 INFO app[][o.e.p.PluginsService] no modules loaded2018.12.02 13:55:48 INFO app[][o.e.p.PluginsService] plugin chargé [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 Application INFO[][o.s.a.p.ProcessLauncherIm pl] Lancer le processus[[key='web', ipcIndex=2, logFilenamePrefix=web]] depuis [/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

Vous pouvez également consulter le journal Web de SonarQube à l'aide de la commande suivante :

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

Sortie :

 2018.12.02 13:57:03 info web [] [O.S.S.P.ServerPluginRepository] Déployer le plugin Sonarjava / 4.15.0.12310 / 572454b93016ec73a53fe0e07b2ffdc356d21ba92018.12.02 13:57:03 info. / 741861a29e5f9a26c6c99c06268facb6c4f4a8822018.12.02 13:57:03 INFO web [] [o.s.s.p.ServerPluginRepository] Déployer plug-in SonarPython / 1.8.0.1496 / INFO 3fe3bc4d0273a5721ea2fb368dc45b1bb82fede32018.12.02 13:57:03 web [] [o.s.s.p.ServerPluginRepository] Déployer plug-in sonarqube ::Plugins ::SCM ::Git / 1.3.0.869 / INFO 4da53e3f9e55f4f2e5796625cb0c5768ed1520792018.12.02 13:57:03 web [] [o.s.s.p.ServerPluginRepository] Déployer plug-in sonarqube ::Plugins ::SCM ::SVN / 1.6.0.860 / 2111fdbd1dddda4ad6d4ed6486fd0b18c1010d3b2018.12.02 13:57:03 INFO web[][o.s.s.p.ServerPluginRepository] Déployer le plugin SonarTS / 1.1.0.1079 / 042c9e65239a47d92d305f9767f730b3cc1e5ed32018.12.02 13:57:03 INFO web[][o.s.p.ServerPluginRepository] Déployer le plugin SonarXML / 1.4.3.1027 / 39588245CECF538BB27BE4E496FF303B0143D20B2018.12.02 13:57:07 Info Web [] [O.S.S.P.D.M.C.PostgreSCharsethandler] Vérifiez que DATABASE SHARDPLETS UTF82018.12.02 13:57:09 Charset Utflet pattern=UrlPattern{inclusions=[/api/system/migrate_db/*, ...], exclusions=[/api/properties*, ...]}]2018.12.02 13:57:09 INFO web[][o.s.s.a. EmbeddedTomcat] Connecteur HTTP activé sur le port 90002018.12.02 13:57:16 INFO web[][o.s.s.p.UpdateCenterClient] Centre de mise à jour :https://update.sonarsource.org/update-center.properties (pas de proxy)

Accéder à SonarQube

SonarQube est maintenant installé et configuré. Il est temps d'y accéder via un navigateur Web.

Ouvrez votre navigateur Web et saisissez l'URL http://example.com. Vous serez redirigé vers la page suivante :

Ici, cliquez sur le Journal Dans bouton. Vous devriez voir la page suivante :

Fournissez le nom d'utilisateur et le mot de passe du compte administrateur par défaut en tant qu'administrateur / administrateur et cliquez sur Log Dans bouton. Vous devriez voir le tableau de bord par défaut de SonarQube sur la page suivante :

Toutes nos félicitations! vous avez installé avec succès SonarQube sur le serveur Ubuntu 18.04. Vous pouvez désormais effectuer facilement des examens automatiques et vérifier l'état d'une application à l'aide de SonarQube.


Ubuntu
  1. Comment installer Magnolia CMS sur Ubuntu 18.04 LTS

  2. Comment installer LimeSurvey sur Ubuntu 18.04 LTS

  3. Comment installer Alfresco CMS sur Ubuntu 18.04 LTS

  4. Comment installer CS-Cart sur Ubuntu 18.04 LTS

  5. Comment installer Minecraft Server sur Ubuntu 20.04 LTS

Comment installer Skencil sur Ubuntu 20.04 LTS

Comment installer Go sur Ubuntu 22.04 LTS

Comment installer Zulip sur Ubuntu 16.04 LTS

Comment installer Go sur Ubuntu 18.04 LTS

Comment installer Go sur Ubuntu 20.04 LTS

Comment installer SonarQube sur Ubuntu 20.04 LTS