Linux JIRA+MYSQL安裝與除錯方法

Atlassian發表於2013-10-30

買JIRA上CSDN,特殊折扣購買通道,震撼低價:http://atlassian.csdn.net/module/btc/atlassian/prduct_detail?project_id=445&module=34&product=9

應同事要求 想搭建一個BUG的提交系統,用來有效的管理專案,所以選用了jira。jira基於J2EE的 ,之前一直接觸的都是PHP的平臺相關的程式,這次也當是正好練習下JAVA方面的環境安裝除錯,中間也是出了不少的問題,至少學會了一個最重要的如何調 試tomcat。

一、瞭解JIRA

不管你知不知道JIRA 還是先大概的瞭解下。

(大致歸納下)JIRA 是目前比較流行的基於Java架構的管理系統 ,是集專案計劃、任務分配、需求管理、錯誤跟蹤於一體的商業軟體,功能全面,介面友好,安裝簡單,配置靈活,許可權管理以及可擴充套件性方面都十分出色。

因為是基於JAVA的所以需要JAVA環境,因為是商業軟體所以會要有license key 。

二、具體安裝過程(含有解決問題的分析思路)

1、基礎環境(以自己實踐的環境為例)

作業系統: Linux (具體用過的Centos 5.2 , Slackware 12.1)

2、思考過程

可能拿到一個要安裝的軟體可能第一反應就是google搜尋,但往往網上的文章基本沒有絕對完整或者是時效性已經過了的。

正確的思考方式:

A、直接下載JIRA程式,安裝方法檢視解壓包中的README.txt 或者有些軟體包還有一個INSTALL

B、以JIRA的官方安裝方法為基準 再參考google搜尋出來的其他文章。

C、遇到具體再具體分析。

3、下載JIRA

JIRA 官網:http://www.atlassian.com/software/jira/

下載企業版:wget http://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-enterprise-3.13.4-standalone.tar.gz

tar zxvf atlassian-jira-enterprise-3.13.4-standalone.tar.gz

mv atlassian-jira-enterprise-3.13.4-standalone /home/

ln -s atlassian-jira-enterprise-3.13.4-standalone jira

cd /home/jira

4、根據README.txt安裝

———————————————————————

JIRA 3.13.4-#354 README

———————————————————————

Thank you for downloading JIRA 3.13.4 - Standalone distribution. This

distribution comes with a built-in Tomcat 5.5.26 web server and hsql

database, so it runs (almost) out the box.

JIRA 3.13.4整合內建了tomcat 5.5.26的 預設是hsql 為database

所以不需要另外安裝tomcat

BRIEF INSTALL GUIDE

——————-

1. Install a Java Development Kit (JDK) from

第一步:安裝JDK環境

JDK下載路徑

http://java.sun.com/javase/downloads/index.jsp

(avoid JREs, Java EEs, Netbeans, etc. on that page - you just want a JDK).

下載最新的JDK

這裡的最新版本是JDK 6 Update 14 注意的是選擇完平臺進行下載的時候 可以直接點選jdk-6u14-linux-i586.bin 進行下載 如果是點選“download selected with sun download manager” 這個是SUN的下載器

2. Set the JAVA_HOME variable to where you installed Java. Windows installers

may do this for you. See also the following for Windows instructions:

http://confluence.atlassian.com/display/DOC/Set+JAVA_HOME+variable+in+Windows

第二步 :安裝和配置JAVA環境

JAVA安裝很簡單主要是配置變數 這裡不清楚了可以google下了

參考這篇文章:http://www.tj4c.com/2009/06/25/linux-install-jdk/

我的步驟:

chmod +x jdk-6u14-linux-i586.bin

./jdk-6u14-linux-i586.bin

mv jdk1.6.0_14 /usr/local/jdk

3. Run bin/startup.sh (*nix) or bin\startup.bat (Windows). Check that there

are no errors on the console. See below for troubleshooting advice.

第六步:執行JIRA服務

*uix使用JIRA根目錄下的bin/starup.sh windows用bin\startup.bat

