转:http://blog.csdn.net/ilovemilk/article/details/6690162
Jira是基于web的问题跟踪和项目管理软件解决方案,JIRA广泛地应用于全球上千家企业和开源组织.可以作为bug跟踪,缺陷跟踪,项目管理软件,JIRA使用简单,配置灵活,有完善的权限管理以及扩展性。
1. 系统环境
OS:
CentOS release 5.6
Jdk:
1.6.0_26
Web Server:
tomcat-6.0.32
DB:
MySQL Community Server 5.5.15
Jdbc
mysql-connector-java-5.1.17
Jira:
atlassian-jira-enterprise-4.2.1-b588(war)
系统环境配置在这里不进行描述,假设tomcat、mysql等环境配置完成。
2. 目录规划
/usr/local/jdk1.6
Jdk 安装目录,JAVA_HOME及CLASSPATH设置为全局环境变量
mysql使用rpm默认安装路径
/opt/tomcat6
Tomcat安装目录
/opt/atlassian
Atlassian产品安装的父目录
/opt/atlassian/home
Atlassian产品主目录,jira_home是在/opt/atlassian/home/jira
/opt/atlassian/jira
Jira安装目录
3. 建立jira数据库
以root用户登录到mysql,创建jira所需的schema
mysql> create database jira character set utf8;
mysql> grant all on jira.* to jira@'localhost' identified by'jira';
4. 生成jira工程
下载 JIRA4.2.1 Enterprise - WAR/EAR(选择WAR版本主要是觉得可灵活配置),解压到一临时目录(例如:/opt/resource)。
切换到解压后的目录中,运行build.sh:
$ sh build.sh
运行之后生成相应的目录及文件,进入到dist-tomcat/tomcat-6/目录下,把atlassian-jira-4.2.1-b588.war文件解压到/opt/atlassian/jira目录下。
复制dist-tomcat/tomcat-6/jira.xml文件到Tomcat的conf/Catalina/localhost/目录下(如果没有该目录则创建或运行一次tomcat生成)。
5. 更新Tomcat类包
Tomcat没有附带一些JIRA运行所需的类包:
carol-1.5.2.jar
carol-properties.jar
commons-logging-1.0.4.jar
hsqldb-1.8.0.5.jar
jonas_timer-1.4.3.jar
jotm-1.4.3.jar
jotm-iiop_stubs-1.4.3.jar
jotm-jrmp_stubs-1.4.3.jar
jta-1.0.1.jar
log4j-1.2.15.jar
objectweb-datasource-1.4.3.jar
ots-jts_1.0.jar
xapool-1.3.1.jar
从这里下载 jira-jars-tomcat6.zip (1.5Mb),解压并复制其中包含的jar文件到Tomcat的 lib/ 目录.
所需javamail类包,mail.jar下载地址
另外,还需要添加相应数据库的JDBC驱动包,下载Mysql最新JDBC驱动包,解压后把jar文件复制到tomcat的lib目录下。把jira/WEB-INF/lib/目录下相应的mysql jdbc驱动包移除。
http://www.oracle.com/technetwork/java/index-138643.html
activation.jar(即JAF)下载地址
http://www.oracle.com/technetwork/java/index-135046.html
下载完解压后把mail.jar、activation.jar复制到Tomcat的 lib/ 目录,如果jira的lib目录中有相应的jaramail jar文件要移除。
注意:Tomcat lib/目录下和jira/WEB-INF/lib/目录下的类包不要重复,上面mysql jdbc驱动包就是如此。
6. 配置 Tomcat
1).修改JIRA Context文件Tomcat conf/Catalina/localhost/jira.xml,docBase指向jira所在目录,数据库改为mysql,红色为修改部分:
<Contextpath="/jira" docBase=" /opt/atlassian/jira"debug="0" useHttpOnly="true">
<!-- NOTE: If you use a database otherthan hsqldb:
* delete the minEvictableIdleTimeMillis andtimeBetweenEvictionRunsMillis attributes
* change the database type inatlassian-jira/WEB-INF/classes/entityengine.xml
-->
<Resource name="jdbc/JiraDS"auth="Container" type="javax.sql.DataSource"
username=" jira"
password=" jira"
driverClassName= "com.mysql.jdbc.Driver"
url= "jdbc:mysql://localhost/jira?autoReconnect=true&useUnicode=true&characterEncoding=UTF8"
maxActive="20"
validationQuery="select1"/>
<Resourcename="UserTransaction" auth="Container"type="javax.transaction.UserTransaction"
factory="org.objectweb.jotm.UserTransactionFactory"jotm.timeout="60"/>
<Manager pathname=""/>
</Context>
注意:如果数据库不是hsqldb,就把minEvictableIdleTimeMillis和timeBetweenEvictionRunsMillis参数注释掉。
2).修改tomcat server.xml文件(Tomcat conf/目录下)
打开server.xml文件,找到如下内容:
<Connector port="8080"protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"/>
编辑这块增加 URIEncoding 属性:
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" URIEncoding="UTF-8"/>
7.jira相关配置
修改/opt/atlassian/jira/WEB-INF/classes/entityengine.xml:
<datasource name="defaultDS" field-type-name="hsql"
schema-name="PUBLIC" <!--删除这一行-->
修改为
<datasource name="defaultDS" field-type-name="mysql"
修改/opt/atlassian/jira/WEB-INF/classes/jira-application.properties
jira.home = /opt/atlassian/home/jira
8. 修正Tomcat内存设置
编辑 Tomcat's bin/setenv.sh (如果不存在则创建) 并设置:
export CATALINA_OPTS="$CATALINA_OPTS -Dorg.apache.jasper.runtime.BodyContentImpl.LIMIT_BUFFER=true -Dmail.mime.decodeparameters=true -Xms128m -Xmx512m -XX:MaxPermSize=256m"
9. 运行Tomcat并按向导初始化JIRA
重启tomcat,在浏览器输入http://<ip>:8080/jira,进入安装向导,可以通过向导安装和初始化JIRA。
Crowd安装配置
Crowd是一个基于web的单点登录工具,能够简化应用软件的解决方案以及身份认证管理.管理员可以根据需要,利用Crowd的直观界面来统一管理多用户,web应用和目录服务器的认证和授权. Crowd应用是一个中间件应用,将web应用,LDAP以及用户数据库集成到一个单一的安全架构中,以支持单点登录和集中的身份管理.
1. 系统环境
OS:
CentOS release 5.6
Jdk:
1.6.0_26
Web Server:
tomcat-6.0.32
DB:
MySQL Community Server 5.5.15
Jdbc
mysql-connector-java-5.1.17
Crowd:
2.1.0 - Crowd Server - WAR
系统环境配置在这里不进行描述,假设tomcat、mysql等环境配置完成。
2. 目录规划
/usr/local/jdk1.6
Jdk 安装目录,JAVA_HOME及CLASSPATH设置为全局环境变量
Mysql使用rpm默认安装路径
/opt/tomcat6
Tomcat安装目录
/opt/atlassian
Atlassian产品安装的父目录
/opt/atlassian/home
Atlassian产品主目录,crowd_home是在/opt/atlassian/home/crowd
/opt/atlassian/crowd
Crowd安装目录
3.建立crowd数据库
以root用户登录到mysql,创建jira所需的schema
mysql> create database crowd characterset utf8;
mysql> grant all on jira.* to jira@'localhost' identified by ‘crowd’;
4.生成crowd工程
下载2.1.0 - Crowd Server - WAR,解压到/opt/atlassian/crowd目录。
在Tomcat’s conf/Catalina/localhost/下创建crowd.xml,内容如下:
<Contextpath="/crowd" docBase="/opt/atlassian/crowd" reloadable="true"crossContext="true"/>
5.更新Tomcat类包
jira-jars-tomcat6.zip下载地址:
http://confluence.atlassian.com/download/attachments/231932640/jira-jars-tomcat6.zip?version=1&modificationDate=1252474277487
mail.jar 下载地址
http://www.oracle.com/technetwork/java/index-138643.html
activation.jar(即JAF)下载地址
http://www.oracle.com/technetwork/java/index-135046.html以及mysql jdbc驱动:
http://www.mysql.com/downloads/connector/j/
详细介绍见“ 构建高效的团队协作工具(一) Jira安装配置”。
6.crowd相关配置
修改/opt/atlassian/crowd/WEB-INF/classes/crowd-init.properties:
crowd.home=/opt/atlassian/home/crowd
7.运行Tomcat并按向导初始化Crowd
重启tomcat,用浏览器输入http://<ip>:8080/crowd,进入安装向导,可以通过向导安装和初始化crowd。
Confluence安装配置
Confluence是一个专业的企业知识管理与协同软件,一个企业级别的wiki.通过它可以实现团队成员之间的协作和信息共享。Confluence使用简单,但它强大的编辑和站点管理特征能够帮助团队成员之间共享信息,文档协作,集体讨论.目前,Confluence被广泛地用于项目团队,开发团队,市场销售团队.
1. 系统环境
OS:
CentOS release 5.6
Jdk:
1.6.0_26
Web Server:
tomcat-6.0.32
DB:
MySQL Community Server 5.5.15
Jdbc
mysql-connector-java-5.1.17
confluence:
confluence 3.4.5 - EAR/WAR (war)
系统环境配置在这里不进行描述,假设tomcat、mysql等环境配置完成。
2. 目录规划
/usr/local/jdk1.6
Jdk 安装目录,JAVA_HOME及CLASSPATH设置为全局环境变量
mysql使用rpm默认安装路径
/opt/tomcat6
Tomcat安装目录
/opt/atlassian
Atlassian产品安装的父目录
/opt/atlassian/home
Atlassian产品主目录,confluence_home是在/opt/atlassian/home/confluence
/opt/atlassian/ confluence
Jira安装目录
3. 建立confluence数据库
以root用户登录到mysql,创建jira所需的schema
mysql> create database confluence character set utf8;
mysql> grant all on confluence.* to confluence@'localhost'identified by 'confluence';
4. 生成confluence工程
下载confluence3.4.5 - EAR/WAR (war)(选择WAR版本主要是觉得可灵活配置),解压到一临时目录(例如:/opt/resource)。
切换到解压后的目录中,运行build.sh:
$ sh build.sh
运行之后生成相应的目录及文件,进入到dist/目录下,把confluence-3.4.5.war文件解压到/opt/atlassian/confluence目录下。
在Tomcat’s conf/Catalina/localhost/下创建confluence.xml,内容如下:
<Contextpath="/confluence" docBase="/opt/atlassian/confluence" reloadable="true"crossContext="true"/>
5. 更新Tomcat类包
jira-jars-tomcat6.zip下载地址:
mail.jar 下载地址
http://www.oracle.com/technetwork/java/index-138643.html
activation.jar(即JAF)下载地址
http://www.oracle.com/technetwork/java/index-135046.html
以及mysql jdbc驱动:
http://www.mysql.com/downloads/connector/j/
详细介绍见“构建高效的团队协作工具(一) Jira安装配置”。
6. crowd相关配置
修改/opt/atlassian/confluence/WEB-INF/classes/confluence-init.properties:
confluence.home=/opt/atlassian/home/confluence
7. 运行Tomcat并按向导初始化Confluence
重启tomcat,用浏览器输入http://<ip>:8080/confluence,进入安装向导,可以通过向导安装和初始化Confluence。
1. Crowd认证所需类
和Crowd集成需要crowd-integration-client-xxx.jar类包,如果没有,从standalone版本复制一份到jira和Confluence的WEB-INF/lib目录下。在在jira4.2.1-b588(war)中可能存在这个包。
2. Crowd配置
使用crowd管理员用户登录
1) 新建Directories
建立一个通用目录,如apps,这是的目录是一个权限的集合,建立的用户会直接与这个目录关联,在这个目录建立以前应该会有个系统在安装时就已经存在的系统目录。不要更改系统原来的目录,而是新建一个,为后面的应用做准备。
2) 导入jira和Confluence用户
使用Crowd提供的用户导入工具(User->ImportUser->Atlassian Importer)导入用户,支持导入Bamboo、Jira、Confluence的用户,同时用户组也会被导入。
注意,在Product Database URL项正确填写jdbc URL。
3) 添加application
建立jira,confluence类型应用。如果JIRA和Confluence应用要将认证请求转给Crowd,则必须在Crowd中添加相应的应用(application),并映射到相应的目录上。
3. 配置jira与crowd通信
修改/opt/atlassian/jira/WEB-INF/classes/crowd.properties文件
application.name jira
application.password jira
application.login.url http://192.168.80.128:8080/jira
crowd.server.url http://192.168.80.128:8080/crowd/services/
application.name就是在crowd中为Jira建立的applications,application.password就是在crowd中建立的applications的密码。
修改/opt/atlassian/jira/WEB-INF/classes/osuser.xml文件
<opensymphony-user>
<authenticator class="com.opensymphony.user.authenticator.SmartAuthenticator" />
<!-- CROWD:START
You will need to uncomment the Crowd providers below to enable Crowd integration
and comment out the default providers that are located further down in this file.
-->
<provider class="com.atlassian.crowd.integration.osuser.CrowdCredentialsProvider"/>
<provider class="com.atlassian.crowd.integration.osuser.CrowdAccessProvider"/>
<provider class="com.atlassian.crowd.integration.osuser.DelegatingProfileProvider">
<property name="provider-1">com.atlassian.crowd.integration.osuser.CrowdProfileProvider</property>
<property name="provider-2">com.atlassian.jira.user.ExternalEntityJiraProfileProvider</property>
<property name="provider-2-exclusive-access">true</property>
</provider>
<!-- CROWD:END -->
<!-- CROWD:START - The providers below here will need to be commented out for Crowd integration -->
<!-- <provider class="com.atlassian.jira.user.osuser.JiraOFBizCredentialsProvider">
<property name="exclusive-access">true</property>
</provider>
<provider class="com.atlassian.jira.user.osuser.JiraOFBizProfileProvider">
<property name="exclusive-access">true</property>
</provider>
<provider class="com.atlassian.jira.user.osuser.JiraOFBizAccessProvider">
<property name="exclusive-access">true</property>
</provider>
-->
<!-- CROWD:END -->
</opensymphony-user>
蓝色为取消注释部分,红色为注释部分。
修改/opt/atlassian/jira/WEB-INF/classes/seraph-config.xml文件
注释掉下列部分:
<!--<authenticatorclass="com.atlassian.jira.security.login.JiraOsUserAuthenticator"/>-->
增加新的认证,在JIRA 4.2.x版本修改如下:
<authenticatorclass="com.atlassian.crowd.integration.seraph.v22.JIRAAuthenticator"/>
4. 配置Confluence与crowd通信
修改/opt/atlassian/confluence/WEB-INF/classes/crowd.properties文件
session.lastvalidation=session.lastvalidation
session.isauthenticated=session.isauthenticated
application.password=confluence
application.name=confluence
session.validationinterval=0
crowd.server.url=http://192.168.80.128:8080/crowd/services/
session.tokenkey=session.tokenkey
application.login.url=http://192.168.80.128:8080/confluence
application.name就是在crowd中为confluence建立的applications,application.password就是在crowd中建立的applications的密码。
修改/opt/atlassian/confluence/WEB-INF/classes/atlassian-user.xml文件
注释掉下列部分:
<!--<hibernate name="Hibernate Repository"key="hibernateRepository" description="Hibernate Repository" cache="true"/>-->
去掉以下部分注释:
<crowd key="crowd" name="CrowdRepository"/>
注意:最后在配置文件中,只保留这段配置,其他多余配置一律注释
修改/opt/atlassian/confluence/WEB-INF/classes/seraph-config.xml文件
注释掉以下内容:
<!--<authenticatorclass="com.atlassian.confluence.user.ConfluenceAuthenticator"/>-->
去掉注释打开以下内容(如果没有就添加)
<authenticatorclass="com.atlassian.crowd.integration.seraph.v22.ConfluenceAuthenticator"/>
5. 重启Tomcat进行验证