1.sonarqube没有特别针对linux的安装包,不管是windows或者linux都是下载同一个压缩包,去官网下载即可
2.linux和windows下sonar的区别就是启动时的区别了。在sonar目录的bin目录下有针对linux或者windows以及其他的系统的文件夹,找到对应环境的文件夹,点进去即可
3. sonar在linux启动是一个sh脚本,sonar.sh;第一次启动时输入: ./sonar.sh console(console是代表启动过程详细输出,如果不要的话直接start或者其他的都可以,具体的参数可以输入./sonar.sh查看会有提示{console,start,stop,force-stop,restart,status,dump})
4. 安装配置过程中遇到了几个问题
问题1:java jdk版本有误,sonarqube要求的java版本是11,而centos上自带的java版本显然不是这个,所以要更新为11
具体方法1:通过yum更新
1. 查看yum可安装的java版本,yum -y list java*
2. 安装指定的版本,比如此处我要安装11的,yum install -y java-11-openjdk-devel.x86-64
3. 安装完后再查看java -version,其实还是默认的java版本,因此首先查看java11是否真的安装了,查看本地安装的jdk,yum list installed|grep java
4. 可以看到有两个java版本,一个自带的1.8,一个11,因此需要卸载1.8;yum -y remove java-1.8.0-openjdk*
5. 卸载后再查看版本就是java11了
具体方法2:官网下载
1. 去java官网下载,找到对应自己系统的版本,下载压缩包或者rpm都可以,自行决定
2. 压缩包就直接解压,然后配置环境变量即可
3. rpm文件的话执行rpm -ivh xxx.rpm(如果不是root用户,先给rpm文件授权可执行权限),然后再配置环境变量
问题2. es启动失败,查看es.log发现can not run elasticsearch as root(es因为安全问题不允许root用户直接运行,所以要新建用户再运行sonarqube)
具体方法:
1. 新建用户:useradd sonar
2. 设置sonar用户的密码:passwd sonar
3. 会要求输入sonar用户的密码,输入两次
问题3. 切换到sonar用户后,启动sonar还是报错,permission denied
具体解决方法:
1. 这个错误意思是新建的sonar用户没有对于sonar这个文件的权限,所需要对sonar目录赋予权
2. chown -R sonar:sonar sonar-XXX
3. 切换到sonar用户:su sonar
4. 启动sonar,成功!