安装 SonarQube

环境

系统

CentOS 7

数据库

postgresql 10

系统配置

查看系统配置

sysctl vm.max_map_count
sysctl fs.file-max
ulimit -n
ulimit -u

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

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

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

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

vm.max_map_count=262144

安装数据库

安装 参考官网安装步骤

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

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

安装步骤

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

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

md5 是密码认证

修改前:

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

修改后:

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

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

systemctl restart postgresql-10.service

创建 sonarqube 数据库

登陆

# 切换 postgres 用户
su - postgres # 登陆
psql

创建用户

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

创建完毕,执行 \q 退出

\q

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

# -h host
# -p 端口
# -d 数据库
# -U 用户
# -W 强制密码提示
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 用户

groupadd sonarqube

useradd -g sonarqube sonarqube

安装 SonarQube

创建安装目录,并授权

mkdir /opt/sonarqube

chown sonarqube:sonarqube /opt/sonarqube

切换用户

su sonarqube

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

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

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

默认端口为 9000

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

sonar.web.port=9001

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

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

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

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

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

[Unit]
Description=SonarQube service
After=syslog.target network.target [Service]
Type=simple
User=sonarqube
Group=sonarqube
PermissionsStartOnly=true
ExecStart=/bin/nohup /opt/java/bin/java -Xms32m -Xmx32m -Djava.net.preferIPv4Stack=true -jar /opt/sonarqube/lib/sonar-application-7.4.jar
StandardOutput=syslog
LimitNOFILE=65536
LimitNPROC=8192
TimeoutStartSec=5
Restart=always
SuccessExitStatus=143 [Install]
WantedBy=multi-user.target

设置开机启动

systemctl enable sonarqube.service

启动服务

systemctl start sonarqube.service

修改主机名

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. 数据可视化之powerBI入门 (一)认识PowerBI

    来自  https://zhuanlan.zhihu.com/p/64144024 Power BI是什么? Power BI是微软推出的数据分析和可视化工具,我们先来看看微软官方是怎么介绍的: Po ...

  2. HTML学习分享(一)

    HTML学习小结(一) 1.css的全称是什么? 2.样式表的组成 3.浏览器读取编译css的顺序? (1)HTML基本选择器 1.通配符选择器 * { margin: 0; padding: 0; ...

  3. 怎样才能做好软件测试——Python自动化测试工程师七年感悟

    即使不想在文章的开头过分的正经严肃,但这是一个十分正经技术类规划类的分享.不讲笑话也不讲故事,直接进入主题. 如何学好软件测试?反推一下作为一名优秀的软件测试工程师需要什么能力.   学习测试讲究实践 ...

  4. 【工具】- HttpClient篇

    简介 对于httpclient,相信很多人或多或少接触过,对于httpclient的使用姿势,相信很多人会有疑问?下面这边会通过代码说明 package xxx; import org.apache. ...

  5. 题解 洛谷 P3639 【[APIO2013]道路费用 】

    不难想到可以\(2^k\)去枚举\(k\)条新边的选择方案,然后加入原图中的边来使图连通,用当前方案的收益去更新答案,但是这样复杂度过不去. 可以先把\(k\)条新边都连上,然后再加入边权从小到大排序 ...

  6. Python 编程语言的核心是什么?

    01 Python 编程语言的核心是什么? ​   为什么要问这个问题? 我想要用Python实现WebAssembly,这并不是什么秘密.这不仅可以让Python进入浏览器,而且由于iOS和Andr ...

  7. Problem H: 质心算法

    Description 在很多应用中,需要对某个目标进行定位.比如对于一个未知坐标的点A,假定已知A点与N个点相邻,且已知N个相邻点的坐标,则可取N个点的质心作为A点坐标的一个估计值. 所谓质心,就是 ...

  8. springboot(八)内置SpringMvc静态文件地址修改

    参考:作者:恒宇少年链接:https://www.jianshu.com/p/c6ab1081fd5f   介绍: SpringMVC大家都不陌生,而被SpringBoot集成的SpringMVC除了 ...

  9. servlet执行

    WEB编程阶段 在WEB编程中,我们可以通过浏览器访问WEB服务器上的资源.WEB服务器就是另一台计算机 浏览器的入口不同(访问路径),访问的资源也不同. 为了灵活实现的不同路径(/hello)执行不 ...

  10. Qt子类化后qss设置背景色无效的问题

    1.问题背景 在某个类中,用到了一个组合的widget,有按钮进度条等,类似于视频播放器按钮控制区和精度条(参考了很多feiyangqingyun的文章,感谢),调试正常后整理代码,为了提高代码可读性 ...