CentOS7安装sonarqube8.9

一、安装规划

序号 主机名 ip地址 软件版本
1 master01 192.168.59.10 jdk-11.0.16,postgresql12,sonarqube8.9.3,sonar-scanner4.6.2
安装规划项 安装规划项值 备注
sonarqube安装目录 /software/sonarqube
jdk安装目录 /software/jdk
sonar-scanner安装目录 /software/scanner
jdk软件存放目录 /opt/software/jdk
sonarqube软件存放目录 /opt/software/sonarqube
sonar-scanner软件存放目录 /opt/software/scanner

二、安装准备

2.1 安装依赖

yum install -y wget ntpdate curl bzip2 unzip 

2.2 同步时间

软件安装之前都需要同步时间:

ntpdate time1.aliyun.com &&  hwclock -w

2.3 关闭防火墙

systemctl stop firewalld.service
systemctl disable firewalld.service
firewall-cmd --state   #not running,即为关闭成功

2.4 关闭selinux

setenforce 0
sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config
getenforce  #Disabled,即为关闭成功

2.5 准备安装目录

mkdir -p  /software/{sonarqube,jdk,scanner}
mkdir -p  /opt/software/{sonarqube,jdk,scanner}

2.6 准备安装文件

需要按照如下方式准备文件,放到192.168.59.10机器指定的目录下:

文件名 下载地址 存放目录
jdk-11.0.16_linux-x64_bin.tar.gz https://download.oracle.com/otn/java/jdk/11.0.16+11/b8c39bd7f0064c2aa24e6002b391bd0f/jdk-11.0.16_linux-x64_bin.tar.gz /opt/software/jdk
sonarqube-8.9.3.48735.zip https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-8.9.3.48735.zip /opt/software/sonarqube
sonar-scanner-cli-4.6.2.2472-linux.zip https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-4.6.2.2472-linux.zip /opt/software/scanner

也可以到分享的百度网盘下载:

链接:https://pan.baidu.com/s/1M5gHQ1nTaoJpJP4R6rr4Hg
提取码:73c7

三、jdk11安装

3.1 准备软件

将jdk-11.0.16_linux-x64_bin.tar.gz放到/opt/software/jdk目录下。

3.2 解压安装

tar -zxvf /opt/software/jdk/jdk-11.0.16_linux-x64_bin.tar.gz -C /software/jdk/

ln -s /software/jdk/jdk-11.0.16/ /usr/local/jdk11

3.3配置验证

echo 'export JAVA_HOME=/usr/local/jdk11' >> /etc/profile
echo 'export PATH=$PATH:$JAVA_HOME/bin' >> /etc/profile
source /etc/profile

#验证安装效果
[root@master01 ~]# java -version
java version "11.0.16" 2022-07-19 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.16+11-LTS-199)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.16+11-LTS-199, mixed mode)

四、 postgresql12安装

4.1 添加资源库RPM

yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm

4.2 安装PostgreSQL

yum install -y postgresql12-server

4.3 初始化数据库

/usr/pgsql-12/bin/postgresql-12-setup initdb

4.4 开机自启

systemctl enable postgresql-12
systemctl start postgresql-12

4.5 修改密码

# 登录postsql
su - postgres
psql
# 修改用户密码
alter user postgres with password '123456';
# 退出postgresql数据库
\q
exit #退出postgres用户

4.6 创建数据库

# 登录postsql
su - postgres
psql
# 查看数据库
\l
# 创建数据库和用户,并把数据库分配给该用户,并授予权限
create database sonar;
create user sonar;
alter user sonar with password 'sonar';
alter role sonar createdb;
alter role sonar superuser;
alter role sonar createrole;
alter database sonar owner to sonar;
# 退出
\q
exit

4.7 修改配置文件

vim /var/lib/pgsql/12/data/pg_hba.conf,将如下内容的METHOD改为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
# Allow replication connections from localhost, by a user with the
# replication privilege.
local   replication     all                                     peer
host    replication     all             127.0.0.1/32            ident
host    replication     all             ::1/128                 ident

修改后:

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local   all             all                                     md5
# IPv4 local connections:
host    all             all             127.0.0.1/32            md5
# IPv6 local connections:
host    all             all             ::1/128                 md5
# Allow replication connections from localhost, by a user with the
# replication privilege.
local   replication     all                                     md5
host    replication     all             127.0.0.1/32            md5
host    replication     all             ::1/128                 md5

4.8 重启postgresql

systemctl restart postgresql-12

五、SonarQube安装

5.1 创建用户

groupadd sonar
useradd sonar -g sonar

5.2 操作系统优化

echo "vm.max_map_count=262144"  >>  /etc/sysctl.conf
echo "fs.file-max=65536"  >>  /etc/sysctl.conf
sysctl -p # 使其生效

cat > /etc/security/limits.d/sonarqube.conf <<EOF
sonar soft nproc 4096 # -u
sonar hard nproc 4096 # -u
sonar soft nofile 65536 # n
sonar hard nofile 65536 # n
EOF

5.3 准备软件

如果没有下载,则可以在线下载:

wget -P /opt/software/sonarqube/ https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-8.9.3.48735.zip

5.4 解压安装

unzip /opt/software/sonarqube/sonarqube-8.9.3.48735.zip -d /software/sonarqube/

5.5 修改用户和组

chown -R sonar:sonar /software/sonarqube/sonarqube-8.9.3.48735/

5.6 修改配置文件

