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. 排序算法Java代码实现(六)—— 堆排序

    本片内容: 堆排序 堆排序 最大堆: 二叉堆是完全二叉树或者是近似完全二叉树, 当父结点的键值总是大于或等于任何一个子节点的键值时为最大堆.(父节点大于任何一个子节点) 算法思想: 把n个元素建立最大 ...

  2. 【原创】闲来无事,用Winform写了个简易浏览器

    核心是利用了winform自带的WebBrowser控件,修改了下IE内核的版本,目前还是单线程的,逻辑挺简单的,萌新都能看懂. 废话不多说,上代码,附打包project. 链接:https://pa ...

  3. 消息队列mq总结

    一.消息队列概述消息队列中间件是分布式系统中重要的组件,主要解决应用解耦,异步消息,流量削锋等问题,实现高性能,高可用,可伸缩和最终一致性架构.目前使用较多的消息队列有ActiveMQ,RabbitM ...

  4. Flask应用启动流程

    目录 flask应用启动流程 WSGI 启动流程 flask应用启动流程 WSGI 所有的 python web 框架都要遵循 WSGI 协议 在这里还是要简单回顾一下 WSGI 的核心概念. WSG ...

  5. elasticsearch原理学习

    用es也差不多一年左右了,但是都是只会用,底层做了什么一窍不通,没有核心竞争力,循序渐进,一个一个攻破,理解的多了,读的多了,自然能力就上去了,es底层是基于lucene的,所以今天先从lucene下 ...

  6. OO_BLOG4_UML系列学习

    目录 Unit4 作业分析 作业 4-1 UML类图解析器UmlInteraction 作业 4-2 扩展解析器(UML顺序图.UML状态图解析,基本规则验证) 架构设计及OO方法理解的演进 测试理解 ...

  7. Matlab混入模式(Mixin)

    Mixin是一种类,这种类包含了其他类要使用的特性方法,但不必充当其他类的父类.Matlab无疑是支持多继承的.我们可以利用 Matlab 的这种特性,实现一种叫做 Mixin 的类.MixIn的目的 ...

  8. 【团队项目1】 团队展示&选题

    一.团队展示 1. 队名:这次稳了 2. 队员: 莫少政 3117004667 (队长) 黄思扬 3117004657 余泽端 3117004679 江海灵 3117004658 温治乾 311700 ...

  9. I still have a dream!

    当聊起梦想时,哥总会说别跟我谈梦想,我已经戒了!现在的我对梦想并不感冒,总是冷眼旁观很多事情,那些经不起时间检验的事和人,总会消散在历史云烟中,若干年后,又有谁还会记得那些遗弃在历史尘埃中,琐碎的芝麻 ...

  10. mysql中的where和having的区别

    下面以一个例子来具体的讲解: 1. where和having都可以使用的场景 1)select addtime,name from dw_users where addtime> 1500000 ...