1、准备

SonarQube版本:sonarqube-7.9.1.zip,官网地址:https://www.sonarqube.org/downloads/

jdk版本:jdk-11.0.4_linux-x64_bin.tar.gz(sonarqube从7.9起,不再支持jdk11以下版本)

数据库:PostgreSQL 10.10(sonarqube从7.8起,不再支持mysql)(功能验证也可以SonarQube内置的数据库,这样就不需要改数据库配置)

2、安装PostgreSQL

详见:CentOS安装PostgreSQL

3、安装JDK

tar -zxvf /var/ftp/pub/jdk-11.0.4_linux-x64_bin.tar.gz    // 解压安装包
ln -s /usr/local/jdk-11.0.4/bin/java /usr/bin/ // 创建软连接

也可以不用创建软连接,直接修改$SONARQUBE_HOME/conf/wrapper.conf文件中的wrapper.java.command参数,指定java命令行位置

wrapper.java.command=/usr/local/jdk-11.0.4/bin/java

4、解压SonarQube

yum install -y zip unzip                    // 安装解压工具
unzip /var/ftp/pub/sonarqube-7.9.1.zip // 解压安装包

5、修改 $SONARQUBE_HOME/conf/sonar.properties 文件,更改数据连接配置

sonar.jdbc.username=test_user
sonar.jdbc.password=abc123 sonar.jdbc.url=jdbc:postgresql://localhost:5432/test_db

如果SonarQube与PostgreSQL在同一台主机,请将PostgreSQL的访问策略文件pg_hba.conf的配置项目127.0.0/32的密码策略有ident该为password或md5,详见:PostgreSQL的pg_hba.conf文件讲解

6、创建SonarQube启动用户(SonarQube内置了elasticsearch,elasticsearch不允许使用root用户启动)

useradd sonarqube
passwd sonarqube

7、设置系统参数(elasticsearch启动需要设置一些参数)

详细见:elasticsearch启动常见错误

未设置这些参数在$SONARQUBE_HOME/logs/es.log中出现以下错误:

8、赋予启动用户执行权限

chown -R sonarqube:sonarqube /usr/local/sonarqube-7.9.1/

9、登陆启动用户,启动程序

su - sonarqube                                             // 以sonarqube用户登陆
cd /usr/local/sonarqube-7.9.1/bin/linux-x86-64 // 进入启动命令目录
./sonar.sh start // 启动程序

10、登陆http://192.168.107.136:9000访问,默认用户名/密码为:admin/admin

11、创建服务并设置启动方式

这个部分验证失败,先放着这里,以后再处理。sonarqube自带的elasticsearch不允许root用户启动,但修改$SONARQUBE/bin/linux-x86-64/sonar.sh中的RUN_AS_USER配置项无效。

在/etc/init.d/目录创建文件sonar,内容如下:

#!/bin/sh
#
# rc file for SonarQube
#
# chkconfig: 345 96 10
# description: SonarQube system (www.sonarsource.org)
#
### BEGIN INIT INFO
# Provides: sonar
# Required-Start: $network
# Required-Stop: $network
# Default-Start: 3 4 5
# Default-Stop: 0 1 2 6
# Short-Description: SonarQube system (www.sonarsource.org)
# Description: SonarQube system (www.sonarsource.org)
### END INIT INFO /usr/bin/sonar $*

创建软连接和设置执行权限

ln -s /usr/local/sonarqube-7.9.1/bin/linux-x86-64/sonar.sh /usr/bin/sonar  // 创建软件连接
chmod 755 /etc/init.d/sonar // 添加执行权限

常用命令:

service sonar start     // 启动服务
service sonar stop // 关闭服务
service sonar restart // 重启服务 chkconfig sonar on // 设置开机启动
chkconfig sonar off // 关闭开机启动

官网说明:https://docs.sonarqube.org/7.9/setup/operate-server/

