公司的jira和wiki投入使用的时间很久了,已经实现用户集成登录,登录的用户名和密码都相同。但是每次登录两个应用都要输两次用户名和密码,觉得不太方便,因此就决定对jira和wiki实现单点登录,我是使用crowd来实现单点登录及管理的。
下面是安装过程:
一、安装jira和wiki
我这里的版本是jira4.4.4,confluence-5.1.2的。Jdk环境已装好,具体的安装步骤就不说了,网上很多安装破解的。Mysql也已经装好了,在192.168.0.212机器上。
二、Crowd的安装准备
1、软件包下载
我是将软件包直接放在/root下
下载软件包atlassian-crowd-2.7.0.tar.gz,下载地址https://www.atlassian.com/software/crowd/download
下载jdbc连接器mysql-connector-java-5.1.6-bin.jar
2、在本地widows上装java环境
下载安装jdk-7u40-windows-i586应用程序(windows版)
详细步骤,点击链接。
http://wenku.baidu.com/view/0dbcf09a71fe910ef12df8e8.html
三、crowd的破解安装
1、修改配置文件
[root@vm231atlassian]#tarzxfatlassian-crowd-2.7.0.tar.gz-C/opt/atlassian/crowd/
[root@vm231crowd]#mkdircrowd_home
创建crowd_home作为crowd的配置文件目录
[root@vm231crowd]#cdatlassian-crowd-2.7.0/crowd-webapp/WEB-INF/classes/
[root@vm231classes]#vimcrowd-init.properties
将crowd.home属性更改为,为crowd建立的配置文件目录
2、crowd与mysql数据库连接
登陆到192.168.0.212机器上(安装数据库的机器),配置添加数据库:
[root@localhost~]#mysql-uroot-p
Enterpassword:
…
mysql>CreatedatabasecrowdcharactersetUTF8;
mysql>Grantalloncrowd.*tocrowd@"%"identifiedby"crowd";
mysql>Grantalloncrowd.*tocrowd@"localhost"identifiedby"crowd";
3、为crowd加mysql驱动程序
4、破解crowd
下载crowd2.1.0破解包(建议自己在网上下),解压缩至桌面(可以随便放哈,能找到就行)
C:\Users\Administrator\Desktop\crowd2.1.0-crack\iNViSiBLE
在cmd命令行界面,cd到iNViSiBLE目录下,执行java–jarcrowd_keygen.jar,会弹出一个框,如图:
将/opt/atlassian/crowd/atlassian-crowd-2.7.0/crowd-webapp/WEB-INF/lib目录下的atlassian-extras-3.1.1.jar文件下载到本地。
(由于破解的版本比较老,所以下载下来之后要先把atlassian-extras-3.1.1.jar重命名为atlassian-extras-2.6.jar,如下图)
点击.patch,选择下载下来的文件,这样的话注册机可以将原来的jar文件改成atlassian-extras-2.6.bak的文件,然后将新生成的atlassian-extras-2.6.jar改回我们要用的jar包:即atlassian-extras-3.1.1.jar,再上传至Linux服务器,覆盖之前的文件。
启动crowd服务
[root@vm231atlassian-crowd-2.7.0]#cd/opt/atlassian/crowd/atlassian-crowd-2.7.0/
[root@vm231atlassian-crowd-2.7.0]#./start_crowd.sh
在浏览器中输入:http://192.168.0.231:8095
服务启动后,点击setupcrowd会跳转到安装页面,有一个server-id,将server-id复制到注册机的keygen中,即可生成license,复制进crowd的安装页面server-id对应的框,点击下一步,破解成功。
5、配置crowd与mysql连接
Database中选择MySQL,将jdbcurl是:
url="jdbc:mysql://192.168.0.212/crowd?autoReconnect=true&useUnicode=true&characterEncoding=UTF-8"
driverclassname为:driverClassName="com.mysql.jdbc.Driver"
username是:crowd
密码是:crowd(之前建crowd数据库和用户名密码)
接下来一步一步安装配置即可。
四、crowd实现jira与confluence的联合登录
1、crowd配置
使用管理员登录crowd,新建一个Directory作为jira和wiki的通用目录。
在crowd中建立以下用户组和用户(必须按照下面的建):
组:
confluence-usersconfluence-administrators
jira-usersjira-developersjira-administrators
用户:
在confluence-administratorsconfluence-users组中添加confluenceadmin
在jira-usersjira-administratorsjira-developers组中添加jiraadmin
添加两个应用application
点击application,分别添加jira和confluence两个application
jira的url设置http://192.168.0.231:8080,directories选择前面建立的jira目录,在Authorisation中选择Allowalluserstoauthenticate(此设置为crowd+jira配置)
confluence的url设置http://192.168.0.231:8090,directories选择前面建立的confluence目录,在Authorisation中选择Allowalluserstoauthenticate(此设置为crowd+confluence配置)
2、配置jira与crowd通信
拷贝配置文件
CopyFrom | CopyTo |
CROWD/client/crowd-integration-client-X.X.X.jar | $JIRA/atlassian-jira/WEB-INF/lib |
CROWD/client/conf/crowd.properties | $JIRA/atlassian-jira/WEB-INF/classes |
CROWD/client/conf/crowd-ehcache.xml | $JIRA/atlassian-jira/WEB-INF/classes |
这里CROWD指的是crowd的安装路径,我的是/opt/crowd/
同理,JIRA指的是jira的安装路径,/opt/jira/
编辑配置文件
#vim/opt/jira/atlassian-jira/WEB-INF/classes/crowd.properties
application.name:jira(在crowd中为Jira建立的applications)
application.password:jira(在crowd中建立的applications的密码)
#vim/opt/jira/atlassian-jira/WEB-INF/classes/seraph-config.xml
将下面的代码注释掉
<!--CROWD:START-TheauthenticatorbelowherewillneedtobecommentedoutforCrowdSSOintegration-->
<!--<authenticatorclass="com.atlassian.jira.security.login.JiraSeraphAuthenticator"/>-->
将下面的代码打开
<!--<authenticatorclass="com.atlassian.jira.security.login.SSOSeraphAuthenticator"/>-->
<authenticatorclass="com.atlassian.jira.security.login.SSOSeraphAuthenticator"/>
3、配置confluence与crowd通信
拷贝配置文件
CopyFrom | CopyTo |
CROWD/client/crowd-integration-client-X.X.X.jar | CONFLUENCE/confluence/WEB-INF/lib |
CROWD/client/conf/crowd.properties | CONFLUENCE/confluence/WEB-INF/classes |
CROWD/client/conf/crowd-ehcache.xml | CONFLUENCE/confluence/WEB-INF/classes |
这里CROWD指的是crowd的安装路径,我的是/opt/crowd/
同理,CONFLUENCE指的是confluence的安装路径,/opt/confluence/
编辑配置文件
#vim/opt/confluence/confluence/WEB-INF/classes/crowd.properties
appcation.nameconfluence(在crowd中为confluence建立的applications)
application.passwordconfluence(在crowd中建立的applications的密码)
#vim/opt/confluence/confluence/WEB-INF/classes/seraph-config.xml
将下面的代码注释掉
<!--DefaultConfluenceauthenticator,whichusestheconfiguredusermanagementforauthentication.-->
<!--<authenticatorclass="com.atlassian.confluence.user.ConfluenceAuthenticator"/>-->
将下面的代码打开
<!--<authenticatorclass="com.atlassian.confluence.user.ConfluenceCrowdSSOAuthenticator"/>-->
<authenticatorclass="com.atlassian.confluence.user.ConfluenceCrowdSSOAuthenticator"/>
4、重启jira,confluence,crowd
IP的单点登录已经可以实现。
即在同一个浏览器中打开jira并输入用户名密码登录,再打开confluence,这时,confluence可自动登录同一用户。(必须在同一个session中)
注:以IP:端口的方式登录。
5、基于域名实现单点登录
添加crowd域名
修改nginx配置文件
在/usr/local/conf/nginx.conf的最后添加一行includeconf.d/crowd.conf
将crowd.conf文件中添加一个crowd.abc.com的域名,内容与jira.conf一样
(我这里jira.abc.com及confluence.abc.com已经添加好,将文件中所需的地方都加好,同jira和confluence)
下面是本人crowd.conf的内容
server
{listen80;
server_namecrowd.abc.com;
location/{
proxy_passhttp://192.168.0.231:8090;
proxy_set_headerHost$host;
proxy_set_headerX-Real-IP$remote_addr;
proxy_set_headerX-Forwarded-For$proxy_add_x_forwarded_for;}
}
记得改完nginx配置文件后要重启哦!
登录crowd
用域名登录crowd,即crowd.abc.com。在SSODomain的框里填写公用的域名:.abc.com,update更新一下,如图。
这时候,基于域名的SSO单点登录也已经实现,登录confluence.abc.com,在同一session的浏览器中输入jira.abc.com发现已经自动登录成功!
最后,提醒容易出错的地方:
1、一定要在基于域名登录的情况下才能添加SSODomain;
2、数据库的连接
希望亲们都能顺利实现完成用crowd实现jira和confluence的单点登录哦!中间有没写的地方,还是希望亲能在网上查一下的。