SonaQubeをCentOSにインストールする

SonarQubeサーバの実行には、JavaMySQL等のデータベースが必要です。 データベースは初期設定でH2を使うようになっており、必ずしも用意しなければならないものではありません。しかし、これはあくまでも評価用であり、実際に利用するときは別途データベースを用意することが推奨されています。

この記事では、CentOS 6.5でMySQL 5.6を用意することにします。

Javaインストール

OracleのサイトからJavaをダウンロードし、yumでインストールします。Javaのダウンロードには、ライセンス条項に同意する必要があります。ライセンスに同意した上でLinux上でダウンロードするには、以下のコマンドを実行します。

wget --no-check-certificate --no-cookies - --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u5-b13/jdk-8u5-linux-x64.rpm
sudo yum -y install jdk-8u5-linux-x64.rpm

Javaのバージョンが表示されたら成功です。

$ java -version
java version "1.8.0_05"
Java(TM) SE Runtime Environment (build 1.8.0_05-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.5-b02, mixed mode)

MySQLインストール

CentOSレポジトリに含まれるMySQLは結構古い(5.1)ため、Oracleレポジトリから新しいバージョンをyumでインストールします。

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

Oracleリポジトリからのインストールでは、データベースの作成等は行われないため、手動で実行する必要があります。

sudo -u mysql mysql_install_db
sudo service mysqld start
sudo mysql_secure_installation

SonarQube インストール

ZIPをダウンロードして展開するだけですが、ここでは Sonar native packages を利用してyumでインストールします。

sudo wget -O /etc/yum.repos.d/sonar.repo http://downloads.sourceforge.net/project/sonar-pkg/rpm/sonar.repo
sudo yum -y install sonar

データベース作成

インストールしたMySQL上に、SonarQube用のデータベースを作成します。

CREATE DATABASE sonar CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;

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

SonarQubeのDB設定

SonarQubeのJDBC設定を、MySQLを使うよう変更します。

# sonar.jdbc.url=jdbc:h2:tcp://localhost:9092/sonar // コメントアウトする

sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true // コメントを外す

SonarQubeサーバ起動

ここまでの作業が終了したら、後は起動するだけです。

sudo service sonar start

初回起動時に、自動的にテーブルなどが作成されます。 /opt/sonar/logs/sonar.logWeb server is started というログが出れば準備完了です。ブラウザで http://hostname:9000/ にアクセスすると、トップページが表示されるはずです。

SonarQubeトップページ お疲れ様でした。これで、SonarQubeを使い始める準備が整いました。

右上の Log in リンクで管理者(初期値は admin/admin)としてログインすることで、プラグインの追加やルールの管理を行うことができます。