前面介紹了對於confluence和jira的破解版安裝記錄,下面簡單記錄下confluence和jira結合配置:
安裝順序:先安裝Jira,然后安裝Confluence,在Confluence安裝過程中去連接jira,既Confluence用戶目錄會主動同步jira的用戶目錄。這樣,在jira里創建用戶就會自動同步到Confluence里,雙方登陸的用戶是一樣的(最好是先在jira里創建用戶,然后同步到Confluence里)。在同一個session環境下,可以使用同樣的賬號登陸jira和Confluence。(但是在切換登陸時仍然需要輸入密碼,要想切換登陸時不需要登陸密碼,即實現單點登錄,則需要基於Crowd實現,這樣就不做介紹了)。
下面粘貼下Confluence安裝中連接jira的截圖:





===============================================================================
如果是先安裝的confluence,並且在"配置用戶管理"中選擇的是"在Confluence中管理用戶和組",那么后續向跟jira對接的操作方法如下:
1)jira和confluence最好設置相同的管理員賬號和密碼
2)登錄confluence管理員賬號下,依次點擊右上角的"用戶管理"->點擊左側最下面的"管理"中的"應用程序鏈接"->"創建新鏈接",然后添加jira的url地址,根據提示進行添加配置即可(提示中會跳到jira界面里,相繼添加confluence的地址)
3)左上角jira和confluence對接的標題名稱可以自定義,jira在"系統"->"一般配置"->編輯"標題";confluence在"一般配置"->編輯"標題"
===============================================================================
1)在jira里創建的用戶,會主動給用戶發送一封郵件,點擊郵件可以重置密碼。使用該用戶登錄后,點擊左上角圖標,切換到confluence后進行該用戶的界面
設置,這樣該用戶才能載入到confluence用戶目錄下。
2)在jira里創建和刪除用戶,默認confluence同步是需要一段時間的。如果用戶同步不及時,可以手動同步,即點擊"用戶目錄"->"同步",即手動同步用戶目錄即可!(刪除用戶最后先在jira里刪除,然后Confluence同步用戶)

一般來說,用戶創建(建議使用"邀請用戶"的方式創建用戶)的規則:
1)如果jira和Confluence都需要創建用戶,就先在jira上創建用戶,然后Confluence同步。
2)如果只需要Confluence賬號,不需要jira賬號。那么就在Confluence上"邀請用戶"注冊賬號,然后同步到jira上的賬號默認不能登錄,需要將用戶添加到jira的相關用戶組內才能夠登錄。
========================================================
confluence和jira的用戶目錄同步方式:
根據以上部署可知,confluence和jira的用戶同步是單方向的,及confluence同步jira的用戶,但是jira不能同步confluence用戶!
在配置用戶目錄同步時,點擊"添加目錄",發現只有三種同步方式:
1)添加Crowd服務器,可以實現jira和confluence用戶目錄雙向同步;
2)添加LDAP服務器,可以實現jira和confluence用戶目錄雙向同步;
3)添加Jira服務器,只能實現confluence同步jira用戶目錄,即單向同步。
=================================================
如何查看破解后的的jira和Confluence到期時間
1)查看jira的到期時間。如下可知,jira到期時間是2033年2月8號


2)查看Confluence的到期時間。如下可知,Confluence離到期時間還有957個月零7天20小時