vim /software/sonarqube/sonarqube-8.9.3.48735/conf/sonar.properties 
#调整数据库库连接,内容如下:
sonar.jdbc.username=sonar
sonar.jdbc.password=sonar
sonar.jdbc.url=jdbc:postgresql://127.0.0.1/sonar
sonar.web.host=0.0.0.0
sonar.web.port=9000
####################数据库连接调整结束##################


#调整wrapper( /software/sonarqube/sonarqube-8.9.3.48735/conf/wrapper.conf)中java可执行文件的路径
sed -i "s/wrapper.java.command=java/wrapper.java.command=\/usr\/local\/jdk11\/bin\/java/g"   /software/sonarqube/sonarqube-8.9.3.48735/conf/wrapper.conf

5.7 启动及其他操作

为了统一管理服务以及保证服务的开机自启动,请使用5.9节提供的基于系统服务的启动停止方式。

su  sonar /software/sonarqube/sonarqube-8.9.3.48735/bin/linux-x86-64/sonar.sh start

其他操作:

su sonar /software/sonarqube/sonarqube-8.9.3.48735/bin/linux-x86-64/sonar.sh status #查看状态
su sonar /software/sonarqube/sonarqube-8.9.3.48735/bin/linux-x86-64/sonar.sh stop  #优雅停止(等待进行的分析完成)
su sonar /software/sonarqube/sonarqube-8.9.3.48735/bin/linux-x86-64/sonar.sh restart  #重启
su sonar /software/sonarqube/sonarqube-8.9.3.48735/bin/linux-x86-64/sonar.sh force-stop #硬关闭,强制停止 

tail -f /software/sonarqube/sonarqube-8.9.3.48735/logs/sonar.20220726.log #查看日志

5.8 添加系统服务

cat > /usr/lib/systemd/system/sonarqube.service << EOF
[Unit]
Description=Sonarube Service
After=syslog.target network.target

[Service]
Type=forking
ExecStart=/software/sonarqube/sonarqube-8.9.3.48735/bin/linux-x86-64/sonar.sh start
ExecStop=/software/sonarqube/sonarqube-8.9.3.48735/bin/linux-x86-64/sonar.sh stop
User=sonar
Group=sonar
Restart=always
RestartSec=120
LimitNOFILE=131072
LimitNPROC=8192

[Install]
WantedBy=multi-user.target
EOF


chmod 755 /usr/lib/systemd/system/sonarqube.service


5.9 开机自启动

systemctl daemon-reload
systemctl enable sonarqube #开机自启
systemctl start sonarqube #启动
systemctl stop sonarqube #停止
systemctl restart sonarqube #重启
systemctl status sonarqube #查看状态

5.10 验证访问

浏览器访问:http://192.168.59.10:9000/

账号密码:admin/admin

首次登录让修改密码,修改为123456;

5.11 界面汉化

登录成功后,Administration–marketplace搜索chinese,选择第一个安装(安装之前需要同意一个安全提醒);安装完成后重启sonarqube即完成汉化。

如果提示插件下载失败,可查看/software/sonarqube/sonarqube-8.9.3.48735/logs/web.log 查找具体原因,如果是github连接失败,可以进行如下的处理:

cat >> /etc/hosts <<EOF
140.82.112.4 github.com
140.82.114.4 gist.github.com
185.199.111.153 assets-cdn.github.com
185.199.111.133 raw.githubusercontent.com
185.199.109.133 gist.githubusercontent.com
185.199.111.133 cloud.githubusercontent.com
185.199.111.133 camo.githubusercontent.com
185.199.108.133 avatars.githubusercontent.com
185.199.111.133 avatars0.githubuserconte
EOF

六、Sonar-Scanner安装

6.1 解压文件

unzip /opt/software/scanner/sonar-scanner-cli-4.6.2.2472-linux.zip -d /software/scanner/

6.2 修改配置文件

修改sonar-scanner( /software/scanner/sonar-scanner-4.6.2.2472-linux/conf/sonar-scanner.properties)要连接的服务端地址,下面是以:192.168.59.10为例,实际安装依自己实际情况为准。


sed -i "s/#sonar.host.url=http:\/\/localhost:9000/sonar.host.url=http:\/\/192.168.59.10:9000/g"   /software/scanner/sonar-scanner-4.6.2.2472-linux/conf/sonar-scanner.properties

sed -i "s/#sonar.sourceEncoding=UTF-8/sonar.sourceEncoding=UTF-8/g"   /software/scanner/sonar-scanner-4.6.2.2472-linux/conf/sonar-scanner.properties

6.3 配置环境变量

cat > /etc/profile.d/sonar-scanner.sh<< 'EOF'
export SONAR_HOME=/software/sonarqube/sonarqube-8.9.3.48735
export SONAR_RUNNER_HOME=/software/scanner/sonar-scanner-4.6.2.2472-linux
export PATH=$PATH:$SONAR_RUNNER_HOME/bin
export PATH=$PATH:$SONAR_HOME/bin
EOF

source /etc/profile

6.4 访问验证

[root@master01 ~]# sonar-scanner -h

INFO: 
INFO: usage: sonar-scanner [options]
INFO: 
INFO: Options:
INFO:  -D,--define <arg>     Define property
INFO:  -h,--help             Display help information
INFO:  -v,--version          Display version information
INFO:  -X,--debug            Produce execution debug output
Logo

昇腾计算产业是基于昇腾系列(HUAWEI Ascend)处理器和基础软件构建的全栈 AI计算基础设施、行业应用及服务,https://devpress.csdn.net/organization/setting/general/146749包括昇腾系列处理器、系列硬件、CANN、AI计算框架、应用使能、开发工具链、管理运维工具、行业应用及服务等全产业链

更多推荐