如何在 Ubuntu 22.04 LTS 上安装 SonarQube

2023年 7月 20日 75.0k 0

SonarQube 或以前的 Sonar 是一个用于静态代码分析和代码安全的开源平台。它可以发现超过 20 种编程语言的安全漏洞,并自动分析代码质量以检测代码错误和异味。SonarQube 还提供重复代码、编码标准、代码复杂度和安全建议等报告。sonarqube-logo

在 Ubuntu 22.04 LTS Jammy Jellyfish 上安装 SonarQube

apt步骤 1. 首先,通过在终端中运行以下命令,确保所有系统包都是最新的。

sudo apt update
sudo apt upgrade
sudo apt install wget apt-transport-https gnupg2 software-properties-common

步骤 2. 安装 Java OpenJDK。

现在运行以下命令将Java 11 安装到您的 Ubuntu 系统:

sudo apt install openjdk-11-jdk

安装完成后,您可以通过检查 Java 版本来验证它:

java -version

步骤 3. 安装 PostgreSQL 数据库。

默认情况下,PostgreSQL 在 Ubuntu 22.04 基础存储库中可用。现在运行以下命令将最新版本的PostgreSQL安装到您的系统中:

sudo apt install postgresql postgresql-contrib

成功安装后,启用 PostgreSQL(在系统启动时自动启动)、启动并使用以下命令验证状态:

sudo systemctl enable postgresql
sudo systemctl start postgresql
sudo systemctl status postgresql

接下来,通过 PostgreSQL shell 为 SonarQube 创建新的数据库和用户:

sudo -u postgres psql

运行以下 PostgreSQL 查询为 SnonarQube 创建一个新的数据库和用户:

CREATE USER sonarqube WITH PASSWORD 'your-strong-passwd';
CREATE DATABASE sonarqube OWNER sonarqube;
GRANT ALL PRIVILEGES ON DATABASE sonarqube TO sonarqube;

之后,我们为 SonarQube 创建一个新用户,并设置自定义内核参数:

sudo useradd -b /opt/sonarqube -s /bin/bash sonarqube

接下来,使用您喜欢的文本编辑器打开文件:/etc/sysctl.conf

sudo nano /etc/sysctl.conf

添加以下配置:

vm.max_map_count=524288
fs.file-max=131072

保存并关闭文件,然后运行下面的 sysctl 命令以应用新更改:

sudo sysctl --system

步骤 4. 在 Ubuntu 22.04 上安装 SonarQube。

默认情况下,SonarQube 在 Ubuntu 22.04 基础存储库中不可用。现在运行以下命令,从官方页面下载最新版本的 SonarQube 到您的系统:

wget https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-9.6.1.59531.zip

接下来,解压下载的文件:

unzip sonarqube-9.6.1.59531.zip
mv sonarqube-9.6.1.59531 /opt/sonarqube

我们将需要更改一些文件夹权限:

sudo chown -R sonarqube:sonarqube /opt/sonarqube

步骤 5. 配置 SonarQube。

首先,使用您喜欢的文本编辑器打开 SonarQube 配置文件“ ” :/opt/sonarqube/conf/sonar.properties

nano /opt/sonarqube/conf/sonar.properties

添加以下配置:

sonar.jdbc.username=sonarqube
sonar.jdbc.password=Your-Strong-Passwd
sonar.jdbc.url=jdbc:postgresql://localhost:5432/sonarqube

取消注释以下配置:

sonar.search.javaOpts=-Xmx512m -Xms512m -XX:MaxDirectMemorySize=256m -XX:+HeapDumpOnOutOfMemoryError
sonar.web.host=127.0.0.1
sonar.web.port=9000
sonar.web.javaAdditionalOpts=-server
sonar.log.level=INFO
sonar.path.logs=logs

步骤 6. 配置 SonarQube Systemd 服务。

现在让我们创建一个systemd文件,以便可以控制 SonarQube 服务。使用以下命令创建文件:

sudo nano /etc/systemd/system/sonarqube.service

添加以下文件:

[Unit]
Description=SonarQube service
After=syslog.target network.target

[Service]
Type=forking
ExecStart=/opt/sonarqube/bin/linux-x86-64/sonar.sh start
ExecStop=/opt/sonarqube/bin/linux-x86-64/sonar.sh stop
User=sonarqube
Group=sonarqube
Restart=always
LimitNOFILE=65536
LimitNPROC=4096

[Install]
WantedBy=multi-user.target

保存并关闭文件,然后使用以下命令重新加载 systemd 管理器:

sudo systemctl daemon-reload
sudo systemctl start sonarqube.service
sudo systemctl enable sonarqube.service

步骤 7. 配置防火墙。

现在,我们使用 Apache 设置了一个简单防火墙 (UFW),以允许在默认 Web 端口 9000 上进行公共访问:

sudo ufw allow OpenSSH
sudo ufw allow 9000/tcp
sudo ufw enable

步骤 8. 访问 SonarQube Web 界面。

成功安装后,打开您的 Web 浏览器并使用 URL 访问 SonarQube 安装向导。输入默认用户名和密码 admin/admin,然后单击 Login。您将被重定向到以下页面:http://your-server-ip-address:9000

sonarqube-dashboard

感谢您使用本教程在 Ubuntu 22.04 LTS Jammy Jellyfish 系统上安装 SonarQube。如需更多帮助或有用信息,我们建议您查看SonarQube 官方网站。

相关文章

服务器端口转发,带你了解服务器端口转发
服务器开放端口,服务器开放端口的步骤
产品推荐:7月受欢迎AI容器镜像来了,有Qwen系列大模型镜像
如何使用 WinGet 下载 Microsoft Store 应用
百度搜索:蓝易云 – 熟悉ubuntu apt-get命令详解
百度搜索:蓝易云 – 域名解析成功但ping不通解决方案

发布评论