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 閱讀(2522) 評論(0)  編輯  收藏 所屬分類: project manager

          主站蜘蛛池模板: 长兴县| 舟曲县| 仙桃市| 台山市| 晋宁县| 康定县| 云浮市| 伊春市| 洛川县| 邹城市| 安图县| 铅山县| 县级市| 沙湾县| 正定县| 中阳县| 义乌市| 海淀区| 岳普湖县| 尚志市| 广西| 彰化市| 平陆县| 根河市| 台中市| 威远县| 安远县| 苏尼特右旗| 安多县| 兰溪市| 皋兰县| 奉节县| 太湖县| 留坝县| 通州区| 镶黄旗| 瓦房店市| 江安县| 忻城县| 柳林县| 辽阳县|