DevOps / SonarQube

SonarQube安装与汉化教程

浅时光博客 · 2月15日 · 2020年 14.5w 次已读

1、安装相关工具


[root@sonarqube ~]# yum install -y epel-release unzip vim wget

2、安装JDK


  • 我这里直接下载的oracle jdk的rpm包进行安装的
  • 注意:运行sonarqube需要java11版本,我安装最新的13版本会报错
[root@sonarqube ~]# cd /opt/
[root@sonarqube opt]# rpm -ivh jdk-11.0.1_linux-x64_bin.rpm

3、安装数据库(PGSQL)


3.1:添加 PostgreSQL 10 YUM 源

[root@sonarqube ~]# rpm -Uvh https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7-x86_64/pgdg-centos10-10-2.noarch.rpm

3.2:安装 PostgreSQL 10 Server

[root@sonarqube ~]# yum install -y postgresql10-server postgresql10

3.3:初始化 PGDATA

[root@sonarqube ~]# /usr/pgsql-10/bin/postgresql-10-setup initdb

3.4:编辑配置文件启动MD5验证

[root@sonarqube ~]# vim  /var/lib/pgsql/10/data/pg_hba.conf

3.5:如果postgreSQL server不在本机,还需要做以下操作

  • 1)默认情况下, PostgreSQL server 监听本机 ‘localhost’. 如果是远程连接PostgreSQL server,需要修改/var/lib/pgsql/10/data/postgresql.conf中的监听地址为
listen_addresses = '*'
  • 2)允许所有连接都是用 MD5 密码认证,在/var/lib/pgsql/10/data/pg_hba.conf的最后添加:
host all all 0.0.0.0/0 md5

3.6:放通端口

  • 如果开启了防火墙,还需要在防火墙上允许 TCP port 5432
[root@sonarqube ~]# firewall-cmd --permanent --zone=public --add-port=5432/tcp
[root@sonarqube ~]# firewall-cmd --reload

3.7:启动服务

[root@sonarqube ~]# systemctl start postgresql-10
[root@sonarqube ~]# systemctl enable postgresql-10
[root@sonarqube ~]# systemctl status postgresql-10
[root@sonarqube ~]# ss -tnlp |grep 5432

3.8:创建数据库

[root@sonarqube ~]# sudo -u postgres psql
CREATE DATABASE sonar;
CREATE USER sonar WITH ENCRYPTED PASSWORD '密码';
GRANT ALL PRIVILEGES ON DATABASE sonar TO sonar;
ALTER DATABASE sonar OWNER TO sonar;
\q

4、部署SonarQube


4.1:下载程序包

[root@sonarqube ~]# wget -O /opt/sonarqube.zip https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-8.0.zip

4.2:解压至/usr/local

[root@sonarqube ~]# unzip /opt/sonarqube.zip -d /usr/local

4.3:重命名目录

[root@sonarqube ~]# mv /usr/local/sonarqube-8.0 /usr/local/sonarqube

4.4:为sonarqube添加用户

  • 使用root无法启动sonarqube
[root@sonarqube ~]# useradd sonar -s /sbin/nologin
[root@sonarqube ~]# id sonar
uid=1000(sonar) gid=1000(sonar) groups=1000(sonar)

4.5:修改目录权限

[root@sonarqube ~]# chown -R sonar. /usr/local/sonarqube/

4.6:修改配置

[root@sonarqube ~]# vim /usr/local/sonarqube/conf/sonar.properties
# 配置数据库,直接在pgsql上下文中添加如下参数
sonar.jdbc.username=sonar
sonar.jdbc.password=密码
sonar.jdbc.url=jdbc:postgresql://localhost/sonar
sonar.jdbc.maxActive=60
sonar.jdbc.maxIdle=5
sonar.jdbc.minIdle=2
sonar.jdbc.maxWait=5000
sonar.jdbc.minEvictableIdleTimeMillis=600000
sonar.jdbc.timeBetweenEvictionRunsMillis=30000
sonar.jdbc.removeAbandoned=true
sonar.jdbc.removeAbandonedTimeout=60
  • 配置web参数,在WEB SERVER的段中直接添加如下参数
