安装 Java
查看官方文档的 Requirements 可以看出 SonarQube 8.3 需要 Java 11 的支持才行:
- 通过链接 www.oracle.com/technetwork… 下载 Linux 的 .tar.gz 压缩包。
yum install -y lrzsz安装文件上传下载工具,然后服务器上使用rz命令上传 Java 安装包。 tar -zxvf jdk-11.0.7_linux-x64_bin.tar.gz解压文件vim /etc/profile配置 Java 环境变量,在文件最后添加一下内容:export JAVA_HOME=/root/jdk-11.0.7 export PATH=${JAVA_HOME}/bin:$PATHsource /etc/profile使配置生效,java --version查看 Java 环境是否配好
安装 PostgreSQL 10
为什么需要选择安装 PostgreSQL 10 可以参考官方文档的 Requirements Database 列表:
- 安装命令如下:
yum install https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm yum install postgresql10 yum install postgresql10-server /usr/pgsql-10/bin/postgresql-10-setup initdb systemctl enable postgresql-10 systemctl start postgresql-10 - 查看是否安装成功
psql -V - 创建数据库和用户,并把数据库分配给该用户,并授予权限:
# 登录postsql su - postgres psql # 创建数据库和用户,并把数据库分配给该用户,并授予权限 create database sonar; create user sonar; alter user sonar with password 'sonar'; alter role sonar createdb; alter role sonar superuser; alter role sonar createrole; alter database sonar owner to sonar; # 退出 \q exit - 修改配置文件
/var/lib/pgsql/10/data/pg_hba.conf,将 ident 全部改为 md5: 重启 PostgreSQL:systemctl restart postgresql-10
创建用户
下面引用官方的一段话说明为什么需要创建用户:
SonarQube cannot be run asrooton Unix-based systems, so create a dedicated user account to use for SonarQube if necessary.
使用一下命令创建一个 sonar 用户:
groupadd sonar
useradd sonar -g sonar优化参数
根据官方文档的提示,如果使用的是 Linux 服务器,需要调整一些参数:
使用以下命令调整参数即可:
sysctl -w vm.max_map_count=262144
sysctl -w fs.file-max=65536
ulimit -u 4096 sonar
ulimit -n 65536 sonar安装 SonarQube
- 下载后上传服务器,解压设置:
yum install unzip unzip sonarqube-7.9.3.zip mkdir /opt/sonar mv sonarqube-7.9.3/* /opt/sonar/ groupadd sonar useradd sonar -g sonar chown -R sonar.sonar /opt/sonar/ - 修改配置文件/opt/sonar/conf/sonar.properties
sonar.jdbc.username=sonar sonar.jdbc.password=sonar sonar.jdbc.url=jdbc:postgresql://localhost/sonar sonar.web.host=0.0.0.0 - 启动相关命令:
# 启动 su sonar /opt/sonar/bin/linux-x86-64/sonar.sh start # 查看状态 su sonar /opt/sonar/bin/linux-x86-64/sonar.sh status # 停止 su sonar /opt/sonar/bin/linux-x86-64/sonar.sh stop # 查看日志 tail -f /opt/sonar/logs/sonar.log