GNU/Linux >> Linux の 問題 >  >> Ubuntu

Ubuntu16.04にSonarQubeをインストールする方法

SonarQubeは、コード検査を自動化するために使用できる無料のオープンソース品質管理システムプラットフォームです。ソースコードファイルを分析し、一連のメトリックを計算して、Webベースのダッシュボードに結果を表示できます。 Java言語で書かれており、Perl、PHP、Rubyなどの他の言語もサポートしています。デフォルトでは、SonarQubeはh2データベースをサポートしていますが、スケーラブルではありません。そのため、SonarQubeをMSSQL、PostgreSQL、Oracle、MySQLなどの他のデータベースサーバーと統合できます。 SOnarQubeには多くのプラグインが付属しており、リポジトリからソースコードを自動的に統合します。これにより、開発者は20以上の異なる言語で、バグや脆弱性を検出し、コードの臭いを減らすことができます。 SonarLintプラグインを使用して、SolarQubeをEclipse、Visual Studio、およびIntelliJIDEA開発環境と簡単に統合できます。

このチュートリアルでは、Ubuntu16.04サーバーにSonarQubeをインストールする方法を学習します。

前提条件
  • システムに新しいUbuntu16.04サーバーをインストールします。
  • 最低4GBのRAM。
  • sudo権限を持つroot以外のユーザー。
はじめに

開始する前に、ベースシステムを最新バージョンに更新することをお勧めします。これを行うには、次のコマンドを実行します。

sudo apt-get update -y
sudo apt-get upgrade -y

システムを更新した後、Javaのインストールに進むことができます。

1Javaをインストール

SonarqubeはJavaベースのアプリケーションであるため、最初にJava8をインストールする必要があります。デフォルトでは、Java8はUbuntuリポジトリでは使用できません。 webupd8teamPPAリポジトリをシステムに追加することでJava8をインストールできます。

まず、次のコマンドを実行してPPAを追加します。

sudo add-apt-repository ppa:webupd8team/java

次に、次のコマンドでリポジトリを更新します。

sudo apt-get update -y

リポジトリが最新の状態になったら、次のコマンドを実行してJava8をインストールできます。

sudo apt-get install oracle-java8-installer -y

Javaをインストールした後、次のコマンドでJavaのバージョンを確認できます。

java -version

次の出力が表示されます。

Java version "1.8.0_91"
Java(TM) SE Runtime Environment (build 1.8.0_91-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.91-b14, mixed mode)

終了したら、次のステップに進むことができます。

2ApacheとMariaDBをインストールします

リバースプロキシにはApacheを使用し、データベースとしてMariaDBを使用するため、ApacheとMariaDBもインストールする必要があります。次のコマンドを実行して、両方をインストールできます。

sudo apt-get install apache2 mariadb-server -y

インストールが完了したら、ApacheおよびMariaDBサービスを開始し、次のコマンドを使用して起動時に開始できるようにします。

sudo systemctl start apache2
sudo systemctl enable apache2
sudo systemctl start mysql
sudo systemctl enable mysql

ApacheとMariaDBがインストールされて機能するようになったら、次のステップに進むことができます。

3MariaDBを構成する

デフォルトでは、MariaDBのインストールは保護されていないため、MariaDBのインストールを保護する必要があります。これを行うには、mysql_secure_installationスクリプトを実行します。

sudo mysql_secure_installation

このプロセスでは、rootパスワードを設定し、匿名ユーザーを削除し、rootログインをリモートで禁止し、テストデータベースを削除するように求められます。以下に示すように、すべての質問に答えてください。

Enter current password for root (enter for none):
Change the root password? [Y/n] n
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y

MariaDBが保護されたら、次のコマンドを使用してMariaDBシェルにログインします。

mysql -u root -p

プロンプトが表示されたらrootパスワードを入力し、SonarQubeのデータベースを作成します。

MariaDB [(none)]> CREATE DATABASE sonardb;

次に、新しいデータベースユーザーを作成し、作成したデータベースに対する適切な権限をデータベースユーザーに提供します。

MariaDB [(none)]> GRANT ALL PRIVILEGES ON sonardb.* TO 'sonar'@'localhost' IDENTIFIED BY 'yourpassword';

次に、次のコマンドを使用して、データベース権限に変更を適用します。

MariaDB [(none)]> FLUSH PRIVILEGES;

最後に、次のコマンドを使用してMariaDBシェルを終了します。

MariaDB [(none)]> \q

データベースを構成したら、次のステップに進むことができます。

4SonarQubeをインストール

SonarQubeの最新バージョンは公式ウェブサイトからダウンロードできます。 wgetコマンドでダウンロードできます:

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

ダウンロードが完了したら、次のコマンドを使用して、ダウンロードしたアーカイブを解凍します。

sudo unzip sonarqube-6.4.zip -d /opt

