安装 Confluence

坑:不是所有的信息都会被输出到启动程序的 stdout/stderr

Confluence 的日志目录在 /var/atlassian/application-data/confluence/logs 下,程序启动的输出打印的并不全,遇到问题时可以搭配程序启动的输出和 /var/atlassian/application-data/confluence/logs/atlassian-confluence.log 文件的内容(一定要搭配使用,这个文件也会有一些程序启动的 stdout/stderr 没有的内容)

坑:官方 Docker 镜像部分中文乱码

参考:https://confluence.atlassian.com/confkb/non-ascii-characters-display-as-square-characters-in-confluence-317948797.html & https://jira.atlassian.com/browse/CONFSERVER-53262

解决:在 Dockerfile 中增加

Dockerfile
ENV CATALINA_OPTS="-Dconfluence.document.conversion.fontpath=/usr/share/fonts/truetype/wqy ${CATALINA_OPTS}" RUN apt update && apt install -y less fonts-wqy-zenhei fonts-arphic-bkai00mp fonts-arphic-bsmi00lp fonts-arphic-gbsn00lp fonts-arphic-gkai00mp fonts-arphic-ukai fonts-arphic-uming

注1:这行同时增加安装了 less 方便看日志

注2:宏标题的图片存在浏览器缓存,需要清空缓存才能恢复正常

注3:这里没有修改 PDF 的字体,PDF 字体是安装成功以后手动访问 /admin/flyingpdf/configurepdflanguagesupport.action 页面修改的(附:SimHei 字体 TTF 文件 SimHei.ttf

 

坑:填写数据库信息后总是失败

表现:填写好数据库的账号密码后继续(或者如果通过环境变量配置了数据库信息,那么选择了集群类型后)卡住然后开始报错,发现程序启动的 stdout/stderr 没有任何错误输出

定位:查看 /var/atlassian/application-data/confluence/logs/atlassian-confluence.log 日志文件,可以看到报错「Spring Application context has not been set」

官方文档:https://confluence.atlassian.com/confkb/confluence-does-not-start-due-to-spring-application-context-has-not-been-set-218278311.html

可能导致此问题的原因(官方文档中的很全,我写的是我遇到的问题):

  1. 在程序进行初始化时,不能再在其他标签页中访问网站(自己开着两个标签页 / 健康检查 都会触发) ← 这个问题在 2019 年就有记录,但是一直没修 = =)

  2. 如果是 pg 数据库,database 的 collation 必须是 utf-8,在某些环境上直接用 create database xxx  创建出来的 collation 是 c, utf-8  会有问题(参考

    1. 提供一个创建数据库的 SQL: CREATE DATABASE confluence WITH ENCODING 'UTF8' LC_COLLATE = 'en_US.utf-8' LC_CTYPE = 'en_US.utf-8' TEMPLATE = template0; 

  3. 不能以 root 用户启动 confluence,如果以 root 启动它会自动降级,可能导致没有 /var/atlassian/application-data/confluence 目录的访问权限)

解决方案:唯一的方案就是重装(删除 /var/atlassian/application-data/confluence/confluence.cfg.xml 文件即可,数据库不用手动重置)

提示:在前述「点击继续按钮」时,一定要开着开发者工具来检查请求,有几个请求会非常的慢

根据官方文档,会有如下请求被依次发出:

<base-url>/setup/setupstart.action <base-url>/setup/selectbundle.action <base-url>/setup/setuplicense.action <base-url>/setup/setupcluster.action <base-url>/setup/setupcluster-start.action - DC <base-url>/setup/setupdbchoice-start.action - DC <base-url>/setup/setupdata-start.action - DC <base-url>/setup/finishsetup.action - DC <base-url>/setup/setupdbtype-start.action <base-url>/setup/setupdata-start.action <base-url>/setup/setupusermanagementchoice-start.action <base-url>/setup/complete.action

提示:Confluence 的启动时间是分钟级

在设置好初始化好后,再启动 Confluence,都是分钟级的启动时间(三五分钟),一直到最后输出  INFO [main] org.apache.catalina.startup.Catalina.start Server startup in [194891] milliseconds  才是启动成功,之前连不上别慌别着急

提示:官网的 UI 版本是 9 EAP 版本的

官网现在的 UI 要明显比最新的 8.9 好看,经测试是 9 EAP 版本的,预计 2024 年中发布

不过,官方明确说了,EAP 版本不保证可以升级,因此不建议在实际生产中使用