——追求简单化的安装就能享受高雅的网络协作办公环境

最新的请移步至此:http://blog.csdn.net/hotqin888/article/details/79337881

要求:

如果是局域网,部署的电脑拥有固定ip(下文叫宿主机,切记)。电脑能打开cup的虚拟功能。

如果部署到云主机,道理是一样的。

环境是win7以上,win10以下。Win10区别就是安装的docker软件不同而已。

第一步:确定电脑打开了cpu虚拟打开。https://jingyan.baidu.com/article/22fe7ced3b4c003002617f17.html

第二步:下载和安装docker toolbox,默认安装即可。下载地址http://get.daocloud.io/,下载支持旧版windows的docker toolbox,win10就直接下载docker了。

第三步:启动docker后在里面拉取Onlyoffice Document Server 的Docker镜像

3.1拉取镜像,在docker中黏贴下面的命令(黏贴方法:鼠标右键点窗口头部,编辑——黏贴)

docker pull onlyoffice/documentserver

可以用我做好的镜像导入。见docker load < documentserver.tar命令。

拉取完成后启动documentserver

3.2启动documentserver(在docker中启动刚拉取的镜像后就叫容器了。)——并且把documentserver容器中这个服务映射至宿主机上9000端口,这样映射的目的是其他电脑访问这个宿主机端口9000就相当于访问这个宿主机中docker中容器中的documentserver了。但是windows要做端口转发。

docker run -i -t -d -p 9000:80 onlyoffice/documentserver

到此已经可以用了。不过,就是要换一下documentserver中的字体,换成文泉驿linux字体。

 记录下容器id,这个后面操作都会用到,不用全记,一般前3位或4位即可。没记也没关系,后续随时用这个命令查:

3.3查看运行的容器

Docker ps

3.4进入容器(运行的镜像)内

$ docker exec -it 38e27 /bin/bash

注:38e27为容器id,此时相当于在容器内的系统操作,不是在docker里了。比如可以查看文件夹组成,如下,此时都是Linux命令啦:

root@38e27823ae92:/# dir

用find命令(Linux命令)找到字体所在目录,应该是/usr/share/fonts/truetype/msttcorefonts

root@38e27823ae92:/# find / -name arial.ttf

找到这个目录后,就用cd命令一层层进入到msttcorefonts里,删除它里面的所有字体文件,用下面命令删除:

[root]# rm -R dir dirname删除所有

[root]# rm -f *.ttf

 退出容器到docker中来:exit

再把字体拷入容器的/usr/share/fonts/truetype/msttcorefonts文件夹中

Administrator@604TFALNDKDKJWC MINGW64/c/program files/git/usr/share/fonts

$ tar -cv * | docker exec -i 38e27823ae92tar x -C /usr/share/fonts/truetype/msttcorefonts

msyh.ttf

wqy-microhei.ttc

wqy-zenhei.ttc

wqy-zenhei.ttf

拷贝字体过去

 再进入容器(命令:$ docker exec -it 38e27 /bin/bash)

再键入下面命令:

 sudo mkfontscale (创建雅黑字体的fonts.scale文件,它用来控制字体旋转缩放)

sudo mkfontdir (创建雅黑字体的fonts.dir文件,它用来控制字体粗斜体产生)

sudo fc-cache -fv (建立字体缓存信息,也就是让系统认识雅黑)

退出到docker中来(exit命令)

执行如下命令:

$ docker exec 38e27 /usr/bin/documentserver-generate-allfonts.sh

Generating AllFonts.js, please wait...Done

onlyoffice-documentserver:docservice:stopped

onlyoffice-documentserver:docservice:started

onlyoffice-documentserver:converter: stopped

onlyoffice-documentserver:converter: started

第四步:运行engineercms

engineercms整个文件夹拷贝到宿主机的d盘,点击里面的engineercms.exe就行了,默认是宿主机80端口,如果冲突,需要在conf中更换端口。

4.1在engineercms文件夹view中打onlyoffice文件夹,打开onlyoffice.tpl,替换里面的api.js的ip地址为你的局域网宿主机的ip,端口是容器映射端口9000,然后替换另外2个ip也为宿主机ip即可。

第五步:windows上的虚拟机端口转发

因为docker是运行在虚拟机中的,3.2节说的其他电脑访问容器里的documentserver服务,相当于访问虚拟机,让后虚拟机再转到docker里的容器。打开安装docker toolbox后生成的Oracle vm virtualbox,参考下面链接设置端口转发。

http://blog.csdn.net/maodou95838/article/details/78194830?locationNum=1&fps=1#0-qzone-1-51693-d020d2d2a4e8d1a374a433f596ad1440

有问题直接咨询我,qq504284,微信hotqin999


首先感谢cool_ccr,按这个官方文档(http://helpcenter.onlyoffice.com/server/linux/document/install-fonts.aspx),确实解决了onlyoffice中文字体乱码问题。
我是用的docker方式部署onlyoffice,具体部署方法请看neroxps的贴:https://bbs.seafile.com/t/seafile-onlyoffice/3430
现将解决流程记录下来给大家参考:
1.查看onlyoffice的容器id:docker ps
2.连接docker:docker attach 容器id
3.进入容器后转到/usr/share/fonts/下把里面的所有字体删除,包括子目录里面的都删除
4.然后再windows系统下-控制面板--字体,搜索框内输入“中文”,把搜索出来的所有字体全部复制出来
5.把第4步复制出来的字体,复制到/usr/share/fonts/下

6.进入/usr/bin目录 输入./documentserver-generate-allfonts.sh 运行完毕后清除浏览器换成重新打开,就会发现之前onlyoffice自带的其他字体都没有了,只有刚才复制进去的中文字体了。

具体使用过程中有这么几个问题:
1、确实onlyoffice对中文的文档支持不算好,打开office2016的文档,基本是等线字体的都会一堆口口,真没办法,那些有特殊符号的也是一堆??,格式还有可能错乱。
2、操作界面英文,不友好,在输入中文时,只要键入符号,就会重复输入中文,这个问题可以使用onlyoffice中的设置里面的alternate input打上勾解决。但并不友好。
3、在网页版中新建一个office文档,再进行编辑时,默认字体是carlito,无法识别输入的中文,必须手动切换到中文字体。

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