=====confluence上開通用戶,使該用戶只具有某一個或幾個項目空間的操作權限=====
方法: 1)正常開通用戶,比如A用戶。 2)創建一個用戶組,比如test用戶組(默認是空的)。 3)點擊右上角設置圖標里的"用戶管理"->"站點管理"->"用戶"->"全局權限",然后編輯test組權限(設置"個人空間"、"創建空間"兩個權限即可, "站點管理"和"系統管理員"權限看情況是否設置) 4)編輯A用戶,將A用戶所屬的組設置為test。注意:千萬不要設置為confluence-users組,否則就對所有的項目空間都具有權限。 5)假設使A用戶僅僅只具有kevin項目的操作權限。則打開kevin名稱的目錄空間,點擊左下角的"空間管理"->"權限",在右邊的"用戶"區域(或者"組"區域)點擊 "編輯權限",將A用戶(或者test組)添加進去,並設置權限(比如只設置"查看"權限)即可。 6)如果是一個用戶針對多個項目空間的權限,就依次在這些項目空間的"空間管理"->"權限"里設置,如上第4步操作即可。 如上操作后,A用戶登錄confluence就只有所設置的空間的權限了。
jira跟confluence不一樣,它只有角色權限,針對組進行設置的,不針對個人。jira權限設置:"系統"->"安全"->"全局權限"
=====jira/confluence訪問界面出現"您可以臨時訪問管理功能。如果不再需要,請 取消訪問。更多信息, 請查看 相關文檔"======
如何取消? 1)需要在JIRA的Home文件夾里手工創建一個文件:jira-config.properties,文件里面寫一句話jira.websudo.is.disabled=true 2)重啟JIRA服務即可 具體操作: a)查詢jira服務的家目錄 [root@file-server ~]# cat /opt/atlassian/jira/atlassian-jira/WEB-INF/classes/jira-application.properties # Do not modify this file unless instructed. It is here to store the location of the JIRA home directory only and is typically written to by the installer. jira.home = /var/atlassian/application-data/jira 如上可以得知,jira服務的家目錄是/var/atlassian/application-data/jira b)在jira家目錄下添加文件 [root@file-server ~]# cd /var/atlassian/application-data/jira [root@file-server jira]# touch jira-config.properties [root@file-server jira]# vim jira-config.properties jira.websudo.is.disabled=true [root@file-server jira]# chown jira.jira jira-config.properties c)重啟jira [root@file-server jira]# /etc/init.d/jira stop [root@file-server jira]# /etc/init.d/jira start
==========jira和confluence調整為域名訪問的操作記錄============
如之前的安裝文檔,jira和confluence安裝后都是通過ip+port進行訪問以及關聯,后面調整為域名訪問,修改記錄如下:
1)在前面架設一個LB層,通過域名訪問代替ip+port訪問,然后將域名解析到LB的ip上即可。例如:
http://jira.kevin-inc.com 代替http://172.16.220.129:8080
http://wiki.kevin-inc.com 代替http://172.16.220.129:8090
2)訪問http://wiki.kevin-inc.com,在右上角
a)點擊"一般配置",將"服務器主頁URL"由http://172.16.220.129:8090修改為http://wiki.kevin-inc.com;
b)點擊"配置應用程序鏈接",將對應的ip的url修改為域名的url;
c)點擊"應用程序導航器",發現confluence對應的url已經變成wiki域名了,此時jira的鏈接還是ip+port方式,
接着進行添加操作,將jira的域名方式添加進去,然后將之前的ip+port方式的鏈接拉到最下面。(這個配置
涉及到從confluence界面的左上角切換到jira后顯示的地址信息)
3)訪問http://jira.kevin-inc.com,在右上角
a)點擊點擊"一般配置",將"服務器主頁URL"由http://172.16.220.129:8080修改為http://jira.kevin-inc.com;
b)點擊"應用程序"->"應用程序鏈接",將對應的ip的url修改為域名的url;
c)點擊"應用程序導航器",將對應的ip的url修改為域名的url;
===========jira賬號創建項目的權限==========
默認創建的jira賬號是沒有創建jira項目的權限的,如果想讓一個jira賬號擁有創建項目的權限,正確做法如下: 1)創建一個組,比如叫jira-project 2)點擊右上角的"系統"->"安全"->"全局配置",然后將所創建的組jira-project設置為"JIRA 管理員",注意是 "JIRA 管理員",而不是"JIRA 系統管理員" 3)然后將用戶拉到jira-project組內即可!
===========confluence和jira的備份和恢復==========
confluence的自動備份: 數據備份目錄:/var/atlassian/application-data/confluence/backups ("站點管理"->"每日備份管理") 附件備份目錄:/var/atlassian/application-data/confluence/attachments ("站點管理"->"附件存儲") confluence備份與還原 ("站點管理"->"管理"->"備份與還原") 可以根據界面里提示進行數據恢復 如果從confluence主目錄中由備份和恢復 備份必須復制至/var/atlassian/application-data/confluence/restore目錄中。 如果備份文件很大,推薦這種方式 ---------------------------------------------------------------- jira的自動備份 數據備份目錄: /var/atlassian/application-data/jira/export ("系統"->"導入導出"->"備份系統") 附件所在目錄:/var/atlassian/application-data/jira/data/attachments 這個需要手動備份 jira的數據恢復: ("系統"->"導入導出"->"恢復系統")
========confluence管理員admin賬號密碼忘記的處理辦法========
1)登錄mysql,查看admin賬號情況,記下admin管理員的id號
[root@confluence-server ~]# mysql -p123456
......
MariaDB [(none)]> use confluence;
......
MariaDB [confluence]> select id,user_name,credential from cwd_user;
+--------+-----------+---------------------------------------------------------------------------+
| id | user_name | credential |
+--------+-----------+---------------------------------------------------------------------------+
| 229377 | admin | {PKCS5S2}1QX4TpvSnyJPEwfJ5Y5OQDIxaHPqkrYlsRAPSvd4quVt3wku9WPKugZxSlUCYV71 |
+--------+-----------+---------------------------------------------------------------------------+
1 row in set (0.000 sec)
MariaDB [confluence]>
2)根據admin的id號進行update更新密碼。如果你的密碼是{PKCS5S2}前綴開頭的,則用下面這個sql:
如下密碼修改為"Ab123456"(下面的密碼就是Ab123456的密文)
MariaDB [confluence]> update cwd_user set credential = '{PKCS5S2}ltrb9LlmZ0QDCJvktxd45WgYLOgPt2XTV8X7av2p0mhPvIwofs9bHYVz2OXQ6/kF' where id=229377;
Query OK, 0 rows affected (0.057 sec)
Rows matched: 1 Changed: 0 Warnings: 0
MariaDB [confluence]> select id,user_name,credential from cwd_user;
+--------+-----------+---------------------------------------------------------------------------+
| id | user_name | credential |
+--------+-----------+---------------------------------------------------------------------------+
| 229377 | admin | {PKCS5S2}ltrb9LlmZ0QDCJvktxd45WgYLOgPt2XTV8X7av2p0mhPvIwofs9bHYVz2OXQ6/kF |
+--------+-----------+---------------------------------------------------------------------------+
1 row in set (0.000 sec)
MariaDB [confluence]>
3)然后使用更新后的新密碼Ab123456登錄admin賬號,在confluence界面里進行密碼重置。
========confluence導出PDF格式文件不顯示中文解決========
由於confluence導出PDF格式文件需要應用字體文件,下載字體文件在confluence管理員界面安裝即可。 從本機c盤->Windows-Fonts文件夾里復制simkai字體文件到桌面,然后使用管理員賬號登陸confluence,找到"PDF導出語言支持"選擇, 選擇本機桌面的simkai字體文件進行安裝即可。安裝后,導出的pdf文件里的中文就能正常顯示了。

