环境
- 服务器CentOS 7
- JDK 1.8
- SonarQube 6.3.1
SonarQube安装
下载安装包:
wget https://sonarsource.bintray.com/Distribution/sonarqube/sonarqube-6.3.1.zip创建运行用户:
groupadd sonar
useradd -g sonar -d /home/sonar sonar解压安装包:
unzip sonarqube-6.3.1.zip -d /home/sonar/
ls /home/sonar
sonarqube-6.3.1设置运行用户:
cd /home/sonar/sonarqube-6.3.1/bin/linux-x86-64
vi sonar.sh
RUN_AS_USER=sonar设置启动脚本:
chown -R sonar:sonar /home/sonar/
ln -s /home/sonar/sonarqube-6.3.1/bin/linux-x86-64/sonar.sh /etc/init.d/sonar
chmod 755 /etc/init.d/sonar
chkconfig --add sonar在已经安装好的MySQL中创建数据库和数据库用户:
create database sonardb;
grant all on sonardb.* to 'sonar'@'%' identified by 'Sonarpwd';修改conf/sonar.properites:
sonar.jdbc.username=sonar
sonar.jdbc.password=Sonarpwd
sonar.jdbc.url=jdbc:mysql://localhost:3306/sonardb?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false修改conf/wrapper.conf指定java位置:
wrapper.java.command=/usr/local/jdk/bin/java启动服务:
service 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:
sonar.security.realm=LDAP
onar.security.updateUserAttributes=false
ldap.url=ldap://192.168.61.100:389
ldap.bindDn=cn=Manager,dc=frognew,dc=com
ldap.bindPassword=dnpass
ldap.user.baseDn=ou=People,dc=frognew,dc=com
ldap.user.request=(&(uid={login})(objectclass=posixAccount))
ldap.user.realNameAttribute=cn
ldap.user.emailAttribute=mail
ldap.group.baseDn=ou=Group,dc=frognew,dc=com
ldap.group.request=(objectClass=posixGroup)(memberUid={uid}))
ldap.group.idAttribute=cnsonar.security.realm表示先到LDAP中认证,如果LDAP中没有给定的用户,将使用sonar内部账号认证
配置修改完成后,重启sonar。r
在OpenLDAP中创建用户组sonar-users和sonar-administrators,再创建一个测试用户,Additional groups为sonar-administrators,并为用户设置一个密码。
在浏览器中打开进行测试即可,这个用户将以Sonar超级管理员的身份登录到sonar。