Windows上部署onlyoffice document server并用go语言进行二次开发实现企业实时文档协作功能
——追求简单化的安装就能享受高雅的网络协作办公环境最新的请移步至此:http://blog.csdn.net/hotqin888/article/details/79337881要求:如果是局域网,部署的电脑拥有固定ip(下文叫宿主机,切记)。电脑能打开cup的虚拟功能。如果部署到云主机,道理是一样的。环境是win7以上,win10以下。Win10区别就是安装的docker软件不同而已。第一步:确
——追求简单化的安装就能享受高雅的网络协作办公环境
最新的请移步至此: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,参考下面链接设置端口转发。
有问题直接咨询我,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,无法识别输入的中文,必须手动切换到中文字体。
更多推荐
所有评论(0)