limux CentOS release 6.5 安装sonarqube-6.7.6详细步骤

mysql 5.6-5.7, sonarqube-6.7.6(LTS)

请先确保linux已经安装了jdk8,并且已经配置好了环境变量

Sonar是基于Java开发的,因此运行Sonar自然需要JDK

java 安装及环境变量配置,自行百度。

安装mysql 5.6

1.新开的云服务器,需要检测系统是否自带安装mysql

# yum list installed | grep mysql


2.如果发现有系统自带mysql,果断这么干

# yum -y remove mysql-libs.x86_64


3.随便在你存放文件的目录下执行,这里解释一下,由于这个mysql的yum源服务器在国外,所以下载速度会比较慢,还好mysql5.6只有79M大,而mysql5.7就有182M了,所以这是我不想安装mysql5.7的原因

# wget http://repo.mysql.com/mysql-community-release-el6-5.noarch.rpm


4.接着执行这句,解释一下,这个rpm还不是mysql的安装文件,只是两个yum源文件,执行后,在/etc/yum.repos.d/ 这个目录下多出mysql-community-source.repo和mysql-community.repo

# rpm -ivh mysql-community-release-el6-5.noarch.rpm


5.这个时候,可以用yum repolist mysql这个命令查看一下是否已经有mysql可安装文件

#yum repolist all | grep mysql


6.安装mysql 服务器命令(一路yes):

# yum install mysql-community-server


7.安装成功后

# service mysqld start


8.由于mysql刚刚安装完的时候,mysql的root用户的密码默认是空的,所以我们需要及时用mysql的root用户登录(第一次回车键,不用输入密码),并修改密码

# mysql -u root
# use mysql;
# update user set password=PASSWORD("这里输入root用户密码") where User='root';

#  使用 mysql 命令为 root 用户授权 mysql 远程连接服务,这样客户端才可以连接

# grant all privileges on *.* to 'root'@'%' identified by 'root' with grant option;
# flush privileges; 

说明:此命令是为密码为 root 、IP(%)任意的 root 用户授权。(%:模糊查询,所有 IP 都可以,,可指定其他主机 IP;BY 后的 'root' 为密码)

修改mysql库的user表,将host项,从localhost改为%。%这里表示的是允许任意host访问,如果只允许某一个ip访问,则可改为相应的ip,比如可以将localhost改为192.168.1.123,这表示只允许局域网的192.168.1.123这个ip远程访问mysql
9.查看mysql是否自启动,并且设置开启自启动命令

 

# chkconfig --list | grep mysqld
# chkconfig mysqld on

10.mysql 版本

SELECT VERSION() 

limux CentOS release 6.5 安装sonarqube-6.7.6详细步骤_第1张图片

 

如果遇到了:

ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'mysql'

原因是:因为mysql数据库的user表里,存在用户名为空的账户即匿名账户,导致登录的时候是虽然用的是root,但实际是匿名登录的,通过错误提示里的''@'localhost'可以看出来,解决办法:

方法一:
1.关闭mysql
 

  # service mysqld stop


2.屏蔽权限
  

# mysqld_safe --skip-grant-table


   屏幕出现: Starting demo from .....
3.新开起一个终端输入
   # mysql -u root mysql
   mysql> UPDATE user SET Password=PASSWORD('newpassword') where USER='root';
   mysql> FLUSH PRIVILEGES;//记得要这句话,否则如果关闭先前的终端,又会出现原来的错误
   mysql> \q

方法二:
1.关闭mysql
   # service mysqld stop
2.屏蔽权限
   # mysqld_safe --skip-grant-table
   屏幕出现: Starting demo from .....
3.新开起一个终端输入
   # mysql -u root mysql
   mysql> delete from user where USER='';
   mysql> FLUSH PRIVILEGES;//记得要这句话,否则如果关闭先前的终端,又会出现原来的错误
   mysql> \q

Sonar要求mysql必须是InnoDB存储引擎

如果不是InnoDB,设置为InnoDB,修改配置文件/etc/my.cnf

 

# vi /etc/my.cnf

  [mysqld]

  default-storage-engine=INNODB

设置mysql缓存参数,

a 设置innodb_buffer_pool_size,参数值设置尽可能大一些,这个参数主要是缓存InnoDB表的索引,数据,插入数据时的缓冲

默认值:128M,我们这里设置为256M

  b 设置mysql的查询缓存quert_cache_size的开关为1,然后设置最少15M,重启mysql数据库

  [mysqld]

  innodb_buffer_pool_size = 256M

  query_cache_type=1

  query_cache_size=32M

 

# service mysqld restart 

查看缓存设置是否生效

 

limux CentOS release 6.5 安装sonarqube-6.7.6详细步骤_第2张图片

 

Sonar安装

mysql中新建一个sonarQube数据库(UTF-8编码)

limux CentOS release 6.5 安装sonarqube-6.7.6详细步骤_第3张图片

 

 

