須要依賴安裝數據庫,能夠是mysql,orace或sqlserver。以mysql爲例說明。java
各模塊各階段安裝任務說明以下:node
安裝模塊python |
說明mysql |
jiraweb |
項目與事務跟蹤工具,被普遍應用於缺陷跟蹤、客戶服務、需求收集、流程審批、任務跟蹤、項目跟蹤和敏捷管理等工做領域。sql |
mysqldocker |
開源的關係型數據庫數據庫 |
mysql的JDBC驅動apache |
Java 鏈接 MySQL 須要驅動包。解壓後獲得jar庫文件,而後在對應的項目中導入該庫文件。bootstrap |
參考指導:
http://blog.51cto.com/13505030/2059613
OS版本號: CentOS Linux release 7.3.1611 (Core)
命令: cat /etc/redhat-release
安裝所需的軟件包以下:
軟件包 |
軟件包版本 |
獲取方式 |
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 |
- |
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
注:若是已經獲取到安裝包,能夠直接跳過此步驟
1)root用戶建立 文件夾:
mkdir -p
2)將安裝包atlassian-jira-software-7.3.6.zip以root用戶上傳到目標目錄
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
https://dev.mysql/com/downloads/mysql
注:此包是彙總包,下載此包便可
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
一、檢查環境是否默認安裝了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)
mysqld --initialize
//新版的推薦此方法,執行生會在/var/log/mysqld.log生成隨機密碼
安裝完成後,會默認安裝在/var/lib/mysql下。 若是須要改安裝路徑,能夠mysql_install_db --datadir=/var/lib/mysql
增長mysql用戶並修改默認密碼
groupadd mysql
useradd -r -g mysql mysql
passwd mysql
增長以下目錄並賦權限:
chown mysql:mysql /var/lib/mysql –R
systemctl start mysqld.service
檢查狀態:
ps -ef |grep mysql
新安裝的數據庫,須要配置初始登陸密碼:
/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>
修改mysql數據庫,使支持表的大小寫
讓MYSQL不區分表名大小寫的方法其實很簡單:
1.用ROOT登陸,修改/etc/my.cnf
2.在[mysqld]下加入一行:lower_case_table_names=1
3.從新啓動數據庫便可
先kill掉進程,而後執行:systemctl start mysqld.service
能夠連外網狀況下,直接一個命令能夠安裝: yum install docker
[root@localhost dev]# yum install docker
下載確認後出現完畢顯示,則安裝完畢。
查看命令:docker -v
[root@localhost dev]# docker -v
Docker version 1.13.1, build 6e3bb8e/1.13.1
啓動命令: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...
[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.
命令: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
命令:
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 /]#
查看端口:
[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>
[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>
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
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)
上傳mysql-connector-java-**-bin.jar包到安裝目錄下,如
/jira/atlassian-jira/WEB-INF/lib
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"
[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啓動完成。!
防火牆臨時開放端口
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的安裝、破解就已經所有結束。
日誌以下:
[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"
須要重置root密碼。 密碼是存放在這個表中:
select * from cwd_user ;
重置root密碼步驟:
設置辦法: 登陸數據庫,找到這個表添加一條記錄
SELECT child_name, directory_id FROM cwd_membership WHERE parent_name='jira-administrators';
問題現象: 在JIRA-問題-全部問題 右上角的 導出 按鈕,導出的問題,顯示亂碼。以下圖所示:
解決辦法:導出的csv格式文件,先用文本編輯器打開,而後另存爲一份csv格式,編碼選ANSI。 再用Excel打開,便可顯示正常.