centos 7安装sonar
1、安装Java17
1:下载 JDK
查看是否已经安装jdk
通过命令查询是否已经安装jdk
//括号中选择一个即可
yum list installed | grep [java][jdk]
卸载jdk
#卸载所有openjdk相关文件输入
yum -y remove java-1.8.0-openjdk*
#卸载tzdata-java
yum -y remove tzdata-java.noarch
下载Java17.0.7
链接: https://www.oracle.com/java/technologies/javase/jdk17-archive-downloads.html.
查看 Linux 版本
uname -a
Linux x64 Compressed Archive是一个压缩文件,您可以将其解压缩到您选择的目录中。这种安装方式适用于没有root权限的用户。
Linux x64 RPM Package是一个RPM包,您可以使用rpm命令进行安装。这种安装方式需要root权限。
查看jdk软件包列表
yum search java | grep -i --color jdk
2:上传到 Linux
将下载的 jdk-17.0.2_linux-x64_bin.tar.gz 文件上传至 Linux 服务器
3:解压缩
解压缩到指定目录
mkdir /usr/local/java/
tar -xzvf /software/java/jdk-17.0.2_linux-x64_bin.tar.gz -C /usr/local/java/
4:配置环境变量
vim /etc/profile
export JAVA_HOME=/usr/local/java/jdk-17.0.2
export PATH=$PATH:$JAVA_HOME/bin;
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar;
5:加载配置
source /etc/profile
Sonar安装
1:安装postgresql数据库
yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
yum install -y postgresql13-server
/usr/pgsql-13/bin/postgresql-13-setup initdb
systemctl enable postgresql-13
systemctl start postgresql-13
创建数据库
#先切换到postgres用户
su - postgres
# 执行创建指令
psql
create user sonarqube with password 'sonarqube';
create database sonarqube owner sonarqube;
grant all on database sonarqube to sonarqube;
\q
su -
2:添加用户
启动前先创建sonar用户组,sonar不能采用root用户直接启动
[root@localhost ~]# adduser sonar
[root@localhost ~]# passwd sonar
授权
个人用户的权限只可以在本home下有完整权限,其他目录要看别人授权。而经常需要root用户的权限,这时候sudo可以化身为root来操作。我记得我曾经sudo创建了文件,然后发现自己并没有读写权限,因为查看权限是root创建的。
新创建的用户并不能使用sudo命令,需要给他添加授权。
sudo命令的授权管理是在sudoers文件里的。
[root@localhost ~]# sudoers
bash: sudoers: 未找到命令...
[root@localhost ~]# whereis sudoers
sudoers: /etc/sudoers /etc/sudoers.d /usr/libexec/sudoers.so /usr/share/man/man5/sudoers.5.gz
#查看权限
[root@localhost ~]# ls -l /etc/sudoers
-r--r----- 1 root root 4251 9月 25 15:08 /etc/sudoers
先添加w权限
chmod -v u+w /etc/sudoers
添加内容
vim /etc/sudoers
## Allow root to run any commands anywher
root ALL=(ALL) ALL
sonar ALL=(ALL) ALL ALL #这个是新增的用户,ALL 必须全部大写。
#可以尝试使用 visudo 命令来编辑 /etc/sudoers 文件并修复语法错误。
#直接编辑 /etc/sudoers 文件可能会导致安全风险,因此建议使用 visudo 命令。
wq保存退出,将写权限收回:
[root@localhost ~]# chmod -v u-w /etc/sudoers
mode of "/etc/sudoers" changed from 0640 (rw-r-----) to 0440 (r--r-----)
3:下载sonar社区版
https://www.sonarsource.com/products/sonarqube/downloads/
unzip sonarqube-9.0.0.45539.zip
解压安装包
mv sonarqube-10.1.0.73491.zip /home/sonarqube/
chown -R sonar:sonar /home/sonar/
su - sonar
yum -y install unzip
unzip 10.1.0.73491.zip
更改配置文件
vim sonarqube-10.1.0.73491/conf/sonar.properties
#该命令使用 grep 命令从 sonarqube-10.1.0.73491./conf/sonar.properties 文件中筛选出不以 # 开头且不为空的行。
[sonarqube@localhost ~]$ grep -v "^#" sonarqube-10.1.0.73491.zip/conf/sonar.properties | grep -v "^$"
sonar.jdbc.username=sonarqube
sonar.jdbc.password=sonarqube
sonar.jdbc.url=jdbc:postgresql://127.0.0.1/sonarqube
修改/etc/sysctl.conf文件,文件末尾追加vm.max_map_count=262144
修改/etc/security/limits.conf文件,文件末尾追加
* soft nproc 4096
* hard nproc 4096
* soft nofile 1000000
* hard nofile 1000000
#* 表示所有用户。将为所有用户设置 nproc(最大进程数)和 nofile(最大打开文件数)的软硬限制。
#软限制是警告值,而硬限制是强制值。
启动
启动命令: ./sonar.sh start
查看启动日志: tail -f ../../logs/sonar.log
浏览器访问:http://192.168.30.100:9000
登录用户admin 密码admin
参考:https://www.cnblogs.com/mascot1/p/11179767.html
https://blog.csdn.net/d1240673769/article/details/102608222
https://www.cnblogs.com/chaosmoor/p/15897693.html
https://cloud.tencent.com/developer/article/1721167