缺陷管理工具Jira安裝參考

 

1安裝簡介

1.1方案/流程簡介

須要依賴安裝數據庫,能夠是mysql,orace或sqlserver。以mysql爲例說明。java

 各模塊各階段安裝任務說明以下:node

安裝模塊python

說明mysql

jiraweb

項目與事務跟蹤工具,被普遍應用於缺陷跟蹤、客戶服務、需求收集、流程審批、任務跟蹤、項目跟蹤和敏捷管理等工做領域。sql

mysqldocker

開源的關係型數據庫數據庫

mysql的JDBC驅動apache

Java 鏈接 MySQL 須要驅動包。解壓後獲得jar庫文件,而後在對應的項目中導入該庫文件。bootstrap

 

參考指導:

http://blog.51cto.com/13505030/2059613

2安裝前準備

2.1  系統環境

OS版本號: CentOS Linux release 7.3.1611 (Core)

命令: cat /etc/redhat-release

 

2.2  軟件包&工具

安裝所需的軟件包以下:

軟件包

軟件包版本

獲取方式

jira

atlassian-jira-software-7.3.6.zip

https://www.atlassian.com/software/jira/download

mysql

5.7

https://dev.mysql.com/downloads/mysql/

mysql的JDBC驅動

mysql-connector-java-5.1.34_1

https://dev.mysql.com/downloads/connector/j/

JDK

1.8

-

 

3 安裝與配置(單機)

3.1安裝JDK

1. 檢查默認安裝狀況 

 java -version  

      系統默認帶的是openJDK,須要卸載後安裝。

 

2.檢測JDK安裝包

  rpm -qa | grep java  

avapackages-tools-3.4.1-6.el7_0.noarch
tzdata-java-2014i-1.el7.noarch
java-1.7.0-openjdk-headless-1.7.0.71-2.5.3.1.el7_0.x86_64
java-1.7.0-openjdk-1.7.0.71-2.5.3.1.el7_0.x86_64
python-javapackages-3.4.1-6.el7_0.noarch

3.卸載OpenJDK

  rpm -e --nodeps tzdata-java-2014i-1.el7.noarch  

   rpm -e --nodeps java-1.7.0-openjdk-headless-1.7.0.71-2.5.3.1.el7_0.x86_64  

  rpm -e --nodeps java-1.7.0-openjdk-1.7.0.71-2.5.3.1.el7_0.x86_64  

4.安裝新的Jdk1.8.0_31

        解壓縮tar.gz

  mkdir  -p /usr/lib/jvm   

  tar -zxvf jdk1.8.0_31.tar.gz -C  /usr/lib/jvm  

5.設置環境變量

   vi    /etc/profile  

         在文件最後添加:

  export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_31  

   export JRE_HOME=${JAVA_HOME}/jre  

  export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib  

  export  PATH=${JAVA_HOME}/bin:$PATH  

     若是隻是臨時的能夠在終端配置,不用到配置文件中配置,若是隻想某用戶能夠用,能夠只配置那個用戶的profile文件;


6.使profile生效

     source /etc/profile  

 

7.檢查新安裝的jdk

     java -version 

3.2安裝Jira

3.2.1 下載安裝包

注:若是已經獲取到安裝包,能夠直接跳過此步驟

3.2.2上傳安裝包

1)root用戶建立 文件夾:

  mkdir -p

2)將安裝包atlassian-jira-software-7.3.6.zip以root用戶上傳到目標目錄

3.2.3解壓安裝包

unzip atlassian-jira-software-7.3.6.zip

 

[root@host03 jira]# ls

atlassian-jira-software-7.3.6-standalone  atlassian-jira-software-7.3.6.zip

[root@host03 jira]# mv atlassian-jira-software-7.3.6-standalone/ jira

[root@host03 jira]# ls

atlassian-jira-software-7.3.6.zip  jira

3.3安裝數據庫(Mysql)

3.3.1下載安裝包

https://dev.mysql/com/downloads/mysql

 

 

注:此包是彙總包,下載此包便可

3.3.2上傳安裝包

1)root用戶建立 /usr/local/services/mysql文件夾,並上傳文件

 mkdir -p /usr/local/services/mysql

