Confluence预览中文附件出现乱码
转载自:https://blog.51cto.com/u_13776519/5329428
背景介绍:
1.使用docker方式安装运行的Confluence
2.进行了破解,使用外置数据库
3.docker启动命令中会把容器存储目录挂载到宿主机中
因此,如下的操作并不是在Confluence所在主机上进行,而是需要进入到Confluence容器中操作
docker exec -it confluence /bin/bash
1.复制并安装字体
在Confluence服务器上新建一个字体目录:
mkdir /usr/share/fonts/windowsfonts/
从window的C:\Windows\Fonts
下复制所有字体文件到上面新建的目录。 ===》 上一步操作可以理解成把宿主机的文件复制到容器指定目录下
或者这样,在容器的宿主机挂载目录下创建一个保存字体的文件夹,然后进入到容器中,把这个文件夹里的字体复制到上面新建的目录。
2.修改字体配置文件,新增上一步新建的目录
vim /etc/fonts/fonts.conf
<dir>/usr/share/fonts</dir>
<dir>/usr/share/fonts/windowsfonts/</dir> # 新增这行
<dir>/usr/share/X11/fonts/Type1</dir>
<dir>/usr/share/X11/fonts/TTF</dir>
<dir>/usr/local/share/fonts</dir>
<dir prefix="xdg">fonts</dir>
<!-- the following element will be removed in the future -->
<dir>~/.fonts</dir>
3.修改setenv.sh 文件
cp /opt/atlassian/confluence/bin/setenv.sh /root/setenv.sh_20180114
vim /opt/atlassian/confluence/bin/setenv.sh
#搜索`CATALINA_OPTS`, 在原有行的基础上追加如下行:
CATALINA_OPTS="-Dconfluence.document.conversion.fontpath=/usr/share/fonts/windowsfonts/ ${CATALINA_OPTS}"
4.清空缓存文件(在容器中操作)
#清空文件
rm -rf /var/atlassian/application-data/confluence/viewfile/*
rm -rf /var/atlassian/application-data/confluence/thumbnails/*
rm -rf /var/atlassian/application-data/confluence/shared-home/dcl-document/*
rm -rf /var/atlassian/application-data/confluence/shared-home/dcl-document_hd/*
rm -rf /var/atlassian/application-data/confluence/shared-home/dcl-thumbnail/*
不清空缓存文件的话, confluence预览旧文件时还是会显示方框,只有新文件才会正常
所有操作完成以后需要重启confluence服务
5.问题:若是完成了以上操作后,confluence预览旧文件时还是会显示方框,则估计是缺少安装某些软件
修改仓库地址
cp /etc/apk/repositories /etc/apk/repositories.bak
vim /etc/apk/repositories # 注意,版本号要跟之前的保持一致,也就是v3.9
https://mirrors.aliyun.com/alpine/v3.9/main
https://mirrors.aliyun.com/alpine/v3.9/community
# 更新
apk update
apk add terminus-font
apk add ttf-ubuntu-font-family
apk add unifont
apk add xfontsel
apk add font-adobe-100dpi
apk add font-adobe-75dpi
apk add ghostscript-fonts
apk add libfontenc
apk add libxfont
apk add mkfontdir
apk add terminus-font
apk add ttf-ubuntu-font-family
apk add unifont
apk add font-adobe-utopia-100dpi
apk add font-adobe-utopia-75dpi
apk add font-micro-misc
apk add font-mutt-misc
apk add font-sony-misc
apk add fontconfig
apk add font-bh-ttf
apk add ttf-dejavu
apk add ttf-droid
apk add ttf-freefont
apk add ttf-linux-libertine
apk add font-bh-ttf
apk add mkfontscale
如上安装这么多软件,有些软件是安装过的,有些是没法安装的,具体安装哪些软件才会解决上述问题,不得而知,总之,如下都操作安装一遍就行了
所有操作完成以后需要重启confluence服务
6.效果