前言:
網上找了很多資料都是在Docker環境下安裝、部署、調用,即使有編譯文檔,也隻有Linux下編譯的方法。建議設定好科學上網,不然源碼編譯會報各種各樣錯誤,編譯整個onlyoffice的過程我爬過無數的坑,編譯過程是一邊編譯一邊拉取代碼,每個包都在不同的git庫裡,如果上一步沒有編譯成功,就會影響到下一個包的編譯,再次說明,代理很重要!!不能解決科學上網的問題,基本上可以放棄了,編譯onlyoffice源碼的過程一定要有足夠的耐心,一個好的産品經的起時間的打磨。好了,廢話不多說,直接上步驟吧,步驟很繁瑣,各位寶寶不要被吓壞喲。
一、環境
- VS2015(安裝C++相關)
- Windows 10 SDK (10.0.14393.795)
- QT5.6.2(安裝qt-opensource-windows-x86-msvc2015_64-5.6.2.exe,內建在VS2015裡)
- nodejs
- python
- git
- SVN
- Java SE Development Kit 15.0.1 windows版本
- mysql8.0.21
- Erlang
- RabbitMQ
看到以上的環境安裝,是不是感覺好多好繁瑣,這個編譯過程就是一個很繁瑣的編譯過程,需要有足夠的耐心去完成,以上的環境,少一個都不會編譯成功。
二、代理
- git代理
git config --global http.proxy http://127.0.0.1:1080
git config --global https.proxy http://127.0.0.1:1080
-
SVN設定代理:
首先,找到SVN的 servers 檔案。路徑為:C:\Documents and Settings\Administrator\Application Data\Subversion或C:\Documents and Settings\user\Application Data\Subversion
以文本方式打開 servers 檔案,找到以下這段代碼 将 proxy.abc.com 換成 代理位址,将 1080換成 代理位址的端口,如果代理需要使用者名和密碼,那麼将 defaultusername 換成 自己代理的使用者名,将 defaultpassword 換成 自己代理的密碼,注意,需要将前面的注釋符 # 去掉。
[global]
# http-proxy-exceptions = *.exception.com, www.internal-site.org
# http-proxy-host = 127.0.0.1
# http-proxy-port = 1080
# http-proxy-username = defaultusername
# http-proxy-password = defaultpassword
- boto.cfg代理檔案,添加成功後,檔案位址需要放入環境變量
[Boto]
proxy=127.0.0.1
proxy_port=1080
- 打開cmd,需要設定一個代理
set HTTP_PROXY=http://127.0.0.1:1080
set HTTPS_PROXY=http://127.0.0.1:1080
環境變量
環境安裝好了,代理設定好了,接下來設定環境變量,沒有環境變量,包找不到對應的工具,也會報錯喲
path:
- D:onlyoffice\core\Common\3dParty\v8\depot_tools(編譯onlyoffice的過程會涉及到V8的編譯,需要把V8的環境變量給加上)
- C:\Python
- C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE(VS安裝目錄)
-
nodejs變量:
C:\Users\new\AppData\Roaming\npm
%NODE_HOME%
%NODE_HOME%\node-global
- D:\Qt\Qt5.6.2\5.6\msvc2015_64\bin
-
Java SE Development:
C:\Program Files\Common Files\Oracle\Java\javapath
%Java_Home%\bin
%Java_Home%\jre\bin
系統變量:
- NODE_HOME =C:\Program Files\nodejs
- CLASSPATH=.;%Java_Home%\bin;%Java_Home%\lib\dt.jar;%Java_Home%\lib\tools.jar
- Java_Home=D:\Program Files\Java\jdk-15.0.1
編譯步驟
整個編譯步驟會持續三到四個小時,具體的看網速和電腦組態。
-
建立一個檔案夾,在檔案夾下打開cmd,執行指令
git clone https://github.com/ONLYOFFICE/build_tools.git 拉取onlyoffice工具包
- cd build_tools 目錄下執行指令 python.configure.py生成檔案config檔案
- 執行指令 python.make.py,開始拉取代碼了,一邊拉取一邊編譯
- 在編譯core的過程中,qt并沒有執行,是因為config中沒有配置qt的路徑,需要打開config檔案添加qt-dir=“D:\Qt\Qt5.6.2\5.6”
編譯Server:
- 修改config檔案中module=“server”,再次執行make.py進行編譯
- 編譯成功後,管理者身份打開cmd進入D:\Work\onlyoffice\456\build_tools\scripts\develop目錄,執行run_server.py,啟動服務。出現以下界面後,就可以在浏覽器中輸入localhost:80通路了
關于打包
可以參考官方給出的exe安裝好了以後的檔案夾,把對應編譯好的包放在一個檔案夾裡,然後注冊到Windows服務運作就可以了,裡面的服務注冊成功後,需要用Nignx處理以下,因為源碼配置中有寫到各個服務之間的端口需要統一從Nignx代理的80端口進入。
以上就是onlyoffice在Windows編譯的步驟,有啥問題加QQ群:274407988 進群交流,歡迎指點。