2) 解壓

tar -zxvf sql-5.7.19-1.el7.x86_64.rpm-bundle.tar

3.3.3 安裝Mysql

一、檢查環境是否默認安裝了mysql

 

如上圖,默認已經安裝了,須要先刪除

 

卸載系統自帶的mariadb-lib

 

 

 

不然會報以下錯誤,致使common安裝失敗。

 

二、 執行安裝

安裝順序:

     mysql-community-common-5.7.19-1.el7.x86_64.rpm
     mysql-community-libs-5.7.19-1.el7.x86_64.rpm             --(依賴於common
     mysql-community-client-5.7.19-1.el7.x86_64.rpm          --(依賴於libs
     mysql-community-server-5.7.19-1.el7.x86_64.rpm         --(依賴於client、common

 

 

3.3.4初始化數據庫

mysqld --initialize    

                  

 //新版的推薦此方法,執行生會在/var/log/mysqld.log生成隨機密碼

安裝完成後,會默認安裝在/var/lib/mysql下。 若是須要改安裝路徑,能夠mysql_install_db --datadir=/var/lib/mysql  

3.3.5更改所屬用戶及其所屬組

增長mysql用戶並修改默認密碼

groupadd mysql

useradd  -r -g mysql mysql

passwd mysql

 

增長以下目錄並賦權限:

chown mysql:mysql /var/lib/mysql –R

3.3.6啓動mysql

systemctl start mysqld.service

檢查狀態:

ps -ef |grep mysql

 

 

3.3.7初始化登陸密碼

新安裝的數據庫,須要配置初始登陸密碼:

/etc/my.cnf裏[mysqld]下添加skip-grant-tables=1,跳過權限,重啓服務

 

update mysql.user set authentication_string = password('我是密碼,請替換'), password_expired = 'N', password_last_changed = now() where user = 'root';

 

flush privileges;

再去my.cnf裏把剛纔添加的skip-grant-tables註釋掉,重啓服務
mysql -u root -p 再次進入 輸入剛纔設置的密碼

 

 

 

查看啓動端口

mysql> show global variables like 'port';

+---------------+-------+

| Variable_name | Value |

+---------------+-------+

| port          | 3306  |

+---------------+-------+

1 row in set (0.01 sec)

 

mysql>

3.3.8(可選)個性化配置

修改mysql數據庫,使支持表的大小寫

讓MYSQL不區分表名大小寫的方法其實很簡單:

1.用ROOT登陸,修改/etc/my.cnf

2.在[mysqld]下加入一行:lower_case_table_names=1

3.從新啓動數據庫便可

先kill掉進程,而後執行:systemctl start mysqld.service

 

3.3 Docker下安裝數據庫(可選)

3.3.1安裝Docker

3.3.1.1 安裝docker

能夠連外網狀況下,直接一個命令能夠安裝: yum install docker

[root@localhost dev]# yum install docker 

 

下載確認後出現完畢顯示,則安裝完畢。

 

 

 

3.3.1.2 查看docker版本

查看命令:docker -v

[root@localhost dev]# docker -v

Docker version 1.13.1, build 6e3bb8e/1.13.1

3.3.1.3 啓動docker

啓動命令:systemctl start docker

[root@localhost dev]# systemctl status docker

● docker.service - Docker Application Container Engine

   Loaded: loaded (/usr/lib/systemd/system/docker.service; disabled; vendor preset: disabled)

   Active: inactive (dead)

     Docs: http://docs.docker.com

 

[root@localhost dev]# systemctl start docker

 

[root@localhost dev]# systemctl status docker

● docker.service - Docker Application Container Engine

   Loaded: loaded (/usr/lib/systemd/system/docker.service; disabled; vendor preset: disabled)

   Active: active (running) since 日 2018-09-16 17:21:09 CST; 5s ago

     Docs: http://docs.docker.com

 Main PID: 3545 (dockerd-current)

   CGroup: /system.slice/docker.service

           ├─3545 /usr/bin/dockerd-current --add-runtime docker-runc=/usr/libexec/docker/docker-runc-current --default-runtime=docker-runc --exec-opt native.cgroupdriver=systemd --userlan...

           └─3561 /usr/bin/docker-containerd-current -l unix:///var/run/docker/libcontainerd/docker-containerd.sock --metrics-interval=0 --start-timeout 2m --state-dir /var/run/docker/lib...

 

3.3.1.4 配置開機啓動(可選)

[root@localhost dev]# systemctl enable docker

Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service.

3.3.2 Docker上安裝mysql

3.3.2.1拉取鏡像

命令:docker pull mysql:5.6.39

說明:後面的版本號視具體狀況而定(若是獲取最新版本,則不須要加版本號

 [root@localhost /]# docker pull mysql:5.7

Trying to pull repository docker.io/library/mysql ...

Get https://registry-1.docker.io/v2/library/mysql/manifests/5.7: Get https://auth.docker.io/token?scope=repository%3Alibrary%2Fmysql%3Apull&service=registry.docker.io: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)

[root@localhost /]# docker pull mysql:5.6.39

Trying to pull repository docker.io/library/mysql ...

5.6.39: Pulling from docker.io/library/mysql

2a72cbf407d6: Pull complete

38680a9b47a8: Pull complete

4c732aa0eb1b: Pull complete

c5317a34eddd: Pull complete

f92be680366c: Pull complete

6762c4c3eacc: Pull complete

7f9e7799488e: Pull complete

5bfede7d51ce: Pull complete

4d58e230ee6f: Pull complete

e83cf84d215b: Pull complete

9a02cf99f495: Pull complete

Digest: sha256:a85722079680fb21afc4ce5c7a2cb51fa6d9793efe1c6d3da0e94a2aa9fedac4

Status: Downloaded newer image for docker.io/mysql:5.6.39

3.3.2.2加載鏡像

命令:

docker run --name mysql_docker -e MYSQL_ROOT_PASSWORD=我是密碼,請替換 -p 3307:3306 -d mysql:5.6.39

命令說明:

--name mysql_docker 建立的容器名稱

-e MYSQL_ROOT_PASSWORD=root 使用做爲root帳號的密碼

-p 3307:3306 容器的3307端口映射到宿主機器

-d 後臺運行容器

mysql:5.6.39 鏡像名稱

[root@localhost /]# docker run --name mysql_docker -e MYSQL_ROOT_PASSWORD=我是密碼,請替換 -p 3307:3306 -d mysql:5.6.39

84eff7a2ee2d813bd92503349a06bb6377bad29ab6541876d04f7ee547b48f79

[root@localhost /]# docker ps -a

CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                          NAMES

84eff7a2ee2d        mysql:5.6.39        "docker-entrypoint..."   17 seconds ago      Up 16 seconds       0.0.0.0:3307->3306/tcp         mysql_docker

[root@localhost /]#

 

3.3.2.3驗證安裝

查看端口:

[root@localhost /]# netstat -anp |grep 3307

tcp6       0      0 :::3307                 :::*                    LISTEN      9866/docker-proxy-c

進入mysql:docker exec -it mysql_docker  bash

 

[root@localhost /]# docker exec -it mysql_docker  bash

root@84eff7a2ee2d:/# mysql -u root -p"我是密碼,請替換"

Warning: Using a password on the command line interface can be insecure.

Welcome to the MySQL monitor.  Commands end with ; or \g.

Your MySQL connection id is 1

Server version: 5.6.39 MySQL Community Server (GPL)

Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its

affiliates. Other names may be trademarks of their respective

owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

 

3.3建立數據庫用戶

[root@host03 bin]# mysql -u root -p

Enter password:

Welcome to the MySQL monitor.  Commands end with ; or \g.

Your MySQL connection id is 6

Server version: 5.7.18-log Source distribution

Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its

affiliates. Other names may be trademarks of their respective

owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

 

Docker 下進入數據庫(可選):

root@2221eee4b6e7:/# mysql -u root -p"我是密碼,請替換"

mysql: [Warning] Using a password on the command line interface can be insecure.

Welcome to the MySQL monitor.  Commands end with ; or \g.

Your MySQL connection id is 2

Server version: 5.7.24 MySQL Community Server (GPL)

Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its

affiliates. Other names may be trademarks of their respective

owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

3.3.1建立數據庫

mysql> create database jira default character set utf8 collate utf8_bin;

mysql> show databases;

+--------------------+

| Database           |

+--------------------+

| information_schema |

| jira               |

| mysql              |

| performance_schema |

| sys                |

+--------------------+

5 rows in set (0.00 sec)

mysql> exit

3.3.2 賦合適權限

mysql> use jira;

Database changed

mysql> grant all on jira.* to 'jira@%' identified by '我是密碼,請替換';

Query OK, 0 rows affected, 1 warning (0.01 sec)

mysql> flush privileges;

Query OK, 0 rows affected (0.01 sec)

 

4導入mysql的JDBC驅動

上傳mysql-connector-java-**-bin.jar包到安裝目錄下,如

/jira/atlassian-jira/WEB-INF/lib

5啓動Jira

5.1 個性化配置

1) 配置啓動目錄

vi /jira/atlassian-jira/WEB-INF/classes/jira-application.properties

 

jira.home = /data

 

[root@host03 jira]# pwd

 

[root@host03 jira]# mkdir data

 

2) 配置鏈接數據庫信息(可選):

vi /jira/atlassian-jira/WEB-INF/classes/database-defaults/mysql.properties

 

databaseUrl=jdbc:mysql://localhost:3307/jira?autoReconnect=true&characterEncoding=utf8&useUnicode=true&sessionVariables=default_storage_engine=InnoDB

userName=jira

password=我是密碼,請替換

poolSize= 20

 

3) 配置個性化端口(可選):

vi /jira/conf/server.xml

  <Service name="Catalina">

 

        <Connector port="8080"

 

5.2 啓動Jira

[root@host03 jira]# cd /jira/bin

[root@host03 bin]# ./start-jira.sh

 

To run JIRA in the foreground, start the server with start-jira.sh -fg

executing as current user

                .....

          .... .NMMMD.  ...

        .8MMM.  $MMN,..~MMMO.

        .?MMM.         .MMM?.

 

     OMMMMZ.           .,NMMMN~

     .IMMMMMM. .NMMMN. .MMMMMN,

       ,MMMMMM$..3MD..ZMMMMMM.

        =NMMMMMM,. .,MMMMMMD.

         .MMMMMMMM8MMMMMMM,

           .ONMMMMMMMMMMZ.

             ,NMMMMMMM8.

            .:,.$MMMMMMM

          .IMMMM..NMMMMMD.

         .8MMMMM:  :NMMMMN.

         .MMMMMM.   .MMMMM~.

         .MMMMMN    .MMMMM?.

 

      Atlassian JIRA

      Version : 7.3.6

                 

 

If you encounter issues starting or stopping JIRA, please see the Troubleshooting guide at http://confluence.atlassian.com/display/JIRA/Installation+Troubleshooting+Guide

 

 

Server startup logs are located in /jira/logs/catalina.out

Using CATALINA_BASE:   /jira

Using CATALINA_HOME:   /jira

Using CATALINA_TMPDIR: /jira/temp

Using JRE_HOME:        /usr/local/java/jre

Using CLASSPATH:       /jira/bin/bootstrap.jar:/jira/bin/tomcat-juli.jar

Using CATALINA_PID:    /jira/work/catalina.pid

Existing PID file found during start.

Removing/clearing stale PID file.

Tomcat started.

 

查看啓動日誌

[root@host03 logs]# tailf catalina.out

18-Jul-2018 05:31:39.463 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler [http-nio-8081]

18-Jul-2018 05:31:39.543 INFO [main] org.apache.tomcat.util.net.NioSelectorPool.getSharedSelector Using a shared selector for servlet write/read

18-Jul-2018 05:31:39.564 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in 67213 ms

 至此,jira啓動完成。!

6初始配置Jira

防火牆臨時開放端口

iptables -I INPUT -p tcp --dport 端口 -j ACCEPT

 

 訪問http://ip:端口

一步一步往下操做便可。

 

選2,我將設置它本身:

 

 

 

注: 次步驟後,會在數據庫中建立相應的表。

 

 

 

https://my.atlassian.com/license/evaluation 申請license

 

 

 

 

 

 

 

進入後,第一次登錄,修改管理員的帳號與密碼。並選擇中文語言。

 

 

 

 

Jira 破解

當前能夠看到受權日期是一個月

 

 

獲取破解包裏面的atlassian-extras-3.2.jar上傳到如下目錄覆蓋刷新,並重啓jira.

/jira/atlassian-jira/WEB-INF/lib

 

經過上圖,咱們能夠很明顯的看到jira咱們可使用到2033年。到此有關jira的安裝、破解就已經所有結束。

 

5 FAQ

5.1 啓動Jira過程報Address already in use

日誌以下:

[root@host03 logs]# tailf catalina.out

2018-07-18 05:20:36,002 localhost-startStop-1 ERROR      [c.a.j.web.dispatcher.JiraWebworkActionDispatcher]

   

    ******************************************

    JIRA startup failed, JIRA has been locked.

    ******************************************

   

18-Jul-2018 05:20:36.121 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler [http-nio-8080]

18-Jul-2018 05:20:36.133 SEVERE [main] org.apache.coyote.AbstractProtocol.start Failed to start end point associated with ProtocolHandler [http-nio-8080]

 java.net.BindException: Address already in use

     at sun.nio.ch.Net.bind0(Native Method)

     at sun.nio.ch.Net.bind(Net.java:433)

     at sun.nio.ch.Net.bind(Net.java:425)

     at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:223)

     at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:74)

     at org.apache.tomcat.util.net.NioEndpoint.bind(NioEndpoint.java:228)

     at org.apache.tomcat.util.net.AbstractEndpoint.start(AbstractEndpoint.java:874)

     at org.apache.coyote.AbstractProtocol.start(AbstractProtocol.java:590)

     at org.apache.catalina.connector.Connector.startInternal(Connector.java:969)

     at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)

     at org.apache.catalina.core.StandardService.startInternal(StandardService.java:440)

     at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)

     at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:791)

     at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)

     at org.apache.catalina.startup.Catalina.start(Catalina.java:655)

     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

     at java.lang.reflect.Method.invoke(Method.java:498)

     at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:355)

     at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:495)

 

