Sådan installeres SonarQube på CentOS 7

SonarQube er et open source-værktøj til udvikling af kvalitetssystemer. Det er skrevet i Java og understøtter flere databaser. Det giver mulighed for løbende at inspicere kode, vise en applikations tilstand og fremhæve nyligt introducerede problemer. Den indeholder kodeanalysatorer, som er udstyret til at opdage vanskelige problemer. Det integreres også nemt med DevOps.

I denne vejledning installerer vi den seneste version af SonarQube på CentOS 7.

Bemærk: Dette dokument er blevet opdateret siden dets oprindelige udgivelse. Se afsnittet "Errata" i fodnoterne.

Forudsætninger

  • En Vultr 64-bit CentOS 7 serverinstans med mindst 2 GB RAM.
  • En sudo-bruger .

Trin 1: Udfør en systemopdatering

Før du installerer pakker på CentOS-serverinstansen, anbefales det at opdatere systemet. Log ind med sudo-brugeren og kør følgende kommandoer for at opdatere systemet.

sudo yum -y install epel-release
sudo yum -y update
sudo shutdown -r now

Når systemet er færdig med at genstarte, skal du logge ind igen som sudo-bruger og fortsætte til næste trin.

Trin 2: Installer Java

Download Oracle SE JDK RPM-pakken ved at skrive:

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"

Installer den downloadede pakke ved at skrive:

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

Du kan nu tjekke versionen af ​​Java ved at skrive:

java -version

Trin 3: Installer og konfigurer PostgreSQL

Installer PostgreSQL-lageret ved at skrive:

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

Installer PostgreSQL databaseserver ved at køre:

sudo yum -y install postgresql96-server postgresql96-contrib

Initialiser databasen:

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

Rediger for /var/lib/pgsql/9.6/data/pg_hba.confat aktivere MD5-baseret godkendelse.

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

Find følgende linjer og skift peertil trustog idnettil md5.

# 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

Når den er opdateret, skal konfigurationen se ud som den, der er vist nedenfor.

# 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

Start PostgreSQL-serveren og aktiver den til at starte automatisk ved opstart ved at køre:

sudo systemctl start postgresql-9.6
sudo systemctl enable postgresql-9.6

Skift adgangskoden til standard PostgreSQL-brugeren.

sudo passwd postgres

Skift til postgresbrugeren.

su - postgres

Opret en ny bruger ved at skrive:

createuser sonar

Skift til PostgreSQL-skallen.

psql

Indstil en adgangskode til den nyoprettede bruger til SonarQube-databasen.

ALTER USER sonar WITH ENCRYPTED password 'StrongPassword';

Opret en ny database til PostgreSQL-database ved at køre:

CREATE DATABASE sonar OWNER sonar;

Udgang fra psqlskallen:

\q

Skift tilbage til sudo-brugeren ved at køre exitkommandoen.

Trin 4: Download og konfigurer SonarQube

Download SonarQube-installationsfilarkivet.

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

Du kan altid kigge efter linket til den seneste version af applikationen på SonarQube- downloadsiden .

Installer unzip ved at køre:

sudo yum -y install unzip

Udpak arkivet ved hjælp af følgende kommando.

sudo unzip sonarqube-6.4.zip -d /opt

Omdøb mappen:

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

Åbn SonarQube-konfigurationsfilen ved hjælp af din foretrukne teksteditor.

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

Find følgende linjer.

#sonar.jdbc.username=
#sonar.jdbc.password=

Fjern kommentarer og angiv PostgreSQL-brugernavnet og adgangskoden til databasen, som vi har oprettet tidligere. Det skal se sådan ud:

sonar.jdbc.username=sonar
sonar.jdbc.password=StrongPassword

Find derefter:

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

Fjern kommentarer til linjen, gem filen og afslut editoren.

Trin 5: Konfigurer Systemd-tjenesten

SonarQube kan startes direkte ved hjælp af opstartsscriptet i installationspakken. For nemheds skyld bør du konfigurere en Systemd-enhedsfil til SonarQube.

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

Udfyld filen med:

