SonarQube代码扫描安装

一、环境准备

1.jdk环境准备

使用jdk11及以上版本,本次安装使用的是jdk-17
安装jdk17之后进行配置环境变量
(1)ROOT用户——修改/etc/profile文件

export JAVA_HOME=/opt/idc/apps/jdk-17.0.7
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

只需要改动JAVA_HOME为你自己jdk的安装目录即可
(2)非ROOT用户
如:home/gtxtadmin/修改 .bash_profile文件

2.安装PostgreSql数据库

2.1.下载安装包并上传至指定的目录下

PostgreSql 下载地址
将安装包在opt/idc/apps/下进行解压

tar -zxvf postgresql-14.5.tar.gz
2.2.安装

(1)创建postgres用户(本次使用的为现有用户gtxtadmin,展示的的是postgres,自行修改)
(2)创建安装目录以及启动日志文件

mkdir /opt/idc/apps/postgresql-14.5/pgsql
chown postgres  /opt/idc/apps/postgresql-14.5/pgsql
mkdir /opt/idc/apps/postgresql-14.5/pgsql/data
chown  postgres /opt/idc/apps/postgresql-14.5/pgsql/data
touch /opt/idc/apps/postgresql-14.5/pgsql/pgsql.log
chown postgres /opt/idc/apps/postgresql-14.5/pgsql/pgsql.log

(3)检测安装环境
这里需要注意,在编译前一定要安装C compiler(C语言编译器),如果没有安装,执行yum install -y gcc* 安装即可

cd /opt/idc/apps/postgresql-14.5
./configure --prefix=/opt/idc/apps/postgresql-14.5/pgsql --without-readline --without-zlib

(4)编译源码并安装
这个过程需要一定时间,请耐心等待……
/opt/idc/apps/postgresql-14.5目录下执行:

make && make install

看到如下图所示,表示编译安装成功
(5)初始化数据仓库
这里需要切换到postgres用户下执行下面命令(不支持root下运行)

su - postgres
cd /opt/idc/apps/postgresql-14.5/pgsql/bin
./initdb -D /opt/idc/apps/postgresql-14.5/pgsql/data

(6)启动数据库
/bin目录下

./pg_ctl -D /opt/idc/apps/postgresql-14.5/pgsql/data -l /opt/idc/apps/postgresql-14.5/pgsql/pgsql.log start

为了方便后面的操作postgres命令,我们切换到root用户下配置一下环境变量

su - root
echo 'export PGHOME=/opt/idc/apps/postgresql-14.5/pgsql ' >> /etc/profile
echo 'export PGDATA=$PGHOME/data' >> /etc/profile
echo 'export PATH=$PATH:$PGHOME/bin' >> /etc/profile
source /etc/profile

如下图所示,环境变量配置成功

再次切换到postgres用户下,执行postgres的命令看看
查询postgres服务状态

pg_ctl status

启动postgres服务

pg_ctl start

重启postgres服务

pg_ctl restart

停止postgres服务

pg_ctl stop

登录数据库不指定用户,默认是以postgres登录postgres数据库
psql
创建数据库用户

create user sonarqube password 'sonarqube';   创建数据库用户sonarqube,密码为sonarqube

创建数据库

create database sonarqube;      //没有指定数据库所属者
create database sonarqube owner sonarqube; //指定数据库所属者为sonarqube用户

登录指定用户和数据库登录

psql -U sonarqube -W sonarqube

给数据库授权

grant all privileges on database sonarqube to sonarqube;

查看数据库列表

\l

切换数据库

\c      //切换到sonarqube数据库   \c sonarqube;

退出数据库用户

\q 或者 exit 或者quit

查看数据库用户权限列表

\du

2.3.客户端登录PostgreSql

客户端登陆需要修改两个配置文件
(1)postgresql.conf

cd /opt/idc/apps/postgresql-14.5/pgsql/data 
vi postgresql.conf
将listen_addresses = ‘localhost’ 改成  listen_addresses = '*'

(2)pg_hba.conf

vi  pg_hba.conf

在# IPv4 local connections:下面添加如下内容

host    all             all             0.0.0.0/0               password

(3)重启服务

pg_ctl restart

(4)客户端连接须知
在用客户端连接之前要关闭防火墙或者是放行5432端口,否则客户端也无法连接。
关闭防火墙

systemctl stop firewalld
systemctl disable firewalld

放行5432端口

firewall-cmd --permanent --zone=public  --add-port=5432/tcp

执行完上述命令后重启下服务器,然后启动下数据库服务

su - postgres
 pg_ctl start

现在可以用navicat客户端连接数据库,这里选择用sonarqube用户登录sonarqube数据库

二、安装SonarQube

sonarqube安装包下载

2.1.安装SonarQube

(1)这里SonarQube是一个java的web项目,依赖elasticsearch和postgresql才能运行,因为elasticsearch不能使用root账户运行,所以现在创建用户(本次使用了现有用户gtxtadmin)
参考
到/opt/idc/apps目录解压sonarqube压缩包

unzip sonarqube-9.9.0.65466.zip

将sonarqube文件下的所有内容的属主设置成gtxtadmin

chown -R gtxtadmin:gtxtadmin   /opt/idc/apps/sonarqube-9.9.0.65466

本次安装在: /opt/idc/apps/sonarqube-9.9.0.65466
(2)修改sonar.properties
切换到sonarqube的conf文件下

cd   /opt/idc/apps/sonarqube-9.9.0.65466/conf

编辑配置文件sonar.properties,添加如下内容
#sonarqube运行产生的数据文件和临时文件存放目录

sonar.path.data=/opt/idc/apps/sonarqube-9.9.0.65466/data
sonar.path.temp=/opt/idc/apps/sonarqube-9.9.0.65466/temp

#访问sonar的IP地址、端口号以及上下文,host就填你部署SonarQube的这台主机或者虚拟机的IP,端口随便定,不要和已有端口冲突就行

sonar.web.host=10.105.0.16

#默认端口

sonar.web.port=9000
sonar.web.context=/

#sonar运行需要连接的postgres参数

sonar.jdbc.username=sonarqube
sonar.jdbc.password=sonarqube
sonar.jdbc.url=jdbc:postgresql:// 10.105.0.16:5432/sonarqube?currentSchema=public

(3)启动服务
gtxtadmin用户下启动(自己使用的非root用户)
来到sonarqube的bin目录下准备启动

cd /opt/idc/apps/sonarqube-9.9.0.65466/bin/linux-x86-64
./sonar.sh start

查看启动日志,显示如下图表示启动成功

tail -f /opt/idc/apps/sonarqube-9.9.0.65466/logs/sonar.log

(或者输入命令 ./sonar.sh console

2.2.使用SonarQube

先关闭防火墙再来访问

浏览器访问地址:10.106.0.12:9000 账户 :admin 密码: admin

首次登录后会要求你修改密码

三、启动报错问题

Elasticsearch did not exit normally - check the logs at /opt/sonarqube/logs/sonarqube.log
需要修改配置文件:

vi /etc/sysctl.d/99-sysctl.conf

文件末尾加上:

fs.file-max = 2097152
vm.max_map_count = 262144
vm.swappiness = 1

运行命令:

sysctl –p

四、SonarQube插件安装

1.将插件放置到安装目录的extensions/plugins/下面
2.重启服务/bin/linux-x86-64/目录下
执行 ./sonar.sh restart
查看启动面板
执行 ./sonar.sh console

  • 5
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值