18-Jul-2018 05:20:36.135 SEVERE [main] org.apache.catalina.core.StandardService.startInternal Failed to start connector [Connector[HTTP/1.1-8080]]

 org.apache.catalina.LifecycleException: Failed to start component [Connector[HTTP/1.1-8080]]

     at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:167)

     at org.apache.catalina.core.StandardService.startInternal(StandardService.java:440)

     at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)

     at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:791)

     at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)

     at org.apache.catalina.startup.Catalina.start(Catalina.java:655)

     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

     at java.lang.reflect.Method.invoke(Method.java:498)

     at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:355)

     at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:495)

Caused by: org.apache.catalina.LifecycleException: service.getName(): "Catalina";  Protocol handler start failed

     at org.apache.catalina.connector.Connector.startInternal(Connector.java:976)

     at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)

     ... 11 more

Caused by: java.net.BindException: Address already in use

 

解決辦法:

修改個性端口

vi /jira/conf/server.xml

  <Service name="Catalina">

 

        <Connector port="8081"

 

5.2 root 用戶登陸,報帳號或密碼錯誤Sorry, we had some technical problems during your last operation.

須要重置root密碼。 密碼是存放在這個表中:

select * from cwd_user ;

 

重置root密碼步驟:

  1. 先用一個普通用戶(沒有的話,在前臺註冊一個就能夠登陸);
  2. 而後把該用戶設置爲管理員角色

設置辦法: 登陸數據庫,找到這個表添加一條記錄

SELECT child_name, directory_id FROM cwd_membership WHERE parent_name='jira-administrators';

  1. 使用新的管理員帳號進入重置密碼

 

5.3.Jira導出的csv格式問題列表顯示亂碼問題

問題現象: 在JIRA-問題-全部問題 右上角的 導出 按鈕,導出的問題,顯示亂碼。以下圖所示:

 

解決辦法:導出的csv格式文件,先用文本編輯器打開,而後另存爲一份csv格式,編碼選ANSI。 再用Excel打開,便可顯示正常.

相關文章
相關標籤/搜索