=========================離職人員的jira/confluence賬號銷毀=========================
員工離職時是不能直接在jira/confluence里刪除他們賬號的,因為這些賬號關聯了對應項目,除非修改為其他賬號的關聯關系, 否則不能直接刪除. 但是可以禁用這些賬號.
可行的處理方法:
1) 管理員賬號登錄jira, 點右上角的"設置"->"用戶管理"->"用戶",直接搜索離職人員的對應賬號, 點擊后面的"編輯", 將"活躍"前面方框里的對勾去掉, 即改為了"不活躍"狀態, 這樣該用戶就登錄不了jira了! 然后使用管理員賬號登錄confluence, 點擊右上角的"設置"->"用戶管理"->"用戶目錄"->"同步". 然后在"用戶"里搜索離職人員賬號,發現賬號上被標記了"無效",即登錄不了confluence了!
2) 如果離職的人員是jira上某些項目關聯負責人, 則也是無法設置為"不活躍"的, 即無法注釋"編輯"->"活躍", 此時的做法是:
將此賬號從它之前所有所在的組內撤出來, 即確保它在jira/confluence下不屬於任何組, 這樣它登錄后就沒有任何權限了.
==============================Confluence問題============================
1)問題一:
JVM 堆內存溢出,導致confluence訪問慢或程序直接跑死問題
查看/opt/atlassian/confluence/logs/catalina.out日志,報錯信息為:
java.lang.OutOfMemoryError: Direct buffer memory
解決辦法:增大JVM內存,做法如下:
在bin/catalina.sh腳本文件里添加下面一行內容,具體內存增加到多少,要根據自己服務器的實際內存來考慮(比如我的機器是128G,這里我調整到24G)
[root@file-server ~]# vim /opt/atlassian/confluence/bin/catalina.sh
......
JAVA_OPTS='-Xms20480m -Xmx20480m -XX:PermSize=10240M -XX:MaxNewSize=10240m -XX:MaxPermSize=5120m'
[root@file-server ~]# /etc/init.d/confluence restart
--------------------------------------------------------------------------------------------------------------
2)問題二:
confluence正常啟動,8090端口也順利起來了,但是confluence訪問報錯404!
[root@file-server ~]# tail -f /opt/atlassian/confluence/logs/catalina.out
........
11-Jan-2018 09:10:46.527 SEVERE [http-nio-8090-exec-6] org.springframework.web.socket.sockjs.client.SockJsClient.doHandshake Initial SockJS "Info" request to server failed,
url=ws://127.0.0.1:8091/synchrony/sockjs/v1org.springframework.web.client.ResourceAccessException: I/O error on GET request for "http://127.0.0.1:8091/synchrony/sockjs/v1/info":
Connection refused (Connection refused); nested exception is java.net.ConnectException: Connection refused (Connection refused)
at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:607)
at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:572)
at org.springframework.web.socket.sockjs.client.RestTemplateXhrTransport.executeInfoRequestInternal(RestTemplateXhrTransport.java:138)
at org.springframework.web.socket.sockjs.client.AbstractXhrTransport.executeInfoRequest(AbstractXhrTransport.java:153)
at org.springframework.web.socket.sockjs.client.SockJsClient.getServerInfo(SockJsClient.java:286)
at org.springframework.web.socket.sockjs.client.SockJsClient.doHandshake(SockJsClient.java:254)
at org.springframework.web.socket.sockjs.client.SockJsClient.doHandshake(SockJsClient.java:236)
at com.atlassian.synchrony.proxy.websocket.WebSocketProxy.afterConnectionEstablished(WebSocketProxy.java:49)
at org.springframework.web.socket.handler.PerConnectionWebSocketHandler.afterConnectionEstablished(PerConnectionWebSocketHandler.java:81)
特別注意:
confluence和jira的日志不只是只在/opt/atlassian/confluence/logs和/opt/atlassian/jira/logs下面,有時只根據這里面的日志是看不到具體報錯的!
還需要去confluence和jira服務的家目錄/var/atlassian/application-data(默認就是這個路徑)下面查看日志,可以通過這里面的日志信息進行排錯。
日志分別為/var/atlassian/application-data/jira/log/atlassian-jira.log和/var/atlassian/application-data/confluence/logs/atlassian-confluence.log
以上報錯查看confluence日志如下
[root@file-server ~]# tail -f /var/atlassian/application-data/confluence/logs/atlassian-confluence.log
......
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'hostComponentProvider': Injection of autowired dependencies failed; nested exception is
org.springframework.beans.factory.BeanCreationException: Could not autowire method: public void com.atlassian.plugin.spring.SpringHostComponentProviderFactoryBean.setSpringHos
tComponentProviderConfig(com.atlassian.plugin.spring.SpringHostComponentProviderConfig); nested exception is org.springframework.beans.factory.BeanCreationException: Error cre
ating bean with name 'bundledPluginLoader' defined in class path resource [services/pluginServiceContext.xml]: Cannot resolve reference to bean 'osgiPluginFactory' while setting
constructor argument with key [1]; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'osgiPluginFactory' defined in class
path resource [services/pluginServiceContext.xml]: Cannot resolve reference to bean 'osgiPersistentCache' while setting constructor argument; nested exception is org.springframework.
beans.factory.BeanCreationException: Error creating bean with name 'osgiPersistentCache': FactoryBean threw exception on object creation; nested exception is com.atlassian.plugin.osgi.
container.OsgiContainerException: Unable to clean the cache directory: /var/atlassian/application-data/confluence/plugins-osgi-cache/felix
通過上面的日志錯誤信息可知,是由於cache緩存目錄的權限不對造成的:
[root@file-server ~]# ll -d /var/atlassian/application-data/confluence/plugins-osgi-cache
drwxr-xr-x 5 root root 4096 Nov 9 10:54 /var/atlassian/application-data/confluence/plugins-osgi-cache
plugins-osgi-cache目前權限是root,confluence程序權限是confluence,所以不能創建緩存數據。將其權限修改為confluence即可!
建議可以將/var/atlassian/application-data/confluence下的目錄權限全部修改為confluence.confluence。
[root@file-server ~]# chown -R confluence.confluence /var/atlassian/application-data/confluence/plugins-osgi-cache
[root@file-server ~]# ll -d /var/atlassian/application-data/confluence/plugins-osgi-cache
drwxr-xr-x 5 confluence confluence 4096 Nov 9 10:54 /var/atlassian/application-data/confluence/plugins-osgi-cache
如上修改后,訪問confluence就正常了(可以不用重啟confluence)
--------------------------------------------------------------------------------------------------------------
問題三:
confluence登陸后,上傳附件報錯:Could not upload the file to Confluence. The server may be unavailable
查看日志:
[root@file-server ~]# tail -f /var/atlassian/application-data/confluence/logs/atlassian-confluence.log
......
javax.servlet.jsp.jspException: java.lang.RuntimeException: Error creating temp file in folder: /var/atlassian/application-data/confluence/attachments/ver003/21/87/4587521/92/247/3997842/5144597
javax.servlet.error.exception: java.lang.RuntimeException: Error creating temp file in folder: /var/atlassian/application-data/confluence/attachments/ver003/21/87/4587521/92/247/3997842/5144597
由此可以看出,附件不能上傳的原因是由於權限問題導致的,解決如下:
[root@file-server ~]# ll -d /var/atlassian/application-data/confluence/attachments/ver003/
drwxr-xr-x 11 root root 4096 Jan 9 09:14 /var/atlassian/application-data/confluence/attachments/ver003/
[root@file-server ~]# chown -R confluence.confluence /var/atlassian/application-data/confluence/attachments
[root@file-server ~]# ll -d /var/atlassian/application-data/confluence/attachments/ver003/
drwxr-xr-x 11 confluence confluence 4096 Jan 9 09:14 /var/atlassian/application-data/confluence/attachments/ver003/
