前言:

网上找了很多资料都是在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访问了

在这里插入图片描述

在这里插入图片描述

关于打包

可以参考官方给出的exe安装好了以后的文件夹,把对应编译好的包放在一个文件夹里,然后注册到Windows服务运行就可以了,里面的服务注册成功后,需要用Nignx处理以下,因为源码配置中有写到各个服务之间的端口需要统一从Nignx代理的80端口进入。

以上就是onlyoffice在Windows编译的步骤,有啥问题加QQ群:274407988 进群交流,欢迎指点。
在这里插入图片描述

Logo

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

更多推荐