jira4 + resin4 + mysql的linux安装笔记(以失败告终)

蜗牛Running 2010-04-10

这段时间简单的试用了一下jira,非常满意。准备作为个人之后开发的首选缺陷管理工具,但是当时采用的是windows的全集成安装方式,因此考虑在linux上正式的安装一下,同时将数据库换成mysql。

(1)下载

用jira官网下载WAR/EAR版本,主要不要下载Standalone版本。jira的页面默认给出的是Standalone版本的下载链接。请注意右侧的Recommended,Showall链接,点击Showall之后才会显示WAR/EAR版本的下载链接。

(2)安装准备工作

先安装resin,再安装mysql,jdk是最新的jkd6update19。

另外需要安装ant,来进行安装前的build。

(3)buildjira

    解压缩jira
gunzip atlassian-jira-enterprise-4.1.tar.gz

tarxvfatlassian-jira-enterprise-4.1.tar

打开readme.txt可以看到安装指南。

1.指定数据库

打开'edit-webapp/WEB-INF/classes/entityengine.xml',修改field-type-name为要使用的数据库,目前支持的有Possiblevaluesinclude:cloudscape,db2,firebird,frontbase,hsql,mckoidb,mysql,mssql,oracle10g,oracle,postgres,postgres72,sapdb,sybase.果然很强大,基本能看到的数据库都支持了。默认是hsql,修改为mysql。另外删除schema-name="PUBLIC"这行。

2.指定JIRAHome

打开'edit-webapp/WEB-INF/classes/jira-application.properties',设置jira.home

jira.home=/work/soft/projectmanager/jira_home

使用ant进行build,在jira目录下执行antwar

ant war

Buildfile:/windows/f/work/soft/projectmanager/jira/build.xml

init:

clean:

compile:

[mkdir]Createddir:/windows/f/work/soft/projectmanager/jira/tmp/build/war

[mkdir]Createddir:/windows/f/work/soft/projectmanager/jira/dist-generic

[mkdir]Createddir:/windows/f/work/soft/projectmanager/jira/dist-tomcat

[mkdir]Createddir:/windows/f/work/soft/projectmanager/jira/dist-tomcat/tomcat-6

[copy]Copying7740filesto/windows/f/work/soft/projectmanager/jira/tmp/build/war

[copy]Copied820emptydirectoriesto7emptydirectoriesunder/windows/f/work/soft/projectmanager/jira/tmp/build/war

[copy]Copying2filesto/windows/f/work/soft/projectmanager/jira/tmp/build/war

[javac]/windows/f/work/soft/projectmanager/jira/build.xml:63:warning:'includeantruntime'wasnotset,defaultingtobuild.sysclasspath=last;settofalseforrepeatablebuilds

war:

[jar]Buildingjar:/windows/f/work/soft/projectmanager/jira/dist-generic/atlassian-jira-4.1.war

[jar]Buildingjar:/windows/f/work/soft/projectmanager/jira/dist-tomcat/atlassian-jira-4.1.war

[jar]Buildingjar:/windows/f/work/soft/projectmanager/jira/dist-tomcat/tomcat-6/atlassian-jira-4.1.war

[copy]Copying1fileto/windows/f/work/soft/projectmanager/jira/dist-tomcat/tomcat-4

[copy]Copying1fileto/windows/f/work/soft/projectmanager/jira/dist-tomcat/tomcat-5

[copy]Copying1fileto/windows/f/work/soft/projectmanager/jira/dist-tomcat/tomcat-5.5

[copy]Copying1fileto/windows/f/work/soft/projectmanager/jira/dist-tomcat/tomcat-6

[echo]

[echo]--------------------------------------------------

[echo]DeployableWARsgenerated:

[echo]

[echo]TOMCAT:/windows/f/work/soft/projectmanager/jira/dist-tomcat/atlassian-jira-4.1.war

[echo]GENERIC:/windows/f/work/soft/projectmanager/jira/dist-generic/atlassian-jira-4.1.war

[echo]

[echo]

[echo]Seehttp://www.atlassian.com/software/jira/docs/latest/servers/forinstallinstructions

[echo]--------------------------------------------------

[echo]

BUILDSUCCESSFUL

Total time: 1 minute 31 seconds

(5)配置resin

1.配置JDBCdriver

从mysql官网下载到最新的mysqlconnector,解压后找到mysql-connector-java-5.1.12-bin.jar文件,复制到resin/lib下。

