59
61

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

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

Last updated at Posted at 2015-05-13

記載する予定のもの

前回、
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

59
61
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
59
61

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?