Edited at

SonarQubeでプログラムの品質管理をはじめる(インストール)

More than 1 year has passed since last update.


記載する予定のもの

前回、

SonarQubeでプログラムの品質管理をはじめる(概要)

でSonarQubeの概要に触れました。

今回はSonarQUbeのインストールをして、SonarQubeのWEBページが開くところまでを書きます。


インストール環境

OSはCentOS 7(minimal)を使います。

CentOS 7の立ち上げ方は以下を参照してください。

CentOS7のインストール方法


インストール


入れるもの


  • SonarQube 5.1

  • MySQL5.6

  • Java jdk 1.8


補足

Linux + SonarQube5.1でインストール手順を書きますが、

バイナリインストールのため、SonarQubeのバージョンが上がっても方法は変わりません。

また、Windows環境へのインストールについても、

環境変数の設定周りをWindowsの方法で置き換えてあげればインストールをできるはずです。


インストール手順


  1. Javaのインストール

    以下のコマンドでjdkをダウンロード


コマンド

# wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u45-b14/jdk-8u45-linux-x64.tar.gz"


ダウンロードが終わったら"/usr/local/java"にファイルを移動し、解凍します。


コマンド

# tar xvf jdk-8u45-linux-x64.tar.gz


シンボリックリンクを当てておきます。


コマンド

# ln -s jdk1.8.0_45 latest


環境変数にJAVA_HOMEを設定します。

/etc/profile.dにjavaenv.shとjavaenv.cshを作成し中身は以下とします。


javaenv.sh

export JAVA_HOME=/usr/local/java/latest

export PATH=$PATH:$JAVA_HOME/bin


javaenv.csh

setenv JAVA_HOME=/usr/local/java/latest

setenv PATH=$PATH:$JAVA_HOME/bin

 

2. MySQLのインストール


MySQLはyumでサクッとインストールしてしまいます。


コマンド

# yum -y install http://dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm

# yum -y install mysql-community-server
# chown -R mysql:mysql /var/lib/mysql/*
# chkconfig mysqld on

 

3. SonarQubeのインストール


以下のコマンドでダウンロードします。


コマンド

# wget "http://dist.sonar.codehaus.org/sonarqube-5.1.zip"


ダウンロードが終わったらファイルを"/usr/local/sonarqube"に移動して解凍します。


コマンド

# unzip sonarqube-5.1.zip

シンボリックリンクも当てておきます。
# ln -s sonarqube-5.1 sonar

環境変数にSONAR_HOMEを設定します。

/etc/profile.dにsonarenv.shとsonarenv.cshを作成し中身は以下とします。


sonarenv.sh

export SONAR_HOME=/usr/local/sonarqube/sonar

export PATH=$PATH:$SONAR_HOME/bin/linux-x86-64


sonarenv.csh

setenv SONAR_HOME=/usr/local/sonarqube/sonar

setenv PATH=$PATH:$SONAR_HOME/bin/linux-x86-64

mysqlを使用するようにSonarの設定を書き換えます。

"/usr/local/sonarqube/sonar/conf/sonar.properties"を編集します。


sonar.properties

以下プロパティのコメントを削除して有効にする。

sonar.jdbc.username
sonar.jdbc.password
sonar.jdbc.url

serviceから起動できるように、"/usr/local/sonarqube/sonar/conf/wrapper.conf"を編集します。


wrapper.conf

wrapper.java.command=java を以下に変更

wrapper.java.command=/usr/local/java/latest/bin/java

SonarQubeをサービスに追加して、自動起動の登録をします。


コマンド

# ln -s /usr/local/sonarqube/sonar/bin/linux-x86-64/sonar.sh /etc/init.d/sonar

# chkconfig --add sonar
# chkconfig sonar on



  1. ファイアウォールの設定
    すべてdefaultなので以下のポートに穴を開けます。

ソフト
ポート

MySQL
3306

SonarQube
9000


コマンド

# firewall-cmd --zone=public --add-port=3306/tcp --permanent

# firewall-cmd --zone=public --add-port=9000/tcp --permanent

 

5. MySQLにユーザ作成

MySQLにsonar用のユーザを作成します。

mysqlのrootユーザでMySQLにログインして以下のコマンドを実行します。


コマンド

CREATE DATABASE sonar;

CREATE USER 'sonar'@'localhost' IDENTIFIED by 'sonar';
GRANT ALL PRIVILEGES ON sonar.* TO 'sonar'@'localhost';
FLUSH PRIVILEGES;

色々と変えたのでLinuxを再起動しなおします。

再起動したら、ブラウザから以下にアクセスすればSonarQubeのトップページが開きます。

トップページが表示されればインストールは完了です。


URL

http://{SonarQUbeをインストールした端末のIPアドレス}:9000


以下のような画面が出ます。

sonar-top-page.png


追記(2018/7/23)

なんか、chkconfigから外れて起動しなくなった。


service sonar does not support chkconfig



環境

Amazon Linux AMI

sonarqube-6.3.1


対処方法

このページ、CentOSで説明してるけど、同じ症状出て詰まったら、試してみてください。

/etc/ini.d/sonarの先頭に以下を追加

#! /bin/sh

# chkconfig: 345 98 20
# description: start SonarQUbe
# processname: sonar

あとは、

# chkconfig --add sonar

# chkconfig sonar on
# service sonar start

すればOK