基於Docker破解安裝Jira

操做系統爲Ubuntu 16, 整體來講Jira的安裝步驟爲:html

  1. 安裝數據庫,新建數據庫(本爲爲mysql5.7)
  2. 安裝Jira.(本文環境爲7.12.1)
  3. 去官網獲取試用碼。
  4. 破解Jira。(替換jar)
  5. 配置Nginx

1.安裝數據庫,新建數據庫

Mysql的官網Docker地址爲:hub.docker.com/r/cytopia/m…mysql

  1. 拉取指定版本的Mysql鏡像:
docker pull mysql:5.7
複製代碼
  1. 啓動mysql,並指定數據存儲地址
docker run  -v /home/mysql/data:/var/lib/mysql  -e MYSQL_ROOT_PASSWORD=my-secret-pw -p 3306:3306 mysql
複製代碼
  1. 新建數據庫nginx

    1. 安裝mysql-client:
    apt-get install mysql-client-5.7
    複製代碼
    1. 使用mysql-client鏈接容器中mysql服務端。
    mysql -uroot -hlocalhost -p
    複製代碼

    注意此時的localhost可能不能使用,須要使用本地ip地址(10.2.16.4);密碼爲第2步指定的MYSQL_ROOT_PASSWORD。git

    1. 建立Jira存儲數據使用的數據庫(名字自由指定,個人爲jira) 建立數據庫的命令是:
    create database jira default charset utf8 COLLATE utf8_general_ci;
    複製代碼

    刪除數據庫的命令是:github

    DROP DATABASE IF EXISTS jira;
    複製代碼

2.安裝Jira

Jira的Docker地址爲:hub.docker.com/r/cptaction…web

  1. 拉取Stars最高的jira(當前最新版本爲7.12.1)鏡像:docker pull cptactionhank/atlassian-jira
  2. 運行Jira.我在此耽誤了很多時間,忠告各位:若是在使用Nginx的狀況下,必定要指定Jira鏡像的參數(X_PROXY_NAME爲外網ip或者域名,X_PROXY_PORT外網端口號,X_PROXY_SCHEME外網http或https,X_PATH默認該服務的運行在/下)
docker run --detach --publish 8081:8080 -e X_PATH=/jira -e X_PROXY_NAME=39.xx.94.xxx -e X_PROXY_PORT=80 -e X_PROXY_SCHEM=http cptactionhank/atlassian-jira:latest
複製代碼

此時瀏覽器打開http://ip:port/jira能夠看到設置界面。sql

3.設置Jira,官網獲取試用碼激活Jira

瀏覽器打開http://ip:port/jira,第一次進入系統須要設置數據庫連接信息和激活碼。docker

  1. 填寫數據庫鏈接信息,數據庫地址不能使用localhost,須要填寫外網ip或者內網ip.
  2. Jira獲取試用碼的地址爲:my.atlassian.com/products/in…(自行備梯)註冊帳號填寫組織信息後,點擊「New Evaluation Lisence」獲取爲期一個月的試用碼。(目的是:拿到試用碼才能進入系統,而後破解爲永久使用)。
    破解Jar下載地址:pan.baidu.com/s/1qbRw5njQ…

4.破解Jira

  1. 查看Jira容器的id。
docker ps 
複製代碼
  1. 替換破解的jar。
docker cp /home/atlassian-extras-3.2.jar a64:/opt/atlassian/jira/atlassian-jira/WEB-INF/lib/ 
複製代碼

第2步中 atlassian-extras能夠自行查詢後修改成目標版本。查詢命令是:數據庫

docker exec -it a64 /bin/sh
cd /opt/atlassian/jira/atlassian-jira/WEB-INF/lib/
ls
複製代碼

便可查看到atlassian-extras的版本。api

5.配置Nginx

Nginx的Docker地址爲:hub.docker.com/_/nginx/

  1. 運行
Docker:docker run --name=nginx -p 80:80 -v /home/web/nginx/www:/usr/share/nginx/html -v /home/web/nginx/conf:/etc/nginx/conf.d  -v /home/web/nginx/logs:/var/log/nginx -d nginx
複製代碼
1. /home/web/nginx/www:爲靜態文件存放地址
2. /home/web/nginx/conf下存放配置文件配置,配置文件的規則爲:*.conf.
3. /home/web/nginx/logs爲nginx日誌;
複製代碼

福利模板Nginx:default.conf

server {
    listen       80  default_server;
  
    #charset koi8-r;
    #access_log /var/log/nginx/host.access.log main;

    location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm;
    }

    location /api/ {
      proxy_pass   http://172.17.5.4:8080/; 
    }

    #參考地址https://github.com/cptactionhank/docker-atlassian-jira/blob/master/.docker/nginx/nginx.conf
    location /jira/ {
 	proxy_set_header X-Forwarded-Host $host;
        proxy_set_header X-Forwarded-Server $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        client_max_body_size 100M;
        proxy_pass   http://172.17.5.4:8081/jira/; 
    }

    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }
}
複製代碼

在Nginx下代理Jira若是配置不當有不少404.403錯誤。可經過從新進行《安裝Jira》中設置X_PROXY_NAME,X_PROXY_PORT,X_PROXY_SCHEME,X_PATH解決。

相關文章
相關標籤/搜索