1. 程式人生 > >CentOS安裝SonarQube7.9.1

CentOS安裝SonarQube7.9.1

    SonarQube版本:sonarqube-7.9.1.zip,官網地址:https://www.sonarqube.org/downloads/

    jdk版本:jdk-11.0.4_linux-x64_bin.tar.gz(sonarqube從7.9起,不再支援jdk11以下版本)

    資料庫:PostgreSQL 10.10(sonarqube從7.8起,不再支援mysql)(功能驗證也可以SonarQube內建的資料庫,這樣就不需要改資料庫配置)

2、安裝PostgreSQL

    詳見:

CentOS安裝PostgreSQL

3、安裝JDK

tar -zxvf /var/ftp/pub/jdk-11.0.4_linux-x64_bin.tar.gz    // 解壓安裝包
ln -s /usr/local/jdk-11.0.4/bin/java /usr/bin/            // 建立軟連線

    也可以不用建立軟連線,直接修改$SONARQUBE_HOME/conf/wrapper.conf檔案中的wrapper.java.command引數,指定java命令列位置

wrapper.java.command=/usr/local/jdk-11.0.4/bin/java

4、解壓SonarQube

yum install -y zip unzip                    // 安裝解壓工具
unzip /var/ftp/pub/sonarqube-7.9.1.zip      // 解壓安裝包

5、修改 $SONARQUBE_HOME/conf/sonar.properties 檔案,更改資料連線配置

sonar.jdbc.username=test_user
sonar.jdbc.password=abc123

sonar.jdbc.url=jdbc:postgresql://localhost:5432/test_db

    如果SonarQube與PostgreSQL在同一臺主機,請將PostgreSQL的訪問策略檔案pg_hba.conf的配置專案127.0.0/32的密碼策略有ident該為password或md5,詳見:

PostgreSQL的pg_hba.conf檔案講解

6、建立SonarQube啟動使用者(SonarQube內建了elasticsearch,elasticsearch不允許使用root使用者啟動)

useradd sonarqube
passwd sonarqube

7、設定系統引數(elasticsearch啟動需要設定一些引數)

    詳細見:elasticsearch啟動常見錯誤

    未設定這些引數在$SONARQUBE_HOME/logs/es.log中出現以下錯誤:

8、賦予啟動使用者執行許可權

chown -R sonarqube:sonarqube /usr/local/sonarqube-7.9.1/

9、登陸啟動使用者,啟動程式

su - sonarqube                                             // 以sonarqube使用者登陸
cd /usr/local/sonarqube-7.9.1/bin/linux-x86-64   // 進入啟動命令目錄
./sonar.sh start                                             // 啟動程式

10、登陸http://192.168.107.136:9000訪問,預設使用者名稱/密碼為:admin/admin

11、建立服務並設定啟動方式

    這個部分驗證失敗,先放著這裡,以後再處理。sonarqube自帶的elasticsearch不允許root使用者啟動,但修改$SONARQUBE/bin/linux-x86-64/sonar.sh中的RUN_AS_USER配置項無效。

    在/etc/init.d/目錄建立檔案sonar,內容如下:

#!/bin/sh
#
# rc file for SonarQube
#
# chkconfig: 345 96 10
# description: SonarQube system (www.sonarsource.org)
#
### BEGIN INIT INFO
# Provides: sonar
# Required-Start: $network
# Required-Stop: $network
# Default-Start: 3 4 5
# Default-Stop: 0 1 2 6
# Short-Description: SonarQube system (www.sonarsource.org)
# Description: SonarQube system (www.sonarsource.org)
### END INIT INFO
 
/usr/bin/sonar $*

    建立軟連線和設定執行許可權

ln -s /usr/local/sonarqube-7.9.1/bin/linux-x86-64/sonar.sh /usr/bin/sonar  // 建立軟體連線
chmod 755 /etc/init.d/sonar                                                // 新增執行許可權

    常用命令:

service sonar start     // 啟動服務
service sonar stop      // 關閉服務
service sonar restart   // 重啟服務

chkconfig sonar on      // 設定開機啟動
chkconfig sonar off     // 關閉開機啟動

    官網說明:https://docs.sonarqube.org/7.9/setu