JIRA安装
一、 了解JIRA
JIRA 是目前比较流行的基于Java架构的管理系统 ,是集项目计划、任务分配、需求管理、错误跟踪于一体的商业软件,功能全面,界面友好,安装简单,配置灵活,权限管理以及可扩展性方面都十分出色。
因为是基于JAVA的所以需要JAVA环境,因为是商业软件所以会要有license key 。
二、 具体安装过程
1、基础环境(以自己实践的环境为例)
操作系统: Linux (具体用过的RHEL 5.4)
2、思考过程
正确的思考方式:
A、直接下载JIRA程序,安装方法查看解压包中的README.txt或者有些软件包还有一个INSTALL
B、以JIRA的官方安装方法为基准 再参考google搜索出来的其他文章。
C、遇到具体再具体分析。
3、下载JIRA
JIRA 官网:http://www.atlassian.com/software/jira/
4、根据README.txt安装
——————-
第1步. 安装JDK环境 ,配置java的环境变量
chmod +x jdk-6u14-linux-i586.bin
./jdk-6u14-linux-i586.bin
mv jdk1.6.0_14 /usr/local/jdk
在/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
也可以编写个hello.java测试下
第2步:安装tomcat
1. 下载apache-tomcat-7.0.2.tar.gz
2. #tar -zxvfapache-tomcat-7.0.2.tar.gz;//解压
3. 配置环境变量 /etc/profile
CATALINA_HOME=/usr/local/apache-tomcat-7.0.2
export CATALINA_HOME
4. ./tomcat/bin/startup.sh; //启动tomcat
显示 UsingCATALINA_BASE:
Using CATALINA_HOME:
Using CATALINA_TEMDIR:
Using JAVA_HOME:
到这里说明Tomcat已经安装好了,也启动成功了,可以输入http://localhost:8080查看
注意:防火墙对于8080的端口是否开放 iptables
8080端口是否被占用,修改conf/server.xml文件
Ps –ef |grep tomcat 查看进程
第3步:配置MYSQL
创建数据库: create database jiradb characterset utf8;
创建用户权限
grant all privileges on jiradb.* to jirauser@localhost identified by'mypassword' with grant option;
flush privileges;
第4步:安装MYSQL/JJDBC 驱动
作用就是让JAVA可以通过JDBC连接MYSQL
将mysql-connector-java-xxx-bin.jar的文件,放入tomcat/lib,或者放入在jira的lib文件下
第5步:安装jira
1、创建Jira运行时使用的目录 mkdir /var/jira_home
2、去Atlanssian官网下载jira,地址: http://www.atlassian.com/download/ ,注意下载的时候不要选择"Standalone"版本,去下载war包格式的,atlassian-jira-4.3.4-war
3、解压到某目录,进入Jira的目录并且给build.sh加上执行权限,运行之后会自动生成一个war包,位置在dist-tomcat/tomcat-6/atlassian-jira-4.3.4.war
4、我们需要拷贝这个war包到tomcat下的webapps目录($CATALINA_HOME/webapps)
5、启动tomcat让其解压后,再停掉Tomcat,把webapps下解压出来的目录拷贝到/home/http/jira-4.3.2(该步骤只是习惯,也可以不用移出来),并且删除掉
6、修改A:vi /home/jira/conf/context.xml
修改成如下几项
password="jira" 数据库密码
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost/jiradb?autoReconnect=true&useUnicode=true&characterEncoding=UTF8" jiradb是数据库名称
maxActive="20"
validationQuery="select 1"/>
修改B、
vim /home/jira/atlassian-jira/WEB_INF/classes/entityengine.xml
将其中的hsql改成mysql 数据库类型
第6步:破解
在参照了网友的文档后,本人选择了使用iNViSiBLE的破解以及keygen程序,具体文档可见: http://tonyty163.blog.51cto.com/721698/463101
iNViSiBLE程序下载:/Files/helloLinux/iNViSiBLE.zip ,请注意该程序需要系统配置了jdk才可以运行,windows用户请运行.bat,linux用户运行.sh脚本。
该程序给/home/http/jira/atlassian-jira/WEB-INF/lib/atlassian-extras-2.2.2.jar 打上了补丁,并且重新覆盖该文件即可。这里本人不再累述该过程。
第7步:运行JIRA服务
*uix使用JIRA根目录下的bin/starup.shwindows用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 日志 但只能得到两个错误
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
wgethttp://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 exceptionchecking for database driver correctness. Skipping
2009-07-14 17:12:57,743 main ERROR [core.entity.jdbc.DatabaseUtil] Unable toesablish a connection with the database… Errorwas: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 createPoolableConnectionFactory (Server connection failure during transaction. Due tounderlying 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 duringtransaction. Due to underlying exception: ‘java.sql.SQLException: Access deniedfor 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.* tojirauser@’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