執行後可以通過logs下的日誌進行檢視報錯

4. Point your browser at http://localhost:8080/

You should see JIRA’s Setup Wizard.

第七步:訪問JIRA

通過http://JIRA_server_ip:8080 進行檢視 如果出來介面說明配置正確 如果報404等其它問題就是配置中出現問題了

通過仔細檢查配置檔案都沒有改錯或者寫錯的話 那麼很有可能就是你的MYSQL連線不正確

三、問題排錯

可能大部分的人第一次安裝都不會那麼順利,我就是遇到了不少的問題,如何進行排錯呢,日誌是肯定不能少的。

出現問題後檢視 logs下面的catalina.2009-07-14.log 和catalina.out 日誌 但只能得到兩個錯誤

SEVERE: Error listenerStart

SEVERE: Context [] startup failed due to previous errors

通過google檢視 這類問題不少,也有很多的解決辦法 如:http://xuthus.javaeye.com/blog/85089

但這都不是解決辦法的根源,因為報這個錯還是有很多種可能。

解決辦法檢視最詳細的日誌,確定問題的原因:http://618119.com/archives/2007/12/04/37.html

JIRA的tomcat是5.5的 基於上面的方法

參考APACHE的官網資料: http://tomcat.apache.org/tomcat-5.5-doc/logging.html

1、建立log4j.properties

vim /home/jira/common/classes/log4j.properties

log4j.rootLogger=DEBUG, R

log4j.appender.R=org.apache.log4j.RollingFileAppender

log4j.appender.R.File=${catalina.home}/logs/tomcat.log

log4j.appender.R.MaxFileSize=10MB

log4j.appender.R.MaxBackupIndex=10

log4j.appender.R.layout=org.apache.log4j.PatternLayout

log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n

2、下載 log4j

wget http://apache.freelamp.com/logging/log4j/1.2.15/apache-log4j-1.2.15.tar.gz

tar zxvf apache-log4j-1.2.15.tar.gz

cp apache-log4j-1.2.15/log4j-1.2.15.jar /home/jira/common/lib/

3、下載commons logging

wget http://apache.freelamp.com/commons/logging/binaries/commons-logging-1.1.1-bin.tar.gz

tar zxvf commons-logging-1.1.1-bin.tar.gz

cp commons-logging-1.1.1/commons-logging-1.1.1.jar /home/jira/common/lib/

這樣配置完後 重啟JIRA可以在日誌中看到更詳細的記錄

第一個就是在當前啟動JIRA服務的目錄下會產生atlassian-jira.log

tail -f atlassian-jira.log

第二個在logs中的catalina.out 跟上面的日誌內容是一樣的

分析:

以下就我出現的問題具體分析下日誌:

日誌取最早出現的error

問題A、main ERROR [jira.appconsistency.db.DatabaseConsistencyCheck] There was a SQL exception checking for database driver correctness. Skipping

2009-07-14 17:12:57,743 main ERROR [core.entity.jdbc.DatabaseUtil] Unable to esablish a connection with the database… Error was:org.apache.tomcat.dbcp.dbcp.SQLNestedExceptio

n: Cannot load JDBC driver class ‘org.mysql.jdbc.Driver’

這個是名字打錯了,幾次折騰重新安裝時把驅動的名字打錯了 應該把 ‘org.mysql.jdbc.Driver’改成

‘com.mysql.jdbc.Driver’

