Sky's blog

我和我追逐的梦

常用链接

统计

其他链接

友情链接

最新评论

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

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

(1) 下载

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

(2) 安装准备工作

    先安装resin, 再安装mysql,jdk是最新的jkd6 update19。
    另外需要安装ant,来进行安装前的build。

(3) build jira
    解压缩jira
gunzip atlassian-jira-enterprise-4.1.tar.gz
tar xvf atlassian-jira-enterprise-4.1.tar

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

    1. 指定数据库

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

    2. 指定JIRA Home
       打开'edit-webapp/WEB-INF/classes/jira-application.properties', 设置jira.home

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

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

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

init:

clean:

compile:
    [mkdir] Created dir: /windows/f/work/soft/projectmanager/jira/tmp/build/war
    [mkdir] Created dir: /windows/f/work/soft/projectmanager/jira/dist-generic
    [mkdir] Created dir: /windows/f/work/soft/projectmanager/jira/dist-tomcat
    [mkdir] Created dir: /windows/f/work/soft/projectmanager/jira/dist-tomcat/tomcat-6
     [copy] Copying 7740 files to /windows/f/work/soft/projectmanager/jira/tmp/build/war
     [copy] Copied 820 empty directories to 7 empty directories under /windows/f/work/soft/projectmanager/jira/tmp/build/war
     [copy] Copying 2 files to /windows/f/work/soft/projectmanager/jira/tmp/build/war
    [javac] /windows/f/work/soft/projectmanager/jira/build.xml:63: warning: 'includeantruntime' was not set, defaulting to build.sysclasspath=last; set to false for repeatable builds

war:
      [jar] Building jar: /windows/f/work/soft/projectmanager/jira/dist-generic/atlassian-jira-4.1.war
      [jar] Building jar: /windows/f/work/soft/projectmanager/jira/dist-tomcat/atlassian-jira-4.1.war
      [jar] Building jar: /windows/f/work/soft/projectmanager/jira/dist-tomcat/tomcat-6/atlassian-jira-4.1.war
     [copy] Copying 1 file to /windows/f/work/soft/projectmanager/jira/dist-tomcat/tomcat-4
     [copy] Copying 1 file to /windows/f/work/soft/projectmanager/jira/dist-tomcat/tomcat-5
     [copy] Copying 1 file to /windows/f/work/soft/projectmanager/jira/dist-tomcat/tomcat-5.5
     [copy] Copying 1 file to /windows/f/work/soft/projectmanager/jira/dist-tomcat/tomcat-6
     [echo]
     [echo] --------------------------------------------------
     [echo] Deployable WARs generated:
     [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] See http://www.atlassian.com/software/jira/docs/latest/servers/ for install instructions
     [echo] --------------------------------------------------
     [echo]        

BUILD SUCCESSFUL
Total time: 1 minute 31 seconds


(5) 配置resin

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

2. 配置数据库的datasource

    打开resin/conf/resin.xml,加入以下内容:
<database>
  
<jndi-name>jdbc/JiraDS</jndi-name>
  
<driver type="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. 配置transaction factory

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

    <transaction-factory class="org.ofbiz.core.entity.transaction.JNDIFactory">
      
<user-transaction-jndi jndi-server-name="default" jndi-name="java:comp/env/UserTransaction"/>
      
<transaction-manager-jndi jndi-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
        at com.caucho.naming.ContextImpl.lookup(ContextImpl.java:163)
        at javax.naming.InitialContext.lookup(InitialContext.java:392)
        at org.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中进行一下jndi link,将下面的内容加入到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安装的推荐app server中没有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的,可以稍微参考,少走弯路。如果最后能安装成功正确使用,希望能告知正确的安装方法,谢谢!



posted on 2010-04-10 16:40 sky ao 阅读(2514) 评论(0)  编辑  收藏 所属分类: project manager


只有注册用户登录后才能发表评论。


网站导航:
博客园   IT新闻   Chat2DB   C++博客   博问