CentOS7安装sonarqube8.9
本文介绍了在CentOS7系统上安装SonarQube 8.9的完整流程。主要内容包括:1)安装规划,确定主机配置和软件版本;2)系统准备,包括安装依赖、时间同步、关闭防火墙和SELinux;3)JDK11的安装与配置;4)PostgreSQL12的安装、数据库创建和配置;5)后续将进行的SonarQube和Sonar-Scanner安装步骤。文章提供了详细的命令操作和配置文件修改说明,确保用户能
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
昇腾计算产业是基于昇腾系列(HUAWEI Ascend)处理器和基础软件构建的全栈 AI计算基础设施、行业应用及服务,https://devpress.csdn.net/organization/setting/general/146749包括昇腾系列处理器、系列硬件、CANN、AI计算框架、应用使能、开发工具链、管理运维工具、行业应用及服务等全产业链
更多推荐


所有评论(0)