問題B、 org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (Server connection failure during transaction. Due to underlying exception: ‘java.net.ConnectException: Connection refused’.

連線被拒絕了,其實這個原因是一直沒有成功的根源,我當時用的是slackware 12.1的預設mysql的服務啟動是skip-network 即是不能通過網路訪問的,但手動本地localhost是可以的所以連線的,所以帶來了問題的麻煩

解決:去掉啟動指令碼中的—skip-network

問題C:rg.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (Server connection failure during transaction. Due to underlying exception: ‘java.sql.SQLException: Access denied for user ‘jirauser’@'127.0.0.1′ (using password: YES)’.

還是訪問被拒絕但已經有明顯的訪問方式為jirauser’@'127.0.0.1′ ,這個很奇怪,為什麼配置中用的是localhost卻用127.0.0.1來訪問,雖然邏輯上是一樣的,但mysql好像不能區分,所以又給127.0.0.1新增了一條許可權

解決:grant all privileges on jiradb.* to jirauser@’127.0.0.1′ identified by ‘mypassword’ with grant option;

最後看到日誌中出了

Database configuration OK

___ Database Configuration _______

Loading entityengine.xml from : file:/home/atlassian-jira-enterprise-3.13.4-standalone/atlassian-jira/WEB-INF/classes/entityengine.xml

Entity model data source name : defaultDS

Entity model field type name : mysql

Entity model schema name :

Database Version : MySQL - 5.0.51b-log

Database Driver : MySQL-AB JDBC Driver - mysql-connector-java-5.0.5 ( $Date: 2007-03-01 00:01:06 +0100 (Thu, 01 Mar 2007) $, $Revision: 6329 $ )

Database URL : jdbc:mysql://localhost:3306/jiradb?autoReconnect=true&useUnicode=true&characterEncoding=UTF8

Database JNDI address : java:comp/env/jdbc/JiraDS

說明成功了

四、JIRA介面配置

這個就不詳細說了,具體看官網資料

在/etc/profile尾新增

JAVA_HOME=/usr/local/jdk

CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar

PATH=$JAVA_HOME/bin:$PATH

export JAVA_HOME

export PATH

export CLASSPATH

還需要在終端中把上面新增的都執行一遍,不然你想重啟機器啊,呵呵。

檢視是否成功:

用java -version

java version “1.6.0_14″

Java(TM) SE Runtime Environment (build 1.6.0_14-b08)

Java HotSpot(TM) Server VM (build 14.0-b16, mixed mode)

也可以編寫個hello.java測試下 (略)

README中對WINDOWS關愛有加 有WINODWS的配置JDK的URL

第三步:配置MYSQL

下面的第3是開始啟動JIRA了,但我們的需求是安裝JIRA+MYSQL的,所以還需要配置MYSQL

如果不想麻煩建議就用作業系統自帶的MYSQL吧 (MYSQL配置自己查)

(以下的JIRA+MYSQL配置參考 官網資料http://confluence.atlassian.com/display/JIRA/Setting+up+JIRA+Standalone+and+MySQL+on+Linux)

slackware 12.1 和centos 5.2 MYSQL都是5.0的

JIRA的MYSQL配置

mysql

create database jiradb character set utf8;

grant all privileges on jiradb.* to jirauser@localhost identified by 'mypassword' with grant option;

flush privileges;

quit

測試是否成功 用jirauser使用者手動登陸試試

第四步:安裝MYSQL/J JDBC 驅動

作用就是讓JAVA可以通過JDBC連線MYSQL

下載:http://dev.mysql.com/downloads/connector/j/5.1.html

JDBC下載要跟你的MYSQL基本相同 mysql 5.0選擇5.0的驅動 依以類推

wget http://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.0.8.tar.gz/from/ftp://ftp.jaist.ac.jp/pub/mysql/

tar zxvf mysql-connector-java-5.0.8.tar.gz

cp mysql-connector-java-5.0.8/mysql-connector-java-5.0.8-bin.jar /home/jira/common/lib

第五步:修改JIRA配置

修改一、

vim /home/jira/conf/server.xml

修改成如下幾項

username="jirauser"

password="mypassword"

driverClassName="com.mysql.jdbc.Driver"

url="jdbc:mysql://localhost/jiradb? autoReconnect=true&useUnicode=true&characterEncoding=UTF8"

刪除以下兩行

minEvictableIdleTimeMillis="4000"

timeBetweenEvictionRunsMillis="5000"

修改二、

vim /home/jira/atlassian-jira/WEB_INF/classes/entityengine.xml

將其中的hsql改成mysql 資料庫型別

刪除 schema-name="PUBLIC"


相關文章