sonar.web.host=127.0.0.1
sonar.web.port=9000
sonar.web.javaOpts=-server -Xms512m -Xmx512m -XX:+HeapDumpOnOutOfMemoryError
sonar.search.javaOpts=-server -Xms512m -Xmx512m -XX:+HeapDumpOnOutOfMemoryError
sonar.ce.javaOpts=-server -Xms512m -Xmx512m -XX:+HeapDumpOnOutOfMemoryError

4.7:创建sonarqube启动脚本

[root@sonarqube ~]# vim /etc/systemd/system/sonar.service
[Unit]
Description=SonarQube Server
After=syslog.target network.target
[Service]
Type=forking
ExecStart=/usr/local/sonarqube/bin/linux-x86-64/sonar.sh start
ExecStop=/usr/local/sonarqube/bin/linux-x86-64/sonar.sh stop
LimitNOFILE=65536
LimitNPROC=4096
User=sonar
Group=sonar
Restart=on-failure
[Install]
WantedBy=multi-user.target

4.8:增加ElasticSearch的虚拟内存

[root@sonarqube ~]# vim /etc/sysctl.d/00-sysctl.conf
vm.max_map_count = 262144
  • 使配置生效
[root@sonarqube ~]# sysctl -p /etc/sysctl.d/00-sysctl.conf

4.9:启动服务

[root@sonarqube ~]# systemctl daemon-reload
[root@sonarqube ~]# systemctl start sonar.service
[root@sonarqube ~]# systemctl enable sonar.service
[root@sonarqube ~]# systemctl status sonar.service
[root@sonarqube ~]# ss -tnlp | grep 9000

5、安装配置Nginx反向代理


5.1:安装Nginx

[root@sonarqube soft]# rpm -ivh nginx-1.16.1-1.el7.ngx.x86_64.rpm

5.2:修改配置

[root@sonarqube ~]# vim /etc/nginx/conf.d/default.conf
    location / {
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Forwarded-Ssl on;
        proxy_pass http://127.0.0.1:9000;
        proxy_read_timeout 300;
}

[root@sonarqube ~]# nginx -t

5.3:启动服务

[root@sonarqube ~]# systemctl start nginx
[root@sonarqube ~]# systemctl enable nginx
[root@sonarqube ~]# systemctl status nginx

5.4:防火墙放行端口

[root@sonarqube ~]# firewall-cmd --permanent --zone=public --add-port=80/tcp
[root@sonarqube ~]# firewall-cmd --reload

5.5:访问网站

  • 直接输入IP地址即可访问
到此sonarqube部署完成

5.6:登入网站

  • 默认用户admin/admin

6、SonarQube汉化



本文作者:浅时光博客
原文链接:https://www.dqzboy.com/666.html
版权声明:知识共享署名-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)协议进行许可,转载时请以>超链接形式标明文章原始出处和作者信息
免责声明:本站内容仅供个人学习与研究,严禁用于商业或非法目的。请在下载后24小时内删除相应内容。继续浏览或下载即表明您接受上述条件,任何后果由用户自行承担。

5 条回应

必须 注册 为本站用户, 登录 后才可以发表评论!

  1. 言小川_499安徽·合肥2022-9-6 · 22:30

    8.9LTS 版本的现在Java项目越来越慢了,有什么优化思路吗,或者对于流水线而言,怎样去平衡

    • 浅时光博客2022-9-6 · 23:06

      单独另起任务执行代码扫描。针对自己的项目定制自己的规则无需使用官方默认规则

  2. 昨梦西湖2022-3-22 · 11:46

    大佬,你那个PostgreSQL 10 安装地址无法访问了

    • 浅时光博客2022-3-22 · 11:49

      这个就自行找个源安装吧

      • 昨梦西湖2022-3-22 · 13:06

        我参考这篇文章找着了https://blog.csdn.net/wuweilong/article/details/104470317/