次に、次のコマンドを使用してディレクトリの名前を変更します。

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

次に、SonarQubeのメイン構成ファイルsonar.propertiesを変更する必要があります:

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

次の変更を行います:

##Database User credentials:
sonar.jdbc.username=sonar
sonar.jdbc.password=yourpassword
sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false

ファイルを保存して閉じてから、SonarQubeのsystemdサービスファイルを作成します。

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

次の行を追加します:

[Unit]
Description=SonarQube service
After=syslog.target network.target

[Service]
Type=forking

ExecStart=/opt/sonar/bin/linux-x86-64/sonar.sh start
ExecStop=/opt/sonar/bin/linux-x86-64/sonar.sh stop

User=root
Group=root
Restart=always

[Install]
WantedBy=multi-user.target

終了したらファイルを保存し、SonarQubeサービスを開始し、次のコマンドを使用して起動時に開始できるようにします。

sudo systemctl start sonar
sudo systemctl enable sonar

SonarQubeプロセスは、データベースの作成とデータの入力が完了するまでに少し時間がかかります。次のコマンドを使用して、SonarQubeのステータスを確認できます。

sudo systemctl status sonar

/opt/sonar/logs/sonar.logファイルの内容を調べて、プロセスを監視することもできます。完了したら、次のステップに進むことができます。

5Apacheをリバースプロキシとして構成する

デフォルトでは、SonarQubeはポート9000でリッスンします。ここでは、ポート80を使用してSonarQubeにアクセスできるように、リバースプロキシとしてApacheを使用します。

まず、次のコマンドを使用してapacheプロキシモジュールを有効にします。

sudo a2enmod proxy
sudo a2enmod proxy_http

次に、次のコマンドを使用して、SonarQubeの新しい仮想ホストファイルを作成します。

sudo nano /etc/apache2/sites-available/sonar.conf

次の行を追加します:

<VirtualHost *:80>
    ServerName 192.168.15.189
    ServerAdmin [email protected]
    ProxyPreserveHost On
    ProxyPass / http://localhost:9000/
    ProxyPassReverse / http://localhost:9000/
    TransferLog /var/log/apache2/sonar_access.log
    ErrorLog /var/log/apache2/sonar_error.log
</VirtualHost>

ファイルを保存して閉じ、次のコマンドを実行して新しい仮想ホストを有効にします。

sudo a2ensite sonar

最後に、次のコマンドを使用してapacheサービスを再起動します。

sudo systemctl restart apache2

6SonarQubeWebインターフェイスにアクセス

必要なすべてのコンポーネントがインストールされ、構成されます。次に、SonarQubeWebインターフェイスにアクセスします。

アクセスする前に、UFWファイアウォールを通過するポート80を許可する必要があります。デフォルトでは、UFWはUbuntuで無効になっているため、最初に有効にする必要があります。次のコマンドを実行して有効にできます:

sudo ufw enable

UFWファイアウォールを有効にしたら、次のコマンドを実行して、UFWを介したポート80を許可できます。

sudo ufw allow 80/tcp

次のコマンドを実行して、UFWファイアウォールのステータスを確認できるようになりました。

sudo ufw status

次に、Webブラウザーを開き、URL http://192.168.15.189に移動します。 、次の画面が表示されます:

次に、[ログイン]ボタンをクリックすると、次の画面が表示されます。

デフォルトのユーザー名を「admin」、パスワードを「admin」にしてログインすると、次の画面が表示されます。

SonarQubeダッシュボードにログインしたら、[管理]>[システム]>[システム情報]ボタンをクリックします。次の画面に現在のシステム情報が表示されます。

次に、[管理]>[システム]>[センターの更新]ボタンをクリックすると、インストールされているすべてのプラグインが次の画面に表示されます。

ここでは、既存のプラグインを更新したり、利用可能なプラグインをインストールしたりできます。必要なプラグインをインストールまたは更新した後、[再起動]ボタンをクリックしてシステムを再起動し、変更を更新する必要があります。

結論

上記のチュートリアルでは、Ubuntu16.04にSonarQubeをインストールする方法とSonarQubeの基本的な使用法を学びました。これで、本番環境に簡単にデプロイできます。ヘルプが必要な場合は、遠慮なくコメントしてください。


Ubuntu
  1. UbuntuLinuxにJavaをインストールする方法

  2. Ubuntu16.04にJavaをインストールする方法

  3. Ubuntu20.04にJavaをインストールする方法

  1. Ubuntu18.04にMariaDB10.4をインストールする方法

  2. Ubuntu20.04にJava17をインストールする方法

  3. Ubuntu 22.04 に Java をインストールする方法

  1. UbuntuにJavaをインストールする方法

  2. Ubuntu18.04にJavaをインストールする方法

  3. Ubuntu18.04にMariaDBをインストールする方法