jira4 + resin4 + mysql的linux安装笔记(以失败告终)
这段时间简单的试用了一下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
解压缩jiratarxvfatlassian-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
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,加入以下内容:<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中使用以下配置信息:
<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下必须有效,否则会有如下的报错:
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-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的,可以稍微参考,少走弯路。如果最后能安装成功正确使用,希望能告知正确的安装方法,谢谢!