CentOS安装SonarQube7.9.1的更多相关文章

  1. CentOS安装gitlab,gerrit,jenkins并配置ci流程

    CentOS安装gitlab,gerrit,jenkins并配置ci流程 By Wenbin juandx@163.com 2016/4/9 这是我参考了网上很多的文档,配置了这三个软件在一个机器上, ...

  2. 【推荐】CentOS安装Subversion-1.8.11+HTTP协议支持配置

    注:以下所有操作均在CentOS 6.5 x86_64位系统下完成. 我们需要搭建一个自己的SVN服务器. 此外,搭建好的SVN服务器除了需要支持svn协议外,最好还需要支持HTTP协议和HTTPS协 ...

  3. 【推荐】CentOS安装PHP-5.6.4+扩展安装+安全配置+性能配置

    注:以下所有操作均在CentOS 6.5 x86_64位系统下完成. #准备工作# 前段时间PHP官方发布了一个重要的安全升级公告,修复了两个unserialize函数的严重漏洞,目前受影响的版本有: ...

  4. CentOS安装Apache-2.4.10+安全配置

    注:以下所有操作均在CentOS 6.5 x86_64位系统下完成. #准备工作# 在安装Nginx之前,请确保已经使用yum安装了各基础组件,并且配置了www用户和用户组,具体见<CentOS ...

  5. CentOS安装Nginx-1.6.2+安全配置

    注:以下所有操作均在CentOS 6.5 x86_64位系统下完成. #准备工作# 在安装Nginx之前,请确保已经使用yum安装了pcre等基础组件,具体见<CentOS安装LNMP环境的基础 ...

  6. CentOS安装MySQL-5.6.10+安全配置

    注:以下所有操作均在CentOS 6.5 x86_64位系统下完成. #准备工作# 在安装MySQL之前,请确保已经使用yum安装了各类基础组件,具体见<CentOS安装LNMP环境的基础组件& ...

  7. 转: CentOS 安装 SVN1.8 客户端

     from: http://blog.csdn.net/clementad/article/details/46898091 CentOS 安装SVN客户端 标签: subversionrpmcent ...

  8. CentOS安装gitLab服务器

    首先利用gitlab-install-el6.sh安装,比较简单: (出处:http://www.linuxidc.com/Linux/2013-06/85754.htm) 1:如果有条件,提供一台全 ...

  9. 【推荐】CentOS安装Tomcat-7.0.57+启动配置+安全配置+性能配置

    注:以下所有操作均在CentOS 6.5 x86_64位系统下完成. #准备工作# 在安装Tomcat之前,请确保已经安装了JDK-1.7环境,具体见<CentOS安装JDK-1.7>. ...

随机推荐

  1. PYTHON的ASCII码转换

    首先,我们要知道ASCII的ord 这个变值,附上代码: c=input("请输入一个字符:") print (c+"的ASCII码为 ".ord(c)) #用 ...

  2. mysql删除重复数据(通过多个字段分组,删除某一字段为空的数据)

    DELETE FROM t_questions WHERE Id in ( SELECT Id FROM ( SELECT Id FROM `t_questions` WHERE (Name,Ques ...

  3. Java自学-I/O 中文问题

    Java中的编码中文问题 步骤 1 : 编码概念 计算机存放数据只能存放数字,所有的字符都会被转换为不同的数字. 就像一个棋盘一样,不同的字,处于不同的位置,而不同的位置,有不同的数字编号. 有的棋盘 ...

  4. sql server 大数据, 统计分组查询,数据量比较大计算每秒钟执行数据执行次数

    -- 数据量比较大的情况,统计十分钟内每秒钟执行次数 ); -- 开始时间 ); -- 结束时间 declare @num int; -- 结束时间 set @begintime = '2019-08 ...

  5. 记录前端开发vue常见问题,不断更新

    1.点击刷新当天组件 1.可以在query中添加一个时间戳,缺点就是不好看 2.加一个重定向页面redirect页面,然后在beforecreate时this.$router.replace原路径 2 ...

  6. Android ListView显示不同样式的item

    先look图 我们再使用listview时,listview的item大多时候都是一种样式,在很多app中也很常见,但有时候根据需求,可能数据的数量不一样,同个类型的数据显示的位置不同,亦或者有的it ...

  7. Python开发环境的安装配置

    要学习Python,我们首先要安装配置好Python的运行环境. 那么安装Python 2 还是 Python 3 呢? 当然是要选择Python 3 .这里来教大家安装稳定版Python3 的版本是 ...

  8. Beyond Compare 4解除日期限制,激活版本

    修改注册表 1 在搜索栏中输入 regedit ,打开注册表 2 删除项目:计算机\HKEY_CURRENT_USER\Software\Scooter Software\Beyond Compare ...

  9. snowflake时间回退问题思考

    算法比较简单,每个id-generator负责生成的ID由3部分组成,41位时间戳可以表示到毫秒,10bit worker-id内部可自行划分,比如3位表示IDC,7位表示机器.最后12位是在一毫秒的 ...

  10. PHP redis 常用操作

    //在列表头部插入一个值one,当列表不存在时自动创建一个列表,key1为列表名 $redis->lpush("key1", "one"); //在列表尾 ...