前面介绍了对于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里删除他们的账号的,因为这些账号都关联了对应的项目,除非将关联的这些相关修改为其他账号的关联关系,否则不能直接删除.正确做法是禁用这些离职人员的账号,也就是改为"不活跃"!
操作方法:
使用管理员账号登录jira, 点击右上角的"设置"->"用户管理"->"用户",直接搜索离职人员的对应账号,点击后面的"编辑",将"活跃"前面方框里的对勾去掉,即改为了"不活跃"状态,这样该用户就登录不了jira了!
使用管理员账号登录confluence, 点击右上角的"设置"->"用户管理"->"用户目录"->"同步". 然后在"用户"里搜索离职人员账号,发现账号上被标记了"无效",即登录不了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/