分类: LINUX
2010-01-06 10:46:19
一、安装
1、因为jira运行在java环境下的,所以我们需要jdk的安装。jira是一个很好的错误跟踪软件,而confluence是一个java的wiki软件。
所需要的程序:
a、mysql 最好的5.0以上的版本
b、mysql驱动,我这里用的是mysql-connector-java-5.0.3-bin.jar
c、jdk最好1.4以上,我用的是jdk-1.6.0_12
d、官方下载jira3.13.5.Enterprise - Standalone(linux)
e、破解工程附件 alassian-extras-1.17.jar
f、破解工程文件keygen.jar
g、官方下载confluence-3.0.2-std.tar.gz
h、confluence汉化包confluence-zh_CN-plugin-2.8.0.jar
1) 安装jdk
下载地址:
注意:在安装新的jdk前l要看系统是否有自带的jdk程序,如果有必须删除。操作方法:rpm -qa | grep java
如果出现java的安装软件,那要删除,操作方法:rpm -e 上面所列出的文件名称。这样就直接删除了系统中自带的jdk了。
然后在安装jdk,这里以 JDK1.6位例来做,比如我们文件放置在/backup/soft下。
我们进入/backup/soft下,#cd /backup/soft
#chown +x jdk-1_6_0_12-linux-i586 增加它的可执行权限
#./jdk-1_6_0_12-linux-i586 一路按空格键,当出现yes or no时,输入yes然后回车。
Jdk就安装完成了,接下来我们设置环境变量
#vi /etc/profile
在文件最后添加
#-----------------------------jdk start--------------------
JAVA_HOME=/usr/local/jdk1.6.0_12
JRE_HOME=/usr/local/jdk1.6.0_12/jre
CLASSPATH=$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
PATH=$PATH:/usr/local/jdk1.6.0_12/bin
export JAVA_HOME JRE_HOME CLASSPATH PATH
#-------------------------------jdk end--------------------
保存退出
#source /etc/profile 使设置的环境变量能够立时生效
#java -version 如果出现如内容,表示安装成功,否则从第一步看是检查
[root@localhost /]# java -version
java version "1.6.0_12"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.6.0_12-b03)
Java HotSpot(TM) Client VM (build 1.6.0_12-b03, mixed mode, sharing)
至此我们的jdk服务就已经安装完毕。
2、安装mysql
下载地址:l.com
cd /usr/local/
tar -zvxf mysql-max-5.0.27-linux-i686-glibc23.tar.gz
mkdir -p /usr/local/mysql (省略也可)
cp -r mysql-max-5.0.27-linux-i686-glibc23.tar.gz /usr/local/mysql
cp /usr/local/mysql /support-files/my-medium.cnf /etc/my.cnf
添加mysql用户及用户组
groupadd mysql
useradd -g mysql mysql
修改mysql目录权限
chown -R root /usr/local/mysql
chgrp -R mysql /usr/local/mysql
chown -R mysql /usr/local/mysql /data
生成mysql系统数据库
/usr/local/mysql /mysql/scripts/mysql_install_db --user=mysql&
启动mysql服务
# /export1/server/mysql/bin/mysqld_safe --user=mysql&
修改 mysql 的 root 密码
# /export1/server/mysql/bin/mysqladmin -u root password "123456"
OK这样就更改完成,不过mysql安装完成后有一个匿名用户,这个用户是不用密码就能登陆的。我们首先要删除这个匿名用户。
# /export1/server/mysql/bin/mysql -u root -p
password:123456
进入后我们重新加载授权表。
mysql>flush privileges;
返回如下信息表示成功:Query ok, 0 row affected (0.00 sec)
删除匿名用户.
Mysql>use mysql;
Mysql>DELETE from user WHERE user=’ ‘;
返回如下信息:Query OK, 2 rows affected (0.00 sec)表示成功。
然后重新启动mysql。这样匿名用户就不能登陆mysql服务器了。
添加用户权限:
使用GRANT语句添加一个可以从本地主机连接到mysql服务器的
超级用户root,但是连接必须使用口令123456
mysql>GRANT ALL ON *.* TO root@localhost
->WITH GRANT OPTION;
返回信息Query ok, 0 row affected (0.002 sec)表明设置成功
使用同样的方法添加一个可以从其他任何地方连接到mysql服务器
超级用户root,但是连接时必须使用口令123456
mysql>GRANT ALL ON *.* TO ’root@%
->WITH GRANT OPTION
退出客户端程序mysql.然后使用新用户root重新连接服务器。
4、安装jira并破解
下载地址
我这里使用3系列最新的版本3.13.5
这里要用到Eclipse,记住不能用myeclipse,有些选项是不一样的,但是可以在Eclipse的基础上扩展安装myeclipse。
打开Eclipse, 新建一个java project的工程--->命名为projira---->右键点击prjira----->Build Path--->Add Extenal Archive---->弹出对话框找出保存路径,把atlassian-extras-1.17.jar,引入到工程中---->右键点击src文件夹---->Import---->
Other---->Remote file system点击next ---->Browse--->Drives找到keygen.java,---->点击finish引入到工程中。
然后依次展开src树选中的keygen.java--->点击run运行---->在console中可以看到如下结果:
Keygen for JIRA Enterprise Edition.
created by mydaj[ROR].
Enter your organization name: fg #这里输入组织名称。
267^^1256115625687^^1256115625687^^fg
Your license key is:
pOmrWnpowCPjLDActpImgvhvmpmcqnBekhxVnJPoViNOUw
mj2KtjNrK6j2ErB1hdu6xDdm2L09Uly4ri5B4L4pFSKrUTM
mmpVTQqoQMOOpMnqnNUWqopnQoPrMPQoOswsVostUUnopvu
tsupumvqUUnopvutsupumvqUUcd
以上就是我们所需要的破解jira的key文件,然后把它保存起来,这个破解文件我们之后是要用的。
具体atlassian-extras-1.17.jar文件可以自己去网站找着下载
然后就是keygen.java文件
import com.atlassian.license.LicensePair;
import java.io.*;
import java.security.KeyFactory;
import java.security.Signature;
import java.security.spec.PKCS8EncodedKeySpec;
public class keygen
{
public keygen()
{
}
public static void main(String args[])
throws IOException
{
try
{
long l = 267L;
long l1 = System.currentTimeMillis();
long l2 = System.currentTimeMillis();
String s = "";
System.out.println("Keygen for JIRA Enterprise Edition.");
System.out.print("created by mydaj[ROR].");
do
{
System.out.print("\nEnter your organization name: ");
for(int i = System.in.read(); i != 10 && i != 13; i = System.in.read())
s = s + (char)i;
} while(s == "");
try
{
PKCS8EncodedKeySpec pkcs8encodedkeyspec = new PKCS8EncodedKeySpec(EncodedPrvKey);
KeyFactory keyfactory = KeyFactory.getInstance("DSA", "SUN");
java.security.PrivateKey privatekey = keyfactory.generatePrivate(pkcs8encodedkeyspec);
String s1 = Long.toString(l, 10);
s1 = s1 + "^^";
s1 = s1 + Long.toString(l1, 10);
s1 = s1 + "^^";
s1 = s1 + Long.toString(l2, 10);
s1 = s1 + "^^";
s1 = s1 + s;
byte abyte0[] = s1.getBytes();
Signature signature = Signature.getInstance("SHA1withDSA");
signature.initSign(privatekey);
signature.update(abyte0);
byte abyte1[] = signature.sign();
LicensePair licensepair = null;
try
{
licensepair = new LicensePair(abyte0, abyte1);
}
catch(Exception exception1)
{
exception1.printStackTrace();
}
System.out.println(s1);
System.out.println("Your license key is: ");
System.out.println(licensepair.toString());
}
catch(Exception exception)
{
exception.printStackTrace();
}
}
catch(IOException ioexception) { }
}
static byte EncodedPrvKey[] = {
48, -126, 1, 75, 2, 1, 0, 48, -126, 1,
44, 6, 7, 42, -122, 72, -50, 56, 4, 1,
48, -126, 1, 31, 2, -127, -127, 0, -3, 127,
83, -127, 29, 117, 18, 41, 82, -33, 74, -100,
46, -20, -28, -25, -10, 17, -73, 82, 60, -17,
68, 0, -61, 30, 63, -128, -74, 81, 38, 105,
69, 93, 64, 34, 81, -5, 89, 61, -115, 88,
-6, -65, -59, -11, -70, 48, -10, -53, -101, 85,
108, -41, -127, 59, -128, 29, 52, 111, -14, 102,
96, -73, 107, -103, 80, -91, -92, -97, -97, -24,
4, 123, 16, 34, -62, 79, -69, -87, -41, -2,
-73, -58, 27, -8, 59, 87, -25, -58, -88, -90,
21, 15, 4, -5, -125, -10, -45, -59, 30, -61,
2, 53, 84, 19, 90, 22, -111, 50, -10, 117,
-13, -82, 43, 97, -41, 42, -17, -14, 34, 3,
25, -99, -47, 72, 1, -57, 2, 21, 0, -105,
96, 80, -113, 21, 35, 11, -52, -78, -110, -71,
-126, -94, -21, -124, 11, -16, 88, 28, -11, 2,
-127, -127, 0, -9, -31, -96, -123, -42, -101, 61,
-34, -53, -68, -85, 92, 54, -72, 87, -71, 121,
-108, -81, -69, -6, 58, -22, -126, -7, 87, 76,
11, 61, 7, -126, 103, 81, 89, 87, -114, -70,
-44, 89, 79, -26, 113, 7, 16, -127, -128, -76,
73, 22, 113, 35, -24, 76, 40, 22, 19, -73,
-49, 9, 50, -116, -56, -90, -31, 60, 22, 122,
-117, 84, 124, -115, 40, -32, -93, -82, 30, 43,
-77, -90, 117, -111, 110, -93, 127, 11, -6, 33,
53, 98, -15, -5, 98, 122, 1, 36, 59, -52,
-92, -15, -66, -88, 81, -112, -119, -88, -125, -33,
-31, 90, -27, -97, 6, -110, -117, 102, 94, -128,
123, 85, 37, 100, 1, 76, 59, -2, -49, 73,
42, 4, 22, 2, 20, 42, 50, -88, 30, 125,
-37, 118, -50, 20, -82, -63, 0, 8, -36, 106,
-9, -110, 124, 107, 68
};
}
把以上的内容保存为keygen.java。
解压缩jira的包
tar -zvxf atlassian-jira-enterprise-3.13.5-standalone.tar.gz
mv altssian-jira-enterprise-3.13.5 /usr/local/jira
新版本的jira都已经集成了tomcat,所以一般我们直接去bin目录中启动就可以了。我们先修改mysql的连接文件。
因为我们使用的是mysql5,所以我们要使用mysql的驱动mysql-connector-java-5.0.3-bin.jar 放到/usr/local/jira/common/lib,一般的文档都说放到这里,但是后来发现应该放到/usr/local/jira/server/lib下.
打开 jira目录\atlassian-jira\WEB-INF\classes\entityengine.xml ,将 field-type-name=“hsql” 改成 field-type-name= “mysql” ;
同时要删除这一行下面的一行 schema-name=”PUBLIC”
把这行
然后打开/usr/local/jira/conf/server.xml
这大段修改为:
username="root"
password="密码"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost/jiradb?autoReconnect=true&useUnicode=true&characterEncoding=UTF8&mysqlEncoding=utf8"
minEvictableIdleTimeMillis="4000"
timeBetweenEvictionRunsMillis="5000"
maxActive="20" />
如果是mysql5.0 拿去数据源驱动名称要修改为org.gjt.mm.mysql.Driver,这个数据库的路径是我这个包所打的路径。
然后进入mysql中创建jiradb数据库
/usr/local/mysql/bin/mysql -uroot -p
输入密码,进入mysql,创建数据库。
create database jiradb;
然后运行jira
cd /usr/local/jira/bin
./catalina.sh run #我启动的是调试模式,看可以查看运行的状态。
#关于jira汉化的问题,到了3.10以后,已经加入了汉化包,已经可以不用再去汉化了,如果安装完成后,点击中文的语言环境,环视乱码的问题,这个是数据库出现的问题。具体修改方法如下:
打开数据库,我这里用的phpmyadmin,在jira的数据库中查找propertystring这个表,展开后看到字段propertyvalue,修改里面的BIG5,修改成UTF-8,这样就没有乱码了。这个问题是JIRA的MVC框架是用WebWork做的,所以就感觉这个应该是WebWork国际化用的变量。最好这个操作在没有认证之前来进行操作。
3、安装confluence
下载地址:
我使用的是最新版本,3.0.2版本。
解压到jira目录下,把文件放到/usr/local/jira/confluence
#建议在安装之前先看一下文档,
有我们所需要的内容。
编辑confluence/WEB-INF/classes下的confluence-init.properties文件,指定你的Confluence目录,修改部分代码如下:
# specify your directory below (don't forget to remove the '#' in front)
# confluence.home=c:/confluence/date
修改为:
# specify your directory below (don't forget to remove the '#' in front)
confluence.home=/usr/local/confluenct/data
#在usr/local/confluenct/下,没有data这个文件,要手动创建。
和jira做结合
在jira的conf/Catalina/localhost目录下创建名为confluence.xml的文件,文件内部代码如下:
将confluence-zh_CN-plugin-2.8.0.jar拷贝到confluence/WEB-INF/lib目录下,我们主要做汉化。
使用confluence破解,下载keygen.class,这个是confluence的破解key,我是在win下做的破解,运行--》cmd--->给出java的存放路径 java keygen (这个应该在linux下也可以操作)
运行结果出来以后根据提示随便输入一个用户名---》回车
Your license key is:(下面就是注册码了)
pOmrWnpowCPjLDActpImgvhvmpmcqnBekhxVnJPoViNOUwG
mj2KtjNrK6j2ErB1hdu6xDdm2L09Uly4ri5B4L4pFSKrUTM
mmpVTQqoQMOOpMnqnNUWqopnQoPrMPQoOswsVostUUnopvu
tsupumvqUUnopvutsupumvqUUcd
在/usr/local/confluence/confluence/WEB-INF/classes/com/atlassian/confluence的目录下创建,page文件夹,然后将解压出来的page.key文件copy到这个文件下。
重新启动jira服务,在原jira地址后加confluence即可进入Confluence配置界面。
二、testlink和jira整合
1、testlink安装
直接下载testlink文件。
我们下载最新版的1.8.版本4
上传到服务器,看是解压,安装,配置
Tar -zvxf testlink_1.8.4.tar.bz2
mv testlink_1.8.4 /usr/local/apahce/htdocs/testlink
在浏览器里打开页面<
1) 直接在页面点击“New Installtion”
2) 在打开的页面中设置mysql数据库和testlink数据库的访问权限设置;
Database Type Mysql
Database host localhost
//配置访问Mysql的地址;
Database login testlink
Database password 111111
//配置访问mysql的访问权限;
TestLink DB login testlink
TestLink DB password 111111
//配置访问testlink的数据库权限;
3) 点击“同意许可协议”,继续
4) 这里会有一个错误,不能创建文件,所以我们要给testlink可写入的权限。
Chmod -R 777 testlink/
安装完成,点击最后一行的(Please Click Me!)
5) 在testlink第一次安装成功后,默认管理员帐号为admin, 密码admin,可以登录。
6) 目前程序使用的是英文,我们把它改为中文。修改config.inc.php文件
找到$g_default_language = ‘en_GB’;
$g_default_language = ‘zh_CN’;
7)但是有一点,对于admini的用户我们需要在用admin用户登录后修改,点击:个人帐号
然后在里面设置语言为Chinese Simplified,然后把上面的文件都修改。
改config.inc.php最下面,解决日期乱码问题。
$g_locales_timestamp_format = arrry (
‘zh_CN’ => “%Y-%m-%d %H:%M:%S”,
);
2、整合
打开文件,jira.cfg.php
vi /usr/local/apache/htdocs/testlink/cfg/jira.cfg.php
* 20051229 - scs - added DEFINE for the DB-Type
*/
// Contributed by jbarchibald@gmail.com
//Set the bug tracking system Interface to JIRA 3.1.1
/** The DB host to use when connecting to the JIRA db */
define('BUG_TRACK_DB_HOST', 'localhost'); #修改为jira所在机器(ip)
/** The name of the database that contains the jira tables */
define('BUG_TRACK_DB_NAME', 'jiradb'); #指定jira的数据库名称
/** The DB type to use for connecting to the bugtracking db */
define('BUG_TRACK_DB_TYPE', 'mysql'); #指定连接的数据库的类型
/** The DB type being used by jira */
define('BUG_TRACK_DB_USER', 'root'); #指定数据库的用户名
/** The DB password to use for connecting to the jira db */
define('BUG_TRACK_DB_PASS', '123456'); #指定数据库的密码
define('BUG_TRACK_DB_CHARSET',"windows-1250");
// define('BUG_TRACK_DB_CHARSET',"gb2312");
// define('BUG_TRACK_DB_CHARSET',"UTF-8"); #指定默认的字符集,我们jira里使用的是UTF-8,和jira保持相同。
/** link of the web server for jira */
// define('BUG_TRACK_HREF', "http://localhost:8080/secure/Dashboard.jspa");
define('BUG_TRACK_HREF', ""); #指定访问jira的网址
打开文件config.inc.php
vi /usr/local/apache/htdocs/testlink/config.inc.php
// ----------------------------------------------------------------------------
/** [Bug Tracking systems] */
/**
* TestLink uses bugtracking systems to check if displayed bugs resolved, verified,
* and closed bugs. If they are it will strike through them
*
* @var STRING TL_INTERFACE_BUGS = ['NO', 'BUGZILLA', 'MANTIS', 'JIRA', 'EVENTUM']
* NO : no bug tracking system integration
* BUGZILLA : edit configuration in TL_ABS_PATH/cfg/bugzilla.cfg.php
* MANTIS : edit configuration in TL_ABS_PATH/cfg/mantis.cfg.php
* JIRA : edit configuration in TL_ABS_PATH/cfg/jira.cfg.php
* TRACKPLUS : edit configuration in TL_ABS_PATH/cfg/trackplus.cfg.php
* EVENTUM : edit configuration in TL_ABS_PATH/cfg/eventum.cfg.php
*/
$g_interface_bugs='NO'; #把这里修改为JIRA,如果和mantis结合就写mantis.
// ----------------------------------------------------------------------------
到这里就完全结合完毕。如图:
在TestLink上执行测试用例Failed的界面
2.整合后,在TestLink上执行测试用例Failed的界面
可以明显看出来多了一个 BUG management,点下面的小蜘蛛,会打开一个新的页面
通过 Access to Bug Tracking System (Mantis) 这个链接打开Mantis,进行bug登记,登记完毕,记下此时的bug号,填写进Mantis Bug id里,点 Add bug 按钮,整个过程完成,最终会在TestLink里显示出Mantis登记的bug信息。