本文将详细介绍如何在 Linux 系统上安装和配置 SonarQube,包括 Java 环境配置、PostgreSQL 数据库安装、SonarQube 的安装与配置,以及如何通过 systemd 管理 SonarQube 服务。
1. 下载相关软件包
在安装 SonarQube 之前,需要准备以下软件包:
- JDK 11:SonarQube 需要 JDK 11 或更高版本才能运行。
- SonarQube:本文以 SonarQube 9.6.1 为例。
下载链接:
2. 配置 Java 环境
-
将 JDK 安装包解压到
/opt
目录:cd /opt tar -xf jdk-11.0.16.1_linux-x64_bin.tar.gz
-
创建软链接:
ln -s jdk-11.0.16.1 jdk
-
配置环境变量:
编辑/etc/profile
文件,添加以下内容:export JAVA_HOME=/opt/jdk export PATH=$JAVA_HOME/bin:$PATH
-
使配置生效:
source /etc/profile
-
验证 Java 版本:
java -version
3. 安装和配置 PostgreSQL
SonarQube 需要使用 PostgreSQL 作为数据库。以下是安装和配置 PostgreSQL 的步骤:
-
添加 PostgreSQL 的 YUM 源:
rpm -Uvh https://mirrors.aliyun.com/postgresql/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
-
修改 YUM 源为阿里云镜像:
sed -i "s@https://download.postgresql.org/pub@https://mirrors.aliyun.com/postgresql@g" /etc/yum.repos.d/pgdg-redhat-all.repo
-
安装 PostgreSQL 13:
yum install -y postgresql13-server
-
初始化数据库:
/usr/pgsql-13/bin/postgresql-13-setup initdb
-
修改 PostgreSQL 配置文件:
- 编辑
/var/lib/pgsql/13/data/postgresql.conf
,修改监听地址:listen_addresses = '*'
- 编辑
/var/lib/pgsql/13/data/pg_hba.conf
,修改连接策略:host all all 0.0.0.0/0 password
- 编辑
-
启动并启用 PostgreSQL 服务:
systemctl enable postgresql-13 systemctl start postgresql-13
-
创建 SonarQube 用户和数据库:
sudo -i -u postgres createuser sonarqube createdb sonarqube -O sonarqube
4. 安装和配置 SonarQube
-
解压 SonarQube 安装包:
cd /opt unzip sonarqube-9.6.1.59531.zip
-
修改 SonarQube 配置文件:
编辑conf/sonar.properties
,配置数据库连接:sonar.jdbc.url=jdbc:postgresql://localhost:5432/sonarqube sonar.jdbc.username=sonarqube sonar.jdbc.password=sonarqube
-
创建 SonarQube 用户:
useradd sonarqube
-
配置系统参数:
编辑/etc/sysctl.conf
,添加以下内容:vm.max_map_count=655350
使配置生效:
sysctl -p
-
配置 systemd 管理 SonarQube 服务:
创建/usr/lib/systemd/system/sonarqube.service
文件,内容如下:[Unit] Description=SonarQube service After=syslog.target network.target [Service] Type=simple User=sonarqube Group=sonarqube PermissionsStartOnly=true ExecStart=/bin/nohup /opt/jdk/bin/java -Xms32m -Xmx32m -Djava.net.preferIPv4Stack=true -jar /opt/sonarqube/lib/sonar-application-9.6.1.59531.jar StandardOutput=syslog LimitNOFILE=131072 LimitNPROC=8192 TimeoutStartSec=5 Restart=always SuccessExitStatus=143 [Install] WantedBy=multi-user.target
-
启动并启用 SonarQube 服务:
systemctl daemon-reload systemctl start sonarqube systemctl enable sonarqube
5. SonarQube 汉化
-
下载汉化插件:
- 汉化插件地址:sonar-l10n-zh
-
将插件放入 SonarQube 的插件目录:
cp sonar-l10n-zh-plugin-*.jar /opt/sonarqube/extensions/plugins/
-
重启 SonarQube 服务:
systemctl restart sonarqube
6. 访问 SonarQube
完成上述步骤后,可以通过浏览器访问 SonarQube:
- 地址:
http://<服务器IP>:9000
- 默认用户名和密码:
admin/admin
7. 总结
通过本文的步骤,你已经成功安装并配置了 SonarQube。SonarQube 是一个强大的代码质量管理工具,能够帮助开发团队持续改进代码质量。如果你在安装过程中遇到问题,欢迎在评论区留言讨论!
参考文档: