Atlassian軟件安裝(Crowd+JIRA+Confluence+Bitbucket+Bamboo)

公司使用的軟件開發和協作工具為 Atlassian 系列軟件,近期需要從騰訊雲遷移到阿里雲環境,簡單記錄下安裝和配置過程。(Atlassian 的文檔非常詳盡,過程中碰見的問題都可以找到解決辦法。)

簡介


Atlassian軟件安裝(Crowd+JIRA+Confluence+Bitbucket+Bamboo)


注意事項

寫在最前面,避免安裝過程中的坑坑坑。


友情提示:安裝過程中碰見任何問題,直接上 google 或者 Atlassian 官網搜索,一般都有詳細的文檔支持


操作系統字符集:數據備份遷移時,可能會出現未知錯誤,如: Crowd 備份導入時,會出現日期轉換錯誤。


Mysql 驅動:支持 Mysql 數據庫,但是未集成 Mysql jdbc 驅動,請提前準備。

Mysql 字符集:庫表字符集:utf8,排序字符集:utf8_bin。
阿里雲 RDS 控制檯,創建的 UTF8 數據庫,默認排序字符集為:utf8_general_ci,需要修改為:utf8_bin。


Git 版本:安裝 Bitbucket 時,Git 版本需要是 2.2.0+。

安裝環境


Atlassian軟件安裝(Crowd+JIRA+Confluence+Bitbucket+Bamboo)

Crowd

Crowd 安裝

<code># 創建獨立安裝賬號
$ useradd crowd
$ passwd crowd
$ su - crowd

# 下載
$ wget https://product-downloads.atlassian.com/software/crowd/downloads/atlassian-crowd-3.2.3.tar.gz

# 解壓
$ tar -zxvf atlassian-crowd-3.2.3.tar.gz

# 設置 crowd.home
$ vi /home/crowd/atlassian-crowd-3.2.3/crowd-webapp/WEB-INF/classes/crowd-init.properties
###############
## ##
## UNIX ##
## ##
###############
## On Unix-based operating systems, uncomment the following
## line and set crowd.home to a directory Crowd should use to
## store its configuration.
crowd.home=/home/crowd/atlassian-crowd-3.2.3

# Crowd 支持 Mysql 數據庫,但是未集成 Mysql jdbc 驅動
$ cp mysql-connector-java-5.1.46.jar /home/crowd/atlassian-crowd-3.2.3/apache-tomcat/lib

# 啟動 crowd
$ sh /home/crowd/atlassian-crowd-3.2.3/start_crowd.sh/<code>

Crowd 設置

  1. 瀏覽器中訪問 http://ip:8095 進入初始化頁面,輸入 License
Atlassian軟件安裝(Crowd+JIRA+Confluence+Bitbucket+Bamboo)

2.選擇導入備份

Atlassian軟件安裝(Crowd+JIRA+Confluence+Bitbucket+Bamboo)

3.設置數據庫信息

Atlassian軟件安裝(Crowd+JIRA+Confluence+Bitbucket+Bamboo)

4.參數設置

Atlassian軟件安裝(Crowd+JIRA+Confluence+Bitbucket+Bamboo)

5.設置管理員賬號

Atlassian軟件安裝(Crowd+JIRA+Confluence+Bitbucket+Bamboo)

6.設置完成

Atlassian軟件安裝(Crowd+JIRA+Confluence+Bitbucket+Bamboo)

Atlassian軟件安裝(Crowd+JIRA+Confluence+Bitbucket+Bamboo)


Crowd 遷移

  1. 備份之前 Crowd 數據
Atlassian軟件安裝(Crowd+JIRA+Confluence+Bitbucket+Bamboo)

2.導入備份數據即可

Atlassian軟件安裝(Crowd+JIRA+Confluence+Bitbucket+Bamboo)


Atlassian軟件安裝(Crowd+JIRA+Confluence+Bitbucket+Bamboo)


操作系統字符集不一致問題


Atlassian軟件安裝(Crowd+JIRA+Confluence+Bitbucket+Bamboo)


<code># 修改操作系統字符集一致
$ echo 'LANG=zh_CN.UTF-8' > /etc/locale.conf
$ source /etc/locale.conf/<code>

JIRA

JIRA 安裝

<code># 創建獨立安裝賬號
$ useradd jira
$ passwd jira
$ su - jira

# 下載
$ wget https://product-downloads.atlassian.com/software/jira/downloads/atlassian-jira-software-7.10.0-x64.bin

# 安裝,一路回車即可
$ ./atlassian-jira-software-7.10.0-x64.bin
Unpacking JRE ...
Starting Installer ...
三月 26, 2020 7:00:44 下午 java.util.prefs.FileSystemPreferences$1 run
信息: Created user preferences directory.
三月 26, 2020 7:00:44 下午 java.util.prefs.FileSystemPreferences$2 run
信息: Created system preferences directory in java.home.
You do not have administrator rights to this machine and as such, some installation options will not be available. Are you sure you want to continue?
Yes [y, Enter], No [n]
y
This will install JIRA Software 7.10.0 on your computer.
OK [o, Enter], Cancel [c]
o
Choose the appropriate installation or upgrade option.
Please choose one of the following:
Express Install (use default settings) [1], Custom Install (recommended for advanced users) [2, Enter], Upgrade an existing JIRA installation [3]
2
Where should JIRA Software be installed?
[/home/jira/atlassian/jira]
Default location for JIRA Software data
[/home/jira/atlassian/application-data/jira]
Configure which ports JIRA Software will use.
JIRA requires two TCP ports that are not being used by any other
applications on this machine. The HTTP port is where you will access JIRA
through your browser. The Control port is used to startup and shutdown JIRA.
Use default ports (HTTP: 8080, Control: 8005) - Recommended [1, Enter], Set custom value for HTTP and Control ports [2]
Details on where JIRA Software will be installed and the settings that will be used.
Installation Directory: /home/jira/atlassian/jira
Home Directory: /home/jira/atlassian/application-data/jira
HTTP Port: 8080
RMI Port: 8005
Install as service: No

Install [i, Enter], Exit [e]
Extracting files ...
Please wait a few moments while JIRA Software is configured.
Installation of JIRA Software 7.10.0 is complete
Start JIRA Software 7.10.0 now?
Yes [y, Enter], No [n]
y
Please wait a few moments while JIRA Software starts up.
Launching JIRA Software ...
Installation of JIRA Software 7.10.0 is complete
Your installation of JIRA Software 7.10.0 is now ready and can be accessed
via your browser.
JIRA Software 7.10.0 can be accessed at http://localhost:8080
Finishing installation ...

# 與 Crowd 類似,需要把 Mysql 驅動包 放到 atlassian/jira/lib 目錄下,需要重啟生效。
$ cp mysql-connector-java-5.1.46.jar /home/jira/atlassian/jira/lib

# 重啟
$ sh /home/jira/atlassian/jira/bin/stop-jira.sh
$ sh /home/jira/atlassian/jira/bin/start-jira.sh
/<code>

JIRA 設置

設置過程與 Crowd 類似。

  1. 瀏覽器中訪問 http://ip:8080 進入初始化頁面;
  2. 選擇自定義設置,選擇數據庫 Mysql(utf8 字符集,utf8_bin 排序規則),輸入相關參數,測試連接通過,點擊下一步;
  3. 輸入license,設置管理員賬號,點擊下一步;
  4. 跳過郵件通知,設置語言、頭像,就可以正式使用 JIRA 了

Confluence

Confluence 安裝

<code># 創建獨立安裝賬號
$ useradd confluence
$ passwd confluence
$ su - confluence
# 下載
$ wget https://product-downloads.atlassian.com/software/confluence/downloads/atlassian-confluence-6.9.1-x64.bin
# 安裝過程與 JIRA 類似
$ ./atlassian-confluence-6.9.1-x64.bin
# 與 JIRA 類似,需要把 Mysql 驅動包 放到 /home/confluence/atlassian/confluence/confluence/WEB-INF/lib 目錄下,需要重啟生效。
$ cp mysql-connector-java-5.1.46.jar /home/confluence/atlassian/confluence/confluence/WEB-INF/lib
# 重啟
$ sh /home/confluence/atlassian/confluence/bin/stop-confluence.sh
$ sh /home/confluence/atlassian/confluence/bin/stop-confluence.sh
/<code>

Confluence 設置

設置過程與 JIRA 類似。

  1. 瀏覽器中訪問 http://ip:8090 進入初始化頁面;
  2. 選擇生產安裝,根據情況選擇附加插件,點擊下一步;
  3. 輸入license,選擇數據庫 Mysql(utf8 字符集,utf8_bin 排序規則),輸入相關參數,測試連接通過,點擊下一步;
  4. 選擇初始內容,這裡可以選擇 “Example Site”,會初始新建示例項目;
  5. 選擇用戶策略,因為我們後續會集成 Crowd,所以這裡選擇 “Manage users and groups within Confluence”;
  6. 設置管理員賬戶,就正式使用 Confluence 了。

Bitbucket

Bitbucket 安裝

<code># 創建獨立安裝賬號
$ useradd bitbucket
$ passwd bitbucket
$ su - bitbucket

# 下載
$ wget https://product-downloads.atlassian.com/software/stash/downloads/atlassian-bitbucket-5.11.1-linux-x64.bin

# 安裝前提條件:Git 版本需要 2.2.0+
# 安裝過程與 JIRA 和 Confluence 類似
$ ./atlassian-bitbucket-5.11.1-linux-x64.bin

# 與 JIRA 類似,需要把 Mysql 驅動包 放到 /home/bitbucket/atlassian/bitbucket/5.11.1/app/WEB-INF/lib 目錄下,需要重啟生效。
$ cp mysql-connector-java-5.1.46.jar /home/bitbucket/atlassian/bitbucket/5.11.1/app/WEB-INF/lib

# 重啟
$ sh /home/bitbucket/atlassian/bitbucket/5.11.1/bin/stop-bitbucket.sh
$ sh /home/bitbucket/atlassian/bitbucket/5.11.1/bin/start-bitbucket.sh
/<code>

Bitbucket 設置

設置過程與 JIRA 和 Confluence 類似。

  1. 瀏覽器中訪問 http://ip:7990 進入初始化頁面;
  2. 選擇數據庫 Mysql(utf8 字符集,utf8_bin 排序規則),輸入相關參數,測試連接通過,點擊下一步;
  3. 輸入license,設置管理員賬戶,就正式使用 Bitbucket 了。

Bamboo

Bamboo 安裝

<code># 創建獨立安裝賬號
$ useradd bamboo
$ passwd bamboo
$ su - bamboo

# 下載
$ wget https://product-downloads.atlassian.com/software/bamboo/downloads/atlassian-bamboo-6.6.0.tar.gz

# 解壓
$ tar -zxvf atlassian-bamboo-6.6.0.tar.gz

# 設置 bamboo.home
$ vi /home/bamboo/atlassian-bamboo-6.6.0/atlassian-bamboo/WEB-INF/classes/bamboo-init.properties
bamboo.home=/home/bamboo/atlassian-bamboo-6.6.0

# Crowd 支持 Mysql 數據庫,但是未集成 Mysql jdbc 驅動
$ cp mysql-connector-java-5.1.46.jar /home/crowd/atlassian-crowd-3.2.3/apache-tomcat/lib

# 啟動 crowd
$ sh atlassian-crowd-3.2.3/start_crowd.sh/<code>

Bamboo 設置

設置過程與 Bitbucket 等都類似。

  1. 瀏覽器中訪問 http://ip:8085 進入初始化頁面;
  2. 輸入license,選擇數據庫 Mysql(連接參數需要加:autoReconnect=true),輸入相關參數,測試連接通過,點擊下一步;
  3. 設置管理員賬戶,就正式使用 Bamboo 了。

Crowd 與 JIRA、Confluence、Bitbucket、Bamboo集成

Crowd 與 JIRA 集成

  1. 使用管理員用戶登錄 Crowd,新建 Group。
    點擊 “Groups” → “Add group”,輸入組名、描述、歸屬目錄,點擊創建。
Atlassian軟件安裝(Crowd+JIRA+Confluence+Bitbucket+Bamboo)


添加用戶


Atlassian軟件安裝(Crowd+JIRA+Confluence+Bitbucket+Bamboo)


2.新建Application
點擊 “Applications” → “Add application”,輸入名稱、描述、密碼,點擊創建。


Atlassian軟件安裝(Crowd+JIRA+Confluence+Bitbucket+Bamboo)

3.輸入 JIRA 地址 和 其 ip 地址,點擊下一步。


Atlassian軟件安裝(Crowd+JIRA+Confluence+Bitbucket+Bamboo)


Atlassian軟件安裝(Crowd+JIRA+Confluence+Bitbucket+Bamboo)


4. 選擇允許訪問 JIRA 的組,加入進去

Atlassian軟件安裝(Crowd+JIRA+Confluence+Bitbucket+Bamboo)

5.確認信息,點擊 “Add application” ,添加應用完成。

Atlassian軟件安裝(Crowd+JIRA+Confluence+Bitbucket+Bamboo)

6.使用 JIRA 管理員,登錄 JIRA。
點擊用戶管理 → 用戶目錄 → 添加目錄,選擇 “Atlassian 人群”,點擊下一步。


Atlassian軟件安裝(Crowd+JIRA+Confluence+Bitbucket+Bamboo)

7.輸入 Crowd 服務器的配置,點擊測試,並保存。

Atlassian軟件安裝(Crowd+JIRA+Confluence+Bitbucket+Bamboo)


名稱:Crowd Server
服務器的URL: Crowd的URL地址,比如:http://www.xx.com:8095/crowd/
應用程序名稱:與在 Crowd 裡配置的 Application 名稱一致
應用程序密碼:與在 Crowd 裡配置的 Application 密碼一致

8.系統默認每 1 小時從 Crowd 同步一次用戶(系統管理員可修改),點擊同步按鈕也可手動同步。

9.註銷管理員用戶,使用 Crowd 裡的用戶嘗試登陸 JIRA,發現能夠登錄進去了。

Crowd 與 Confluence、Bitbucket、Bamboo 集成

參考 Crowd 與 JIRA 集成。

context-path 配置

