CentOS 7にSonarQubeをインストールする方法

SonarQubeは、品質システム開発のためのオープンソースツールです。Javaで書かれており、複数のデータベースをサポートしています。コードを継続的に検査し、アプリケーションの正常性を示し、新しく導入された問題を強調表示する機能を提供します。トリッキーな問題を検出するためのコードアナライザーが含まれています。また、DevOpsと簡単に統合できます。

このチュートリアルでは、CentOS 7に最新バージョンのSonarQubeをインストールします。

注:このドキュメントは、最初の発行後に更新されています。脚注の「正誤表」セクションを参照してください。

前提条件

  • 2 GB以上のRAMを備えたVultr 64ビットCentOS 7サーバーインスタンス。
  • sudoのユーザー

手順1:システムアップデートを実行する

CentOSサーバーインスタンスにパッケージをインストールする前に、システムを更新することをお勧めします。sudoユーザーを使用してログインし、次のコマンドを実行してシステムを更新します。

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

システムの再起動が完了したら、sudoユーザーとして再度ログインし、次の手順に進みます。

ステップ2:Javaをインストールする

次のように入力して、Oracle SE JDK RPMパッケージをダウンロードします。

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"

次のように入力して、ダウンロードしたパッケージをインストールします。

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

次のように入力して、Javaのバージョンを確認できます。

java -version

ステップ3:PostgreSQLをインストールして構成する

次のように入力して、PostgreSQLリポジトリをインストールします。

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

次のコマンドを実行して、PostgreSQLデータベースサーバーをインストールします。

sudo yum -y install postgresql96-server postgresql96-contrib

データベースを初期化します。

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

を編集し/var/lib/pgsql/9.6/data/pg_hba.confて、MD5ベースの認証を有効にします。

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

次の行と変更検索peerするtrustidnetします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

更新すると、設定は以下のようになります。

# 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

PostgreSQLサーバーを起動し、次のコマンドを実行して、起動時に自動的に起動するようにします。

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

デフォルトのPostgreSQLユーザーのパスワードを変更します。

sudo passwd postgres

postgresユーザーに切り替えます。

su - postgres

次のように入力して、新しいユーザーを作成します。

createuser sonar

PostgreSQLシェルに切り替えます。

psql

SonarQubeデータベース用に新しく作成したユーザーのパスワードを設定します。

ALTER USER sonar WITH ENCRYPTED password 'StrongPassword';

次のコマンドを実行して、PostgreSQLデータベース用の新しいデータベースを作成します。

CREATE DATABASE sonar OWNER sonar;

psqlシェルを終了します。

\q

exitコマンドを実行して、sudoユーザーに切り替えます。

ステップ4:SonarQubeをダウンロードして構成する

SonarQubeインストーラーファイルのアーカイブをダウンロードします。

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

SonarQube ダウンロードページで、アプリケーションの最新バージョンへのリンクをいつでも探すことができます

以下を実行してunzipをインストールします。

sudo yum -y install unzip

次のコマンドを使用してアーカイブを解凍します。

sudo unzip sonarqube-6.4.zip -d /opt

ディレクトリの名前を変更します。

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

お気に入りのテキストエディターを使用してSonarQube構成ファイルを開きます。

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

次の行を見つけます。

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

以前に作成したデータベースのPostgreSQLユーザー名とパスワードのコメントを外して提供します。次のようになります。

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

次に、見つけます:

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

行のコメントを外して、ファイルを保存し、エディターを終了します。

ステップ5:Systemdサービスを構成する

SonarQubeは、インストーラーパッケージで提供される起動スクリプトを使用して直接起動できます。便宜上、SonarQube用のSystemdユニットファイルをセットアップする必要があります。

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

ファイルに以下を入力します。

[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

次のコマンドを実行してアプリケーションを起動します。

sudo systemctl start sonar

起動時にSonarQubeサービスが自動的に開始されるようにします。

sudo systemctl enable sonar

サービスが実行されているかどうかを確認するには、次のコマンドを実行します。

sudo systemctl status sonar

手順5:リバースプロキシを構成する

デフォルトでは、SonarQubeはポート9000でlocalhostをリッスンします。このチュートリアルでは、Apacheをリバースプロキシとして使用して、標準のHTTPポート経由でアプリケーションにアクセスできるようにします。次のコマンドを実行して、Apache Webサーバーをインストールします。

sudo yum -y install httpd

新しい仮想ホストを作成します。

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

ファイルに以下を入力します。

<VirtualHost *:80>  
    ServerName sonar.yourdomain.com
    ServerAdmin me@yourdomain.com
    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>

Apacheを起動して、起動時に自動的に起動するようにします。

sudo systemctl start httpd
sudo systemctl enable httpd

手順6:ファイアウォールを構成する

必要なHTTPポートがシステムファイアウォールを通過できるようにします。

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

SonarQubeサービスを開始します。

sudo systemctl start sonar

また、SELinuxを無効にする必要があります。

sudo setenforce 0

SonarQubeがサーバーにインストールされています。次のアドレスのダッシュボードにアクセスしてください。

http://sonar.yourdomain.com

初期の管理者アカウントを使用してログインし、adminそして admin。これで、SonarQubeを使用して、作成したコードを継続的に分析できます。


エラッタ

新しいバージョンのElasticsearchはrootユーザーとして実行できないため、SonarQube 7.1以降をインストールする場合は、以下の変更を行ってください。

  • 更新権限: chown -R sonar:sonar /opt/sonarqube
  • 変更し/opt/sonarqube/bin/linux-x86-64/sonar.sh#RUNASsonar」に変更します。
  • 変更し/etc/systemd/system/sonar.service、ユーザーグループを " sonar" に変更します。


Leave a Comment

CentOS 7にApacheをインストールする方法

CentOS 7にApacheをインストールする方法

CentOS 7サーバーにApache 2.4をインストールする方法を説明します。安定したウェブサーバーを構築するための前提条件と手順を解説します。

FreeBSD 11.1にBlacklistdをインストールする方法

FreeBSD 11.1にBlacklistdをインストールする方法

FreeBSD 11.1におけるBlacklistdのインストール方法について詳しく解説します。この方法を通じて、強力なセキュリティ対策を実装できます。

Windows Serverのサーバーマネージャーを使用した複数サーバーの管理

Windows Serverのサーバーマネージャーを使用した複数サーバーの管理

サーバーマネージャーを使用して、Windows Serverの管理が向上します。セキュリティリスクを軽減し、効率的な管理を実現します。

CentOS 7にSeafileサーバーをインストールする方法

CentOS 7にSeafileサーバーをインストールする方法

CentOS 7にSeafileサーバーをインストールする方法。Seafile(コミュニティバージョン)は、ownCloudに似た無料のオープンソースファイル同期および共有ソリューションです。

DebianでSnortを設定する方法

DebianでSnortを設定する方法

Snortは無料のネットワーク侵入検知システムです。最新の方法で、SnortをDebianにインストールし、設定する手順を紹介します。ネットワークのセキュリティを強化しましょう。

CentOS 7にGraylogサーバーをインストールする方法

CentOS 7にGraylogサーバーをインストールする方法

CentOS 7にGraylogサーバーをインストールし、ログ管理を行う方法を学びます。

WindowsでhMailServerを使用してメールサーバーを構築する

WindowsでhMailServerを使用してメールサーバーを構築する

WindowsサーバーでWebサイトを実行している場合、電子メールも受信できるようにするためにhMailServerを使用する方法を解説します。

Ubuntu 19.04にFiveMサーバーをインストールする方法

Ubuntu 19.04にFiveMサーバーをインストールする方法

FiveMサーバーをUbuntu 19.04にインストールするための詳細なガイド。必要条件からインストール、起動、トラブルシューティングまで、すべてのステップを含みます。

WsgiDAVを使用してDebian 10にWebDAVをデプロイする

WsgiDAVを使用してDebian 10にWebDAVをデプロイする

Debian 10にWebDAVをデプロイする方法を学び、WsgiDAVとSSL証明書で安全な接続を実現しましょう。

ヘルスケア2021における人工知能の影響

ヘルスケア2021における人工知能の影響

ヘルスケアにおけるAIは、過去数十年から大きな飛躍を遂げました。したがって、ヘルスケアにおけるAIの未来は、日々成長を続けています。