2022年3月25日
環境
Debian 11.2
SonarQubeのインストール方法
1.システムパッケージと必要なツールを更新します
# sudo apt install net-tools wget unzip vim curl
# sudo apt update
# sudo apt install net-tools wget unzip vim curl
# sudo apt update
# sudo apt install net-tools wget unzip vim curl
2.メモリマップの数の上限を設定します
# sudo vim /etc/sysctl.conf
# sudo vim /etc/sysctl.conf
# sudo vim /etc/sysctl.conf
下記の内容で編集します
vm.max_map_count=262144
fs.file-max=65536
vm.max_map_count=262144
fs.file-max=65536
sysctl配置内容をリロードします
# sudo sysctl --system
3.Java11をインストールします
# sudo apt install openjdk-11-jdk
openjdk 11.0 . 14 2022 - 01 - 18
OpenJDK Runtime Environment ( build 11.0 . 14 + 9 -post-Debian-1deb11u1 )
OpenJDK 64 -Bit Server VM ( build 11.0 . 14 + 9 -post-Debian-1deb11u1, mixed mode, sharing )
# sudo apt install openjdk-11-jdk
# java --version
openjdk 11.0.14 2022-01-18
OpenJDK Runtime Environment (build 11.0.14+9-post-Debian-1deb11u1)
OpenJDK 64-Bit Server VM (build 11.0.14+9-post-Debian-1deb11u1, mixed mode, sharing)
# sudo apt install openjdk-11-jdk
# java --version
openjdk 11.0.14 2022-01-18
OpenJDK Runtime Environment (build 11.0.14+9-post-Debian-1deb11u1)
OpenJDK 64-Bit Server VM (build 11.0.14+9-post-Debian-1deb11u1, mixed mode, sharing)
4.PostgreSQLをインストールします
# wget -q https://www.postgresql.org/media/keys/ACCC4CF8.asc -O - | sudo apt-key add -
# wget -q https://www.postgresql.org/media/keys/ACCC4CF8.asc -O - | sudo apt-key add -
# wget -q https://www.postgresql.org/media/keys/ACCC4CF8.asc -O - | sudo apt-key add -
PostgreSQLリポジトリを追加します
# sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ `lsb_release -cs`-pgdg main" >> /etc/apt/sources.list.d/pgdg.list'
# sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ `lsb_release -cs`-pgdg main" >> /etc/apt/sources.list.d/pgdg.list'
# sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ `lsb_release -cs`-pgdg main" >> /etc/apt/sources.list.d/pgdg.list'
APT packageインデックスを更新します
# sudo apt update
PostgreSQLをインストールします
# sudo apt install postgresql postgresql-contrib
# sudo apt install postgresql postgresql-contrib
# sudo apt install postgresql postgresql-contrib
PostgreSQLのスタースを確認します
# systemctl status postgresql
● postgresql. service - PostgreSQL RDBMS
Loaded: loaded ( /lib/systemd/system/postgresql. service ; enabled; vendor preset: enabled )
Active: active ( exited ) since Fri 2022 - 03 - 25 04 : 52 : 03 JST; 3min 36s ago
# systemctl status postgresql
● postgresql.service - PostgreSQL RDBMS
Loaded: loaded (/lib/systemd/system/postgresql.service; enabled; vendor preset: enabled)
Active: active (exited) since Fri 2022-03-25 04:52:03 JST; 3min 36s ago
# systemctl status postgresql
● postgresql.service - PostgreSQL RDBMS
Loaded: loaded (/lib/systemd/system/postgresql.service; enabled; vendor preset: enabled)
Active: active (exited) since Fri 2022-03-25 04:52:03 JST; 3min 36s ago
PostgreSQL自動起動を設定します
# sudo systemctl enable postgresql
Synchronizing state of postgresql. service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable postgresql
# sudo systemctl enable postgresql
Synchronizing state of postgresql.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable postgresql
# sudo systemctl enable postgresql
Synchronizing state of postgresql.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable postgresql
5.SonarQube用ユーザーを作成します
# sudo passwd postgres
新しい パスワード:
新しい パスワードを再入力してください:
passwd: パスワードは正しく更新されました
# sudo passwd postgres
新しい パスワード:
新しい パスワードを再入力してください:
passwd: パスワードは正しく更新されました
ユーザpostgresに切り替えます
postgres@arkgame:~$ createuser sonar
# su - postgres
postgres@arkgame:~$ createuser sonar
# su - postgres
postgres@arkgame:~$ createuser sonar
PostgreSQLシェルに接続します
psql ( 14.2 ( Debian 14.2 - 1. pgdg110 + 1 ))
$ psql
psql (14.2 (Debian 14.2-1.pgdg110+1))
"help"でヘルプを表示します。
postgres=#
$ psql
psql (14.2 (Debian 14.2-1.pgdg110+1))
"help"でヘルプを表示します。
postgres=#
ユーザー「sonar」のパスワードを変更します。
postgres= # ALTER USER sonar WITH ENCRYPTED PASSWORD 'sonar123';
postgres=# ALTER USER sonar WITH ENCRYPTED PASSWORD 'sonar123';
ALTER ROLE
postgres=# ALTER USER sonar WITH ENCRYPTED PASSWORD 'sonar123';
ALTER ROLE
データベース「sonarqube」を作成します。
postgres= # CREATE DATABASE sonarqube OWNER sonar;
postgres=# CREATE DATABASE sonarqube OWNER sonar;
CREATE DATABASE
postgres=# CREATE DATABASE sonarqube OWNER sonar;
CREATE DATABASE
ユーザー権限を付与します。
postgres= # GRANT ALL PRIVILEGES ON DATABASE sonarqube to sonar;
postgres=# GRANT ALL PRIVILEGES ON DATABASE sonarqube to sonar;
GRANT
postgres=# \q
postgres=# GRANT ALL PRIVILEGES ON DATABASE sonarqube to sonar;
GRANT
postgres=# \q
6.下記サイトから最新版SonarQubeをダウンロードします
https://www.sonarqube.org/downloads/
root@arkgame:~ # wget https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-9.3.0.51899.zip
root@arkgame:~# wget https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-9.3.0.51899.zip
root@arkgame:~# wget https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-9.3.0.51899.zip
ダウンロードファイルを解凍します。
root@arkgame:~ # unzip sonarqube-*.zip
root@arkgame:~ # sudo mv sonarqube-*/ /opt/sonarqube
root@arkgame:~# unzip sonarqube-*.zip
root@arkgame:~# sudo mv sonarqube-*/ /opt/sonarqube
root@arkgame:~# unzip sonarqube-*.zip
root@arkgame:~# sudo mv sonarqube-*/ /opt/sonarqube
7.SonarQubeのシステムユーザーアカウントを作成します
root@arkgame:~ # sudo useradd -M -d /opt/sonarqube/ -r -s /bin/bash sonarqube
root@arkgame:~# sudo useradd -M -d /opt/sonarqube/ -r -s /bin/bash sonarqube
root@arkgame:~# sudo useradd -M -d /opt/sonarqube/ -r -s /bin/bash sonarqube
ディレクトリ/opt/sonarqubeの所有権を作成したユーザーに変更します。
root@arkgame:~ # sudo chown -R sonarqube: /opt/sonarqube
root@arkgame:~# sudo chown -R sonarqube: /opt/sonarqube
root@arkgame:~# sudo chown -R sonarqube: /opt/sonarqube
8.SonarQubeを設定します
# sudo vim /opt/sonarqube/conf/sonar.properties
18~19行目
sonar. jdbc . username =sonar
sonar. jdbc . password =sonar123
修正前
#sonar.jdbc.username=
#sonar.jdbc.password=
修正後
sonar.jdbc.username=sonar
sonar.jdbc.password=sonar123
修正前
#sonar.jdbc.username=
#sonar.jdbc.password=
修正後
sonar.jdbc.username=sonar
sonar.jdbc.password=sonar123
36行目
#sonar.jdbc.url=jdbc:postgresql://localhost/sonarqube?currentSchema=my_schema
sonar. jdbc . url =jdbc:postgresql: //localhost/sonarqube
修正前
#sonar.jdbc.url=jdbc:postgresql://localhost/sonarqube?currentSchema=my_schema
修正後
sonar.jdbc.url=jdbc:postgresql://localhost/sonarqube
修正前
#sonar.jdbc.url=jdbc:postgresql://localhost/sonarqube?currentSchema=my_schema
修正後
sonar.jdbc.url=jdbc:postgresql://localhost/sonarqube
101行目
sonar. web . host = 192.168 . 71 . 144
修正前
sonar.web.host=0.0.0.0
修正後
sonar.web.host=192.168.71.144
修正前
sonar.web.host=0.0.0.0
修正後
sonar.web.host=192.168.71.144
9.SonarQube Systemdサービスファイルを作成します
# sudo vim /etc/systemd/system/sonarqube.service
# sudo vim /etc/systemd/system/sonarqube.service
# sudo vim /etc/systemd/system/sonarqube.service
下記内容で編集します
Description=SonarQube service
After=syslog. target network. target
ExecStart=/opt/sonarqube/bin/linux-x86- 64 /sonar. sh start
ExecStop=/opt/sonarqube/bin/linux-x86- 64 /sonar. sh stop
WantedBy=multi-user. target
[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=sonarqube
Group=sonarqube
Restart=always
LimitNOFILE=65536
LimitNPROC=4096
[Install]
WantedBy=multi-user.target
[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=sonarqube
Group=sonarqube
Restart=always
LimitNOFILE=65536
LimitNPROC=4096
[Install]
WantedBy=multi-user.target
10.sonarqubeを起動します
設定ファイルをリロードします
# sudo systemctl daemon-reload
# sudo systemctl daemon-reload
# sudo systemctl daemon-reload
sonarqubeを起動します
# sudo systemctl start sonarqube
# sudo systemctl start sonarqube
# sudo systemctl start sonarqube
sonarqube自動起動を設定します
# sudo systemctl enable sonarqube
Created symlink /etc/systemd/system/multi-user. target . wants /sonarqube. service → /etc/systemd/system/sonarqube. service .
# sudo systemctl enable sonarqube
Created symlink /etc/systemd/system/multi-user.target.wants/sonarqube.service → /etc/systemd/system/sonarqube.service.
# sudo systemctl enable sonarqube
Created symlink /etc/systemd/system/multi-user.target.wants/sonarqube.service → /etc/systemd/system/sonarqube.service.
sonarqubeのステータスを確認します。
# systemctl status sonarqube
● sonarqube. service - SonarQube service
Loaded: loaded ( /etc/systemd/system/sonarqube. service ; enabled; vendor preset: enabled )
Active: active ( running ) since Fri 2022 - 03 - 25 06 : 22 : 43 JST; 9s ago
# systemctl status sonarqube
● sonarqube.service - SonarQube service
Loaded: loaded (/etc/systemd/system/sonarqube.service; enabled; vendor preset: enabled)
Active: active (running) since Fri 2022-03-25 06:22:43 JST; 9s ago
# systemctl status sonarqube
● sonarqube.service - SonarQube service
Loaded: loaded (/etc/systemd/system/sonarqube.service; enabled; vendor preset: enabled)
Active: active (running) since Fri 2022-03-25 06:22:43 JST; 9s ago
SonarQube画面ログイン
ブラウザから http://プライベートIP:9000にアクセスします。