默認安裝好的 Atlassian 各應用是這樣的:

- Crowd:http://ip:8095/crowd

- JIRA:http://ip:8080

- Confluence:http://ip:8090

- Bitbucket:http://ip:7990

- Bamboo:http://ip:8085


為了快捷訪問,需要設置 Atlassian 各應用的訪問地址為統一規範,如下:

- Crowd:http://www.xxx.com/crowd

- JIRA:http://www.xxx.com/jira

- Confluence:http://www.xxx.com/confluence

- Bitbucket:http://www.xxx.com/bitbucket

- Bamboo:http://www.xxx.com/bamboo

方案

  1. 設置各應用的 context-path 為 “/“+”應用名”
  2. 使用 nginx 代理,使 www.xxx.com/xxx 分別指向 http://ip:port/xxx
<code># jira 的 nginx 設置,其他類似
location ^~ /jira {
proxy_pass http://x.x.x.x:8080/jira;
sendfile off;
proxy_set_header Host $host:$server_port;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_max_temp_file_size 0;
# This is the maximum upload size
client_max_body_size 10m;
client_body_buffer_size 128k;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_temp_file_write_size 64k;
# Required for new HTTP-based CLI
proxy_http_version 1.1;
proxy_request_buffering off;
proxy_buffering off; # Required for HTTP-based CLI to work over SSL
}
/<code>

修改 context-path

Crowd

默認支持,無需修改。

JIRA

<code># server.xml,在 Context 標籤中添加 path="/jira" 

$ vi /home/jira/atlassian/jira/conf/server.xml
<context>

# 重啟生效/<context>/<code>

Confluence

<code># server.xml,在 Context 標籤中添加 path="/confluence"
$ vi /home/confluence/atlassian/confluence/conf/server.xml
<context>

# 重啟生效/<context>/<code>

Bitbucket

<code># bitbucket.properties
$ echo "server.context-path=/bitbucket" >> /home/bitbucket/atlassian/application-data/bitbucket/shared/bitbucket.properties

# 重啟生效/<code>

Bamboo

<code># server.xml,在 Context 標籤中添加 path="/bamboo"
$ vi /home/bamboo/atlassian-bamboo-6.6.0/conf/server.xml
<context>

# 重啟生效
/<context>/<code>

單點登錄(SSO)配置

單點登錄(SSO)需要有域名支持,也就是說,在配置sso之前,各應用系統已配置好相應的域名。

Confluence 配置 SSO

<code># 編輯 seraph-config.xml
$ vi /home/confluence/atlassian/confluence/confluence/WEB-INF/classes/seraph-config.xml
# 註釋掉

# 打開註釋
<authenticator>

# 修改 crowd.properties
$ vi /home/confluence/atlassian/confluence/confluence/WEB-INF/classes/crowd.xml
application.name:配置 crowd 裡該 Application 的名稱
application.password:配置 crowd 裡該 Application 的密碼
application.login.url:配置 crowd 的地址
crowd.server.url:配置 crowd 的 services 地址
crowd.base.url:配置 crowd 的 baseurl 地址
session.tokenkey:與 crowd 管理頁面的SSO cookie name保持一致

# 重啟 Confluence 生效/<code>

驗證
先登錄crowd,然後在打開一個頁面,輸入confluence地址,發現不需要在手動輸入賬戶密碼,直接就登進去了


注意:必須使用帶域名的地址,登錄的用戶必須是同步過的用戶。

JIRA 配置 SSO

參考 Confluence 配置 sso,基本一樣,只是 JIRA 的安裝目錄裡沒有 crowd.properties 文件,可以從 Confluence 或者 Crowd 拷貝一份,然後修改配置的內容即可。

Bitbucket 配置 SSO

<code># 編輯 bitbucket.properties
$ vi /home/bitbucket/atlassian/application-data/bitbucket/shared/bitbucket.properties
# 添加下面的屬性
plugin.auth-crowd.sso.enabled=true

# 重啟 Bitbucket 生效/<code>

Bamboo 配置 SSO

<code># 編輯 seraph-config.xml
$ vi /home/bamboo/atlassian-bamboo-6.6.0/atlassian-bamboo/WEB-INF/classes/seraph-config.xml
# 註釋掉

# 打開註釋
<authenticator>

# 修改 crowd.properties
$ vi /home/bamboo/atlassian-bamboo-6.6.0/xml-data/configuration/crowd.properties
application.name:配置 crowd 裡該 Application 的名稱
application.password:配置 crowd 裡該 Application 的密碼
application.login.url:配置 crowd 的地址
crowd.server.url:配置 crowd 的 services 地址
crowd.base.url:配置 crowd 的 baseurl 地址
session.tokenkey:與 crowd 管理頁面的SSO cookie name保持一致

# 重啟 Bamboo 生效/<code>


分享到:


相關文章: