Windows部署onlyoffice document server并用go語言進(jìn)行二次開發(fā)實現(xiàn)企業(yè)實時文檔協(xié)作功能

——追求簡單化的安裝就能享受高雅的網(wǎng)絡(luò)協(xié)作辦公環(huán)境

要求:

如果是局域網(wǎng),部署的電腦擁有固定ip(下文叫宿主機,切記)。電腦能打開cup的虛擬功能。

如果部署到云主機,道理是一樣的。

環(huán)境是win7以上,win10以下。Win10區(qū)別就是安裝的docker軟件不同而已。

第一步:確定電腦打開了cpu虛擬打開。https://jingyan.baidu.com/article/22fe7ced3b4c003002617f17.html

第二步:下載和安裝docker toolbox,默認(rèn)安裝即可。下載地址http://get.daocloud.io/,下載支持舊版windows的docker toolbox,win10就直接下載docker了。

第三步:啟動docker后在里面拉取Onlyoffice Document Server 的Docker鏡像

3.1拉取鏡像,在docker中黏貼下面的命令(黏貼方法:鼠標(biāo)右鍵點窗口頭部,編輯——黏貼)

docker pull onlyoffice/documentserver

可以用我做好的鏡像導(dǎo)入。見docker load < documentserver.tar命令。

拉取完成后啟動documentserver

3.2啟動documentserver(在docker中啟動剛拉取的鏡像后就叫容器了。)——并且把documentserver容器中這個服務(wù)映射至宿主機上9000端口,這樣映射的目的是其他電腦訪問這個宿主機端口9000就相當(dāng)于訪問這個宿主機中docker中容器中的documentserver了。但是windows要做端口轉(zhuǎn)發(fā)。

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

到此已經(jīng)可以用了。不過,就是要換一下documentserver中的字體,換成文泉驛linux字體。

?記錄下容器id,這個后面操作都會用到,不用全記,一般前3位或4位即可。沒記也沒關(guān)系,后續(xù)隨時用這個命令查:

3.3查看運行的容器

Docker ps

3.4進(jìn)入容器(運行的鏡像)內(nèi)

$ docker exec -it 38e27 /bin/bash

注:38e27為容器id,此時相當(dāng)于在容器內(nèi)的系統(tǒng)操作,不是在docker里了。比如可以查看文件夾組成,如下,此時都是Linux命令啦:

root@38e27823ae92:/# dir

用find命令(Linux命令)找到字體所在目錄,應(yīng)該是/usr/share/fonts/truetype/msttcorefonts

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

找到這個目錄后,就用cd命令一層層進(jìn)入到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

拷貝字體過去

?再進(jìn)入容器(命令:$ docker exec -it 38e27 /bin/bash)

再鍵入下面命令:

?sudo mkfontscale?(創(chuàng)建雅黑字體的fonts.scale文件,它用來控制字體旋轉(zhuǎn)縮放)

sudo mkfontdir?(創(chuàng)建雅黑字體的fonts.dir文件,它用來控制字體粗斜體產(chǎn)生)

sudo fc-cache -fv?(建立字體緩存信息,也就是讓系統(tǒng)認(rèn)識雅黑)

退出到docker中來(exit命令)

執(zhí)行如下命令:

$ 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就行了,默認(rèn)是宿主機80端口,如果沖突,需要在conf中更換端口。

4.1在engineercms文件夾view中打onlyoffice文件夾,打開onlyoffice.tpl,替換里面的api.js的ip地址為你的局域網(wǎng)宿主機的ip,端口是容器映射端口9000,然后替換另外2個ip也為宿主機ip即可。

第五步:windows上的虛擬機端口轉(zhuǎn)發(fā)

因為docker是運行在虛擬機中的,3.2節(jié)說的其他電腦訪問容器里的documentserver服務(wù),相當(dāng)于訪問虛擬機,讓后虛擬機再轉(zhuǎn)到docker里的容器。打開安裝docker toolbox后生成的Oracle vm virtualbox,參考下面鏈接設(shè)置端口轉(zhuǎn)發(fā)。

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

有問題直接咨詢我,qq504284,微信hotqin999

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容