环境

  • 服务器CentOS 7
  • JDK 1.8
  • SonarQube 6.3.1

SonarQube安装

下载安装包:

1wget https://sonarsource.bintray.com/Distribution/sonarqube/sonarqube-6.3.1.zip

创建运行用户:

1groupadd sonar
2useradd -g sonar -d /home/sonar sonar

解压安装包:

1unzip sonarqube-6.3.1.zip -d /home/sonar/
2
3ls /home/sonar
4sonarqube-6.3.1

设置运行用户:

1cd /home/sonar/sonarqube-6.3.1/bin/linux-x86-64
2vi sonar.sh
3
4RUN_AS_USER=sonar

设置启动脚本:

1chown -R sonar:sonar /home/sonar/
2
3
4ln -s /home/sonar/sonarqube-6.3.1/bin/linux-x86-64/sonar.sh /etc/init.d/sonar
5chmod 755 /etc/init.d/sonar
6chkconfig --add sonar

在已经安装好的MySQL中创建数据库和数据库用户:

1create database sonardb;
2grant all on sonardb.* to 'sonar'@'%' identified by 'Sonarpwd';

修改conf/sonar.properites:

1sonar.jdbc.username=sonar
2sonar.jdbc.password=Sonarpwd
3sonar.jdbc.url=jdbc:mysql://localhost:3306/sonardb?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false

修改conf/wrapper.conf指定java位置:

1wrapper.java.command=/usr/local/jdk/bin/java

启动服务:

1service sonar start

浏览器打开http://server:9000,使用admin用户登录,默认密码admin,登录成功后首先修改一下这个密码。

接下来进入管理菜单,找配置中的Security项,将强制用户认证打开Force user authentication

中文语言包插件

接下来安装中文语言包插件,先在Sonar的更新中心安装Chinese Pack这个插件,安装完成后重新启动sonar。

集成OpenLDAP

Sonar与LDAP的集成通过LDAP Plugin。 我们先在Sonar的更新中心安装这个插件。插件安装完成后重新启动sonar。

修改sonar的配置文件SONARQUBE_HOME/conf/sonar.properties

 1sonar.security.realm=LDAP
 2onar.security.updateUserAttributes=false
 3ldap.url=ldap://192.168.61.100:389
 4ldap.bindDn=cn=Manager,dc=frognew,dc=com
 5ldap.bindPassword=dnpass
 6ldap.user.baseDn=ou=People,dc=frognew,dc=com
 7ldap.user.request=(&(uid={login})(objectclass=posixAccount))
 8ldap.user.realNameAttribute=cn
 9ldap.user.emailAttribute=mail
10ldap.group.baseDn=ou=Group,dc=frognew,dc=com
11ldap.group.request=(objectClass=posixGroup)(memberUid={uid}))
12ldap.group.idAttribute=cn
  • sonar.security.realm表示先到LDAP中认证,如果LDAP中没有给定的用户,将使用sonar内部账号认证

配置修改完成后,重启sonar。r

在OpenLDAP中创建用户组sonar-userssonar-administrators,再创建一个测试用户,Additional groups为sonar-administrators,并为用户设置一个密码。 在浏览器中打开进行测试即可,这个用户将以Sonar超级管理员的身份登录到sonar。

参考