天天看點

Windows下編譯onlyoffice源碼

前言:

網上找了很多資料都是在Docker環境下安裝、部署、調用,即使有編譯文檔,也隻有Linux下編譯的方法。建議設定好科學上網,不然源碼編譯會報各種各樣錯誤,編譯整個onlyoffice的過程我爬過無數的坑,編譯過程是一邊編譯一邊拉取代碼,每個包都在不同的git庫裡,如果上一步沒有編譯成功,就會影響到下一個包的編譯,再次說明,代理很重要!!不能解決科學上網的問題,基本上可以放棄了,編譯onlyoffice源碼的過程一定要有足夠的耐心,一個好的産品經的起時間的打磨。好了,廢話不多說,直接上步驟吧,步驟很繁瑣,各位寶寶不要被吓壞喲。

一、環境

  1. VS2015(安裝C++相關)
  2. Windows 10 SDK (10.0.14393.795)
  3. QT5.6.2(安裝qt-opensource-windows-x86-msvc2015_64-5.6.2.exe,內建在VS2015裡)
  4. nodejs
  5. python
  6. git
  7. SVN
  8. Java SE Development Kit 15.0.1 windows版本
  9. mysql8.0.21
  10. Erlang
  11. RabbitMQ

看到以上的環境安裝,是不是感覺好多好繁瑣,這個編譯過程就是一個很繁瑣的編譯過程,需要有足夠的耐心去完成,以上的環境,少一個都不會編譯成功。

二、代理

  1. git代理
git config --global http.proxy http://127.0.0.1:1080
git config --global https.proxy http://127.0.0.1:1080
           
  1. 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
           
  1. boto.cfg代理檔案,添加成功後,檔案位址需要放入環境變量
[Boto]
proxy=127.0.0.1
proxy_port=1080
           
  1. 打開cmd,需要設定一個代理
set HTTP_PROXY=http://127.0.0.1:1080
set HTTPS_PROXY=http://127.0.0.1:1080
           

環境變量

環境安裝好了,代理設定好了,接下來設定環境變量,沒有環境變量,包找不到對應的工具,也會報錯喲

path:

  1. D:onlyoffice\core\Common\3dParty\v8\depot_tools(編譯onlyoffice的過程會涉及到V8的編譯,需要把V8的環境變量給加上)
  2. C:\Python
  3. C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE(VS安裝目錄)
  4. nodejs變量:

    C:\Users\new\AppData\Roaming\npm

    %NODE_HOME%

    %NODE_HOME%\node-global

  5. D:\Qt\Qt5.6.2\5.6\msvc2015_64\bin
  6. Java SE Development:

    C:\Program Files\Common Files\Oracle\Java\javapath

    %Java_Home%\bin

    %Java_Home%\jre\bin

系統變量:

  1. NODE_HOME =C:\Program Files\nodejs
  2. CLASSPATH=.;%Java_Home%\bin;%Java_Home%\lib\dt.jar;%Java_Home%\lib\tools.jar
  3. Java_Home=D:\Program Files\Java\jdk-15.0.1

編譯步驟

整個編譯步驟會持續三到四個小時,具體的看網速和電腦組態。

  1. 建立一個檔案夾,在檔案夾下打開cmd,執行指令

    git clone https://github.com/ONLYOFFICE/build_tools.git 拉取onlyoffice工具包

  2. cd build_tools 目錄下執行指令 python.configure.py生成檔案config檔案
  3. 執行指令 python.make.py,開始拉取代碼了,一邊拉取一邊編譯
  4. 在編譯core的過程中,qt并沒有執行,是因為config中沒有配置qt的路徑,需要打開config檔案添加qt-dir=“D:\Qt\Qt5.6.2\5.6”

編譯Server:

  1. 修改config檔案中module=“server”,再次執行make.py進行編譯
  2. 編譯成功後,管理者身份打開cmd進入D:\Work\onlyoffice\456\build_tools\scripts\develop目錄,執行run_server.py,啟動服務。出現以下界面後,就可以在浏覽器中輸入localhost:80通路了
Windows下編譯onlyoffice源碼
Windows下編譯onlyoffice源碼
Windows下編譯onlyoffice源碼

關于打包

可以參考官方給出的exe安裝好了以後的檔案夾,把對應編譯好的包放在一個檔案夾裡,然後注冊到Windows服務運作就可以了,裡面的服務注冊成功後,需要用Nignx處理以下,因為源碼配置中有寫到各個服務之間的端口需要統一從Nignx代理的80端口進入。

以上就是onlyoffice在Windows編譯的步驟,有啥問題加QQ群:274407988 進群交流,歡迎指點。

Windows下編譯onlyoffice源碼

繼續閱讀