2.配置数据库的datasource

    打开resin/conf/resin.xml,加入以下内容:
<database>

<jndi-name>jdbc/JiraDS</jndi-name>

<drivertype="com.mysql.jdbc.Driver">

<url>jdbc:mysql://localhost:3306/jira</url>

<user></user>

<password></password>

</driver>

<prepared-statement-cache-size>8</prepared-statement-cache-size>

<max-connections>100</max-connections>

<max-idle-time>15s</max-idle-time>

</database>

    注意 jdbc:mysql://localhost:3306/jira, 这里的jira是mysql中的数据库,需要先自行在mysql中建立。如果安装过程出现问题需要重新安装,可以删除这个数据库后重新创建,以清理上次安装的信息。

3.配置transactionfactory

jira默认在entityengine.xml中使用以下配置信息:

    <transaction-factory class="org.ofbiz.core.entity.transaction.JNDIFactory">

<user-transaction-jndijndi-server-name="default"jndi-name="java:comp/env/UserTransaction"/>

<transaction-manager-jndijndi-server-name="default"jndi-name="java:comp/env/UserTransaction"/>

    </transaction-factory>

这就要求java:comp/env/UserTransaction在resin下必须有效,否则会有如下的报错:

[core.entity.transaction.JNDIFactory] NamingException while finding UserTransaction named java:comp/env/UserTransaction in JNDI.

javax.naming.NameNotFoundException:java:comp/env/UserTransaction

atcom.caucho.naming.ContextImpl.lookup(ContextImpl.java:163)

atjavax.naming.InitialContext.lookup(InitialContext.java:392)

atorg.ofbiz.core.entity.transaction.JNDIFactory.getUserTransaction(JNDIFactory.java:109)

        at org.ofbiz.core.entity.TransactionFactory.getUserTransaction(TransactionFactory.java:91)

翻了一下resin的资料,这里批评一下resin,resin4的版本都已经到了4.0.5了,但是4.0系列的文件还是非常非常的不健全,基本上什么信息都找不到,我就为了找一个在resin4中如何设置jndi都google很久,全是resin3的资料。

最后找到resin默认UserTransaction的jdni为java:comp/UserTransaction,因此需要修改jira的设置,或者在resin中进行一下jndilink,将下面的内容加入到resin/conf/resin.xml:

<jndi-link>

<jndi-name>java:comp/env/UserTransaction</jndi-name>

<foreign-name>java:comp/UserTransaction</foreign-name>

</jndi-link>

(6)正式安装

将dist-generic/atlassian-jira-4.1.war复制到resin/webapps/jira.war,resin会自动解压缩。

如果前面的准备工作都没有问题,这里会顺利的进行,打开http://192.168.0.40:8080/jira可以进入安装设置页面,按照要求一步一步进行,可以完成安装,不会报错,最后提示安装成功可以登录云云。

但是很遗憾,上述的安装工作完成之后,jira不可使用。安装完后打开http://192.168.0.40:8080/jira,出现的不是期待的dashboard页面,而是其他的一个莫名其妙的页面,并且页面有很多js错误。

很郁闷的反复重复了上面的安装过程,期间都没有报错,安装都可以完成,唯独安装完成之后不能用。另有发现就是http://192.168.0.40:8080/jira的安装页面,在安装配置过程中就有点不对,页面非常简单,似乎是css没有启用的感觉。

比较头疼的几个问题:

1.jira官网没有resin的资料,jira安装的推荐appserver中没有resin

2.resin4的资料非常少,如论是官网还是internet,很难搜索到资料。上面的安装准备过程是我参考tomcat,resin3和jira自己的文档一点一点翻出来的,期间google无数。太耗时间了。

实在无奈,后面尝试使用tomcat6来安装jira,就非常顺利的安装完成。算了,不继续在resin4上耗费时间,改用jira官方推荐的tomcat6好了。tomcat6下的war安装,在jira官网有非常详细的文档,按照上面的步骤一步一步进行即可,非常省力。详细请见:http://confluence.atlassian.com/display/JIRA/Installing+JIRA+on+Tomcat+6.0#InstallingJIRAonTomcat6.0-1.UnpackJIRA。感叹一下,有官方正式支持就是好啊。

虽然最后的结果不大好,不过上面的这个过程,已经远比当前google上能找到的资料要多了。如果其他朋友有打算用jira4+resin4+mysql的,可以稍微参考,少走弯路。如果最后能安装成功正确使用,希望能告知正确的安装方法,谢谢!

相关推荐