[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

Start applikationen ved at køre:

sudo systemctl start sonar

Aktiver SonarQube-tjenesten til automatisk at starte ved opstart.

sudo systemctl enable sonar

For at kontrollere, om tjenesten kører, skal du køre:

sudo systemctl status sonar

Trin 5: Konfigurer omvendt proxy

Som standard lytter SonarQube til localhost på port 9000. I denne vejledning vil vi bruge Apache som omvendt proxy, så applikationen kan tilgås via standard HTTP-porten. Installer Apache-webserveren ved at køre:

sudo yum -y install httpd

Opret en ny virtuel vært.

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

Udfyld filen med:

<VirtualHost *:80>  
    ServerName sonar.yourdomain.com
    ServerAdmin [email protected]
    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
</VirtualHost>

Start Apache og aktiver den til at starte automatisk ved opstart:

sudo systemctl start httpd
sudo systemctl enable httpd

Trin 6: Konfigurer firewall

Tillad den nødvendige HTTP-port gennem systemets firewall.

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

Start SonarQube-tjenesten:

sudo systemctl start sonar

Du skal også deaktivere SELinux:

sudo setenforce 0

SonarQube er installeret på din server, få adgang til dashboardet på følgende adresse.

http://sonar.yourdomain.com

Log ind med den oprindelige administratorkonto, adminog admin. Du kan nu bruge SonarQube til løbende at analysere den kode, du har skrevet.


Errata

Hvis du installerer SonarQube 7.1 (eller nyere), skal du foretage ændringerne nedenfor, fordi nyere versioner af Elasticsearch ikke kan køres som root-bruger.

  • Opdater tilladelser: chown -R sonar:sonar /opt/sonarqube
  • Rediger /opt/sonarqube/bin/linux-x86-64/sonar.sh, skift #RUNAStil at være " sonar".
  • Rediger /etc/systemd/system/sonar.service, skift brugergruppen til at være " sonar".

Installer Plesk på CentOS 7

Installer Plesk på CentOS 7

Bruger du et andet system? Plesk er et proprietært webhost kontrolpanel, der giver brugerne mulighed for at administrere deres personlige og/eller klienters websteder, databaser

Sådan installeres Squid Proxy på CentOS

Sådan installeres Squid Proxy på CentOS

Squid er et populært, gratis Linux-program, der giver dig mulighed for at oprette en webproxy til videresendelse. I denne vejledning vil du se, hvordan du installerer Squid på CentOS for at gøre dig

Sådan installeres Lighttpd (LLMP Stack) på CentOS 6

Sådan installeres Lighttpd (LLMP Stack) på CentOS 6

Introduktion Lighttpd er en forgrening af Apache, der sigter mod at være meget mindre ressourcekrævende. Den er let, deraf navnet, og den er ret enkel at bruge. Installer

Konfiguration af statisk netværk og IPv6 på CentOS 7

Konfiguration af statisk netværk og IPv6 på CentOS 7

VULTR har for nylig foretaget ændringer i deres ende, og alt skulle nu fungere fint ud af boksen med NetworkManager aktiveret. Skulle du ønske at deaktivere

Ændring af Icinga2 til at bruge Master/Client Model på CentOS 6 eller CentOS 7

Ændring af Icinga2 til at bruge Master/Client Model på CentOS 6 eller CentOS 7

Icinga2 er et kraftfuldt overvågningssystem, og når det bruges i en master-klient-model, kan det erstatte behovet for NRPE-baserede overvågningstjek. Mester-klienten

Sådan installeres Apache Cassandra 3.11.x på CentOS 7

Sådan installeres Apache Cassandra 3.11.x på CentOS 7

Bruger du et andet system? Apache Cassandra er et gratis og open source NoSQL-databasestyringssystem, der er designet til at give skalerbarhed, høj

Sådan installeres Microweber på CentOS 7

Sådan installeres Microweber på CentOS 7

Bruger du et andet system? Microweber er en open source træk og slip CMS og online shop. Microweber-kildekoden er hostet på GitHub. Denne guide vil vise dig

Sådan installeres Mattermost 4.1 på CentOS 7

Sådan installeres Mattermost 4.1 på CentOS 7

Bruger du et andet system? Mattermost er et open source, selvhostet alternativ til Slack SAAS-meddelelsestjenesten. Med andre ord, med Mattermost er du ca

Oprettelse af et netværk af Minecraft-servere med BungeeCord på Debian 8, Debian 9 eller CentOS 7

Oprettelse af et netværk af Minecraft-servere med BungeeCord på Debian 8, Debian 9 eller CentOS 7

Hvad skal du bruge En Vultr VPS med mindst 1 GB RAM. SSH-adgang (med root/administrative rettigheder). Trin 1: Installation af BungeeCord Første ting først

Lad os kryptere på Plesk

Lad os kryptere på Plesk

Plesk-kontrolpanelet har en meget flot integration til Lets Encrypt. Lets Encrypt er en af ​​de eneste SSL-udbydere, der udleverer certifikater komplet

Lader kryptere på cPanel

Lader kryptere på cPanel

Lets Encrypt er en certifikatmyndighed dedikeret til at levere SSL-certifikater gratis. cPanel har bygget en pæn integration, så du og din klient

Sådan installeres Concrete5 på CentOS 7

Sådan installeres Concrete5 på CentOS 7

Bruger du et andet system? Concrete5 er et open source CMS, som tilbyder mange karakteristiske og nyttige funktioner til at hjælpe redaktører med at producere indhold nemt og

Sådan installeres Review Board på CentOS 7

Sådan installeres Review Board på CentOS 7

Bruger du et andet system? Review Board er et gratis og open source-værktøj til gennemgang af kildekode, dokumentation, billeder og mange flere. Det er webbaseret software

Konfigurer HTTP-godkendelse med Nginx på CentOS 7

Konfigurer HTTP-godkendelse med Nginx på CentOS 7

I denne vejledning lærer du, hvordan du opsætter HTTP-godkendelse for en Nginx-webserver, der kører på CentOS 7. Krav For at komme i gang skal du bruge

Sådan installeres YOURLS på CentOS 7

Sådan installeres YOURLS på CentOS 7

YOURLS (Your Own URL Shortener) er en open source URL-forkortelse og dataanalyseapplikation. I denne artikel vil vi dække installationsprocessen

Sådan installeres og konfigureres ArangoDB på CentOS 7

Sådan installeres og konfigureres ArangoDB på CentOS 7

Bruger du et andet system? Introduktion ArangoDB er en open source NoSQL-database med en fleksibel datamodel for dokumenter, grafer og nøgleværdier. det er

Brug af Etckeeper til versionskontrol af /etc

Brug af Etckeeper til versionskontrol af /etc

Introduktion /etc/-biblioteket spiller en afgørende rolle i den måde et Linux-system fungerer på. Årsagen til dette er, at næsten alle systemkonfigurationer

Hvorfor skal du bruge SSHFS? Sådan monteres et eksternt filsystem med SSHFS på CentOS 6

Hvorfor skal du bruge SSHFS? Sådan monteres et eksternt filsystem med SSHFS på CentOS 6

Mange systemadministratorer administrerer store mængder servere. Når filer skal tilgås på tværs af forskellige servere, logges ind på hver enkelt individuelt ca

Opsætning af en Half Life 2-server på CentOS 6

Opsætning af en Half Life 2-server på CentOS 6

Denne vejledning vil dække processen med at installere en Half Life 2-spilserver på CentOS 6 System. Trin 1: Installation af forudsætninger For at opsætte ou

Sådan installeres Laravel GitScrum på CentOS 7

Sådan installeres Laravel GitScrum på CentOS 7

Laravel GitScrum eller GitScrum er et open source-produktivitetsværktøj designet til at hjælpe udviklingsteams med at implementere Scrum-metoden på en måde, der ligner t.

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Kunstig intelligens er ikke i fremtiden, det er her lige i nuet I denne blog Læs, hvordan kunstig intelligens-applikationer har påvirket forskellige sektorer.

DDOS-angreb: et kort overblik

DDOS-angreb: et kort overblik

Er du også et offer for DDOS-angreb og forvirret over forebyggelsesmetoderne? Læs denne artikel for at løse dine spørgsmål.

Har du nogensinde spekuleret på, hvordan tjener hackere penge?

Har du nogensinde spekuleret på, hvordan tjener hackere penge?

Du har måske hørt, at hackere tjener mange penge, men har du nogensinde spekuleret på, hvordan tjener de den slags penge? lad os diskutere.

Revolutionære opfindelser fra Google, der vil gøre dit liv lettere.

Revolutionære opfindelser fra Google, der vil gøre dit liv lettere.

Vil du se revolutionerende opfindelser fra Google, og hvordan disse opfindelser ændrede livet for ethvert menneske i dag? Læs derefter til bloggen for at se opfindelser fra Google.

Fredag ​​Essential: Hvad skete der med AI-drevne biler?

Fredag ​​Essential: Hvad skete der med AI-drevne biler?

Konceptet med selvkørende biler til at køre på vejene ved hjælp af kunstig intelligens er en drøm, vi har haft i et stykke tid nu. Men på trods af flere løfter er de ingen steder at se. Læs denne blog for at lære mere...

Teknologisk singularitet: En fjern fremtid for menneskelig civilisation?

Teknologisk singularitet: En fjern fremtid for menneskelig civilisation?

Efterhånden som videnskaben udvikler sig i et hurtigt tempo og overtager en stor del af vores indsats, stiger risikoen for at udsætte os selv for en uforklarlig Singularitet. Læs, hvad singularitet kunne betyde for os.

Udvikling af datalagring – Infografik

Udvikling af datalagring – Infografik

Opbevaringsmetoderne for dataene har været under udvikling, kan være siden fødslen af ​​dataene. Denne blog dækker udviklingen af ​​datalagring på basis af en infografik.

Funktioner af Big Data Reference Architecture Layers

Funktioner af Big Data Reference Architecture Layers

Læs bloggen for at kende forskellige lag i Big Data-arkitekturen og deres funktionaliteter på den enkleste måde.

6 fantastiske fordele ved at have smarte hjemmeenheder i vores liv

6 fantastiske fordele ved at have smarte hjemmeenheder i vores liv

I denne digitalt drevne verden er smarte hjemmeenheder blevet en afgørende del af livet. Her er et par fantastiske fordele ved smarte hjemmeenheder om, hvordan de gør vores liv værd at leve og enklere.

macOS Catalina 10.15.4-tillægsopdatering forårsager flere problemer end at løse

macOS Catalina 10.15.4-tillægsopdatering forårsager flere problemer end at løse

For nylig udgav Apple macOS Catalina 10.15.4 en supplerende opdatering for at løse problemer, men det ser ud til, at opdateringen forårsager flere problemer, hvilket fører til mursten af ​​mac-maskiner. Læs denne artikel for at lære mere