安装 SonarQube

环境

系统

  1. CentOS 7

数据库

  1. postgresql 10

系统配置

查看系统配置

  1. sysctl vm.max_map_count
  2. sysctl fs.file-max
  3. ulimit -n
  4. ulimit -u

如果不满足需求,使用下面命令修改(下面是最低参数配置)

  1. sysctl -w vm.max_map_count=262144
  2. sysctl -w fs.file-max=65536
  3. ulimit -n 65536
  4. ulimit -u 4096

需要注意,使用上边的命令修改系统参数,重启后将失效

如果 vm.max_map_count 达不到要求,在 /etc/sysctl.conf 添加以下内容,将永久修改配置

  1. vm.max_map_count=262144

安装数据库

安装 参考官网安装步骤

内网安装需要提前下载 RPM 包

  1. pgdg-redhat-repo-latest.noarch.rpm
  2. postgresql10-10.13-1PGDG.rhel7.x86_64.rpm
  3. postgresql10-libs-10.13-1PGDG.rhel7.x86_64.rpm
  4. postgresql10-server-10.13-1PGDG.rhel7.x86_64.rpm

安装步骤

  1. # 使用本地 RPM 包安装数据库
  2. rpm -ivh ./*
  3. # 初始化数据库
  4. /usr/pgsql-10/bin/postgresql-10-setup initdb
  5. # 设置为系统服务并启动
  6. systemctl enable postgresql-10
  7. systemctl start postgresql-10

编辑 /var/lib/pgsql/10/data/pg_hba.conf 将其中两行的 ident 改成 md5

md5 是密码认证

修改前:

  1. host all all 127.0.0.1/32 ident
  2. host all all ::1/128 ident

修改后:

  1. host all all 127.0.0.1/32 md5
  2. host all all ::1/128 md5

重启数据库,此时数据库的安装结束

  1. systemctl restart postgresql-10.service

创建 sonarqube 数据库

登陆

  1. # 切换 postgres 用户
  2. su - postgres
  3. # 登陆
  4. psql

创建用户

  1. -- 创建用户 sonarqube,密码 sonarqube
  2. CREATE USER sonarqube WITH PASSWORD 'sonarqube';
  3. -- 创建数据库 sonarqube
  4. CREATE DATABASE sonarqube OWNER sonarqube ENCODING 'UTF8';
  5. -- 授权
  6. GRANT ALL PRIVILEGES ON DATABASE sonarqube TO sonarqube;

创建完毕,执行 \q 退出

  1. \q

验证一下创建的用户是否可用

  1. # -h host
  2. # -p 端口
  3. # -d 数据库
  4. # -U 用户
  5. # -W 强制密码提示
  6. psql -h 127.0.0.1 -p 5432 -d sonarqube -U sonarqube -W

输入密码,登录成功,数据库创建完毕

安装 JDK

sonarqube-8.3.1.34397 需要 jdk 11+

/opt/jdk 下解压 jdk-14.0.1_linux-x64_bin.tar.gz

创建用户和用户组

sonarqube 必须使用非 root 用户

  1. groupadd sonarqube
  2. useradd -g sonarqube sonarqube

安装 SonarQube

创建安装目录,并授权

  1. mkdir /opt/sonarqube
  2. chown sonarqube:sonarqube /opt/sonarqube

切换用户

  1. su sonarqube

sonarqube-8.3.1.34397.zip 解压至 /opt/sonarqube 目录

修改数据库配置 ${sonarqube_install}/conf/sonar.properties,根据实际修改

  1. sonar.jdbc.url=jdbc:postgresql://localhost:5432/sonarqube?useUnicode=true&characterEncoding=utf8
  2. sonar.jdbc.username=sonarqube
  3. sonar.jdbc.password=sonarqube

默认端口为 9000

${sonarqube_install}/conf/sonar.properties 中修改端口

  1. sonar.web.port=9001

注意,因为用的非 root 用户,所以不能使用 1024 以下的端口

注意,如果使用域名或使用了 Nginx,要在控制台中设置真实的访问地址,位置在 配置-->配置-->通用配置-->通用-->Server base URL

接下来,将 sonarqube 设置为系统服务

创建文件 /etc/systemd/system/sonarqube.service

ExecStart 根据实际情况修改 jdk 目录和 sonar-application-{version}.jar 文件路径

  1. [Unit]
  2. Description=SonarQube service
  3. After=syslog.target network.target
  4. [Service]
  5. Type=simple
  6. User=sonarqube
  7. Group=sonarqube
  8. PermissionsStartOnly=true
  9. ExecStart=/bin/nohup /opt/java/bin/java -Xms32m -Xmx32m -Djava.net.preferIPv4Stack=true -jar /opt/sonarqube/lib/sonar-application-7.4.jar
  10. StandardOutput=syslog
  11. LimitNOFILE=65536
  12. LimitNPROC=8192
  13. TimeoutStartSec=5
  14. Restart=always
  15. SuccessExitStatus=143
  16. [Install]
  17. WantedBy=multi-user.target

设置开机启动

  1. systemctl enable sonarqube.service

启动服务

  1. systemctl start sonarqube.service

修改主机名

  1. hostnamectl set-hostname sonarqube

日志在 ${sonarqube_install}/logs 目录下

安装中文语言包(可选)

中文插件 sonar-l10n-zh-plugin-8.3.jar 放在 ${sonarqube_install}/extensions/plugins 目录,重启 sonarqube 即可

CentOS7 安装 SonarQube的更多相关文章

  1. centos7安装sonarqube与使用

    https://www.cnblogs.com/mascot1/p/11179767.html https://blog.csdn.net/superbfly/article/details/1039 ...

  2. centos7搭建sonarqube环境+jenkins部署全流程

    一.简介sonarqube是一个用于代码质量管理的开源平台,用于管理源代码的质量 不遵循代码标准sonar可以通过PMD,CheckStyle,Findbugs等等代码规则检测工具规范代码编写.潜在的 ...

  3. HP服务器 hp 360g5 centos7安装问题

    HP服务器  hp 360g5 centos7安装问题 一 :启动盘无法识别硬盘 1.进入安装光盘,用上下键选择安装centos--Install Centos7(注意不可按Enter键),如图: 2 ...

  4. CentOS7 安装Mono及Jexus

    CentOS7安装Mono及Juxes 1 安装Mono 1.1 安装yum-utils 因为安装要用到yum-config-manager,默认是没有安装的,所以要先安装yum-utils包.命令如 ...

  5. CentOS7安装mysql提示“No package mysql-server available.”

    针对centos7安装mysql,提示"No package mysql-server available."错误,解决方法如下: Centos 7 comes with Mari ...

  6. CentOS7安装Oracle 11gR2 安装

    概述 Oracle 在Linux和window上的安装不太一样,公司又是Linux系统上的Oracle,实在没辙,研究下Linux下Oracle的使用,oracle默认不支持CentOS系统安装,所以 ...

  7. Centos7安装完毕后重启提示Initial setup of CentOS Linux 7 (core)的解决方法

    问题: CentOS7安装完毕,重新开机启动后显示: Initial setup of CentOS Linux 7 (core) 1) [x] Creat user 2) [!] License i ...

  8. centos7安装eclipse

    centos7安装eclipse Eclipse是一个集成开发环境(IDE),包含一个基工作区和定制环境的可扩展插件系统.大部分使用 Java 编写,Eclipse 可以用来开发应用程序.通过各种插件 ...

  9. CentOS7安装mongoDB数据库

    CentOS7安装mongoDB数据库 时间:2015-03-03 16:45来源:blog.csdn.net 作者:进击的木偶 举报 点击:8795次 mongoDB是目前发展比较好的NOSQL数据 ...

随机推荐

  1. MySQL数据库修改表名

    修改表名 例:把表user 修改为tenant,SQL如下: rename table user to tenant:

  2. 06-Python元组,列表,字典,集合数据结构

    一.简介 数据结构是我们用来处理一些数据的结构,用来存储一系列的相关数据. 在python中,有列表,元组,字典和集合四种内建的数据结构. 二.列表 用于存储任意数目.任意类型的数据集合.列表是内置可 ...

  3. 万字长文,62道Java核心面试题,一次性打包送给积极向上的你

    先看再点赞,给自己一点思考的时间,微信搜索[沉默王二]关注这个靠才华苟且的程序员.本文 GitHub github.com/itwanger 已收录,里面还有一线大厂整理的面试题,以及我的系列文章. ...

  4. tcpreplay的使用指导

    Tcpreplay的介绍 简单的说, tcpreplay是一种pcap包的重放工具, 它可以将用ethreal, wireshark工具抓下来的包原样或经过任意修改后重放回去. 它允许你对报文做任意的 ...

  5. 老司机带你玩转面试(5):Redis 集群模式 Redis Cluster

    前文回顾 建议前面文章没看过的同学先看下前面的文章: 「老司机带你玩转面试(1):缓存中间件 Redis 基础知识以及数据持久化」 「老司机带你玩转面试(2):Redis 过期策略以及缓存雪崩.击穿. ...

  6. 太实用了!自己动手写软件——我们的密码PJ器终于完成了

    之前我们完成了密码破解工具的界面,今天我们来看看功能实现吧. 目录 编码 提交——功能实现 开始破解——功能实现 读取密码字典 选择协议并执行破解动作 POP3协议的破解函数 IMAP协议的破解函数 ...

  7. NIO实践-HTTP交互实现暨简版Tomcat交互内核

    今天就NIO实现简单的HTTP交互做一下笔记,进而来加深Tomcat源码印象. 一.关于HTTP 1.HTTP的两个显著特点,HTTP是一种可靠的超文本传输协议 第一.实际中,浏览器作为客户端,每次访 ...

  8. Python 3.x 安装PyQt5

    一. 安装PyQt5 官方要求Python版本:Python >=3.5 打开命令行 输入 pip install PyQt5 PyQt5安装成功 ​ 安装完成功PyQt5后发现没有design ...

  9. 修改map中原来的各种Key

    简单描述: 做数据迁移的时候,需要展示数据库的字段信息,但是我发现 Oracle的sql查询到的结果 出来默认是大写的 和 前端vue的参数小写开头+驼峰 不太一样 所以后台取到的数据都是是引用Lis ...

  10. 本地ES集群数据通过_reindex方式迁移到腾讯云服务器(亲测有效)

    本地ES集群数据通过_reindex方式迁移到腾讯云服务器(亲测有效) 随着业务量的增加,本地的ES集群服务器性能和磁盘空间有点不够使用,项目组考虑使用腾讯云服务器,以下是我测试的使用_reindex ...