从官网下载最新LTS版本的sonarQuba安装包(sonarqube-6.7.6.zip

  a linux命令行下执行下载:

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

压安装并更名

 

# unzip sonarqube-6.7.6.zip
# mv sonarqube-6.7.6 sonarQube

 

 

之前介绍组成的时候说sonarqubesonar的服务端,相当于一个web服务器,用来发布应用,在线浏览、配置分析等。怎么样?有没有很面熟的感觉?是不是有点像tomcat呢?

binsonarqube运行命令文件夹   

confsonarqube配置文件夹   

data:嵌入式数据库的数据(H2数据库引擎),建议只用于测试和演示   

elasticsearch:搜索引擎

extensionssonarqube的插件等存放文件夹   

libsonarqube存放的运行库文件夹(jar)   

logssonarqube日志文件夹   

tempsonarqube临时文件夹   

websonarqube系统UI界面文件夹

编辑sonar配置

# cd sonarQube/conf/

# vi sonar.properties

 

Mysql数据用户名

sonar.jdbc.username=root

sonar.jdbc.password=root   #你安装的数据密码

配置mysql数据库

sonar.jdbc.url=jdbc:mysql://localhost:3306/sonarQube?useUnicode=true&characterEncodixxxx

设置sonar服务

sonar.web.host=0.0.0.0

sonar.web.context=/sonarQube

sonar.web.port=9000

我是在虚拟机安装的,如果是在阿里云安装,还得设置安全组:

limux CentOS release 6.5 安装sonarqube-6.7.6详细步骤_第4张图片

创建新用户

由于6.6版本加入了elasticsearch,不能root用户启动,因为安全问题elasticsearch

让用root用户直接运行,所以要创建新用户,用新用户启动

	//创建esuser用户
	//目录组和用户都是esuser
	//sonarqube文件设置777   //编写配置文件
	# useradd esuser
	# chown -R esuser:esuser sonarQube   #代表用户组的意思,你sonar目录路径
	# chmod 777 -R sonarQube 
	# vi sonarQube/elasticsearch/config/elasticsearch.yml 

	//开启端口和指定服务
	network.host: 192.168.1.27(请填写自己服务器的ip)
	http.port: 9200

 

如果启动中出现错误:如:

max file descriptors [4096] for elasticsearch process likely too low, increase to at least [65536]

max virtual memory areas vm.max_map_count [65530] likely too low, increase to at least [262144]

 

解决65536

  切换到root用户,进入limits.d目录下修改配置文件

  vi /etc/security/limits.conf 

添加如下内容:

* soft nofile 65536

* hard nofile 131072

* soft nproc 2048

* hard nproc 4096

 

解决262144

切换到root用户修改配置sysctl.conf

vi /etc/sysctl.conf 

添加下面配置:

vm.max_map_count=655360

并执行命令:

sysctl –p

 

如果启动不成功,去查看日志,根据日志,日志会说报错原因,可自行百度:

 

 

 

浏览器中输入:http://192.168.1.27:9000/sonarQube

 

帐号密码默认都为:admin,登录之后下载中文汉化包,然后重启sonarQubesh sonar.sh restart

 

limux CentOS release 6.5 安装sonarqube-6.7.6详细步骤_第5张图片

 

 

limux CentOS release 6.5 安装sonarqube-6.7.6详细步骤_第6张图片

 

安装完成

汉化:

包如下:

checkstyle-sonar-plugin-4.17.jar
sonar-java-plugin-5.9.2.16552.jar
sonar-javascript-plugin-5.0.0.6962.jar
sonar-l10n-zh-plugin-1.19.jar

 

limux CentOS release 6.5 安装sonarqube-6.7.6详细步骤_第7张图片

上传到sonar安装目录的,

/home/esuser/sonarQube/extensions/plugins,然后重启

 

./sonar.sh restart

 

limux CentOS release 6.5 安装sonarqube-6.7.6详细步骤_第8张图片

 

使用SonarQube Scanner分析代码

 

从官网下载scanner对应的版本后直接解压 :
https://docs.sonarqube.org/display/SCAN/Analyzing+with+SonarQube+Scanner

通过编辑xxxx/conf/sonar-scanner.properties更新全局设置以指向SonarQube服务器

xxxx/bin设置到环境变量PATH

在命令行输入sonar-scanner –h,验证安装结果

 

INFO:

INFO: usage: sonar-scanner [options]

INFO:

INFO: Options:

INFO:  -D,--define <arg>     Define property

INFO:  -h,--help             Display help information

INFO:  -v,--version          Display version information

INFO:  -X,--debug            Produce execution debug output

eclipse安装sonarLint插件

 

https://blog.csdn.net/htpiaoye/article/details/72382020

 

使用SonarQube Maven插件分析代码使用SonarQube Maven插件分析代码

使用SonarQube Maven插件分析代码

编辑位于$MAVEN_HOME/conf〜/ .m2settings.xml文件,设置SonarQube服务器


            sonar
            
		true
            
            
		http://192.168.1.149:9000/sonarQube
	

注意,这个必须放对位置!!!!!

limux CentOS release 6.5 安装sonarqube-6.7.6详细步骤_第9张图片

分析Maven项目,运行Maven目标sonar:sonarpom.xml文件所在的目录中

 

limux CentOS release 6.5 安装sonarqube-6.7.6详细步骤_第10张图片

 

执行命令:

mvn sonar:sonar

 

登录sonarQube Web查看结果

limux CentOS release 6.5 安装sonarqube-6.7.6详细步骤_第11张图片

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(sonar)