微软 Office Online Server 2016 服务安装部署
更多精彩内容请关注公众号:闲人张
前言
项目需要实现在线文档预览功能,网上开源支持不友好,对比了几家收费的最后发现了微软的office web apps和office online serve可满足需求,而且经过测试对office文档支持友好,通过view.officeapps.live.com/op/view.asp… 的方式即可实现。 项目需要私有化部署,所以需要手动搭建服务。网上查阅资料发现搭建过程坑比较多,这里记录下自己的搭建过程及遇到的问题,整个过程参考官网
这里记录下几家收费的,方便日后需要:
准备工作
- 准备两台干净的服务器
一定是两台。一台作为域控制器,一台作为转换服务。 若放在一台上可能会出现只能预览excel无法预览word,ppt的情况 为什么需要域,官方要求所有服务必须是域的一部分 服务器要求必须是 Windows Server 2012 R2 或 Windows Server 2016
这里我在阿里云购买了两台ECS,Windows Server 2012 R2 64位
- 转换服务上下载office online server 2016 的中文安装包和语言包
ed2k://|file|cn_office_online_server_may_2016_x64_dvd_8480704.iso|709687296|99014E02579B6E08E7172D05857F2D05|/
ed2k://|file|cn_office_online_server_language_pack_may_2016_x64_8783021.exe|122025248|3E8073A25EE45E0C106E34FA86CB006B|/
- 转换服务上下载所需软件
.NET Framework 4.5.2 Visual C++ Redistributable Packages for Visual Studio 2013 Visual C++ Redistributable for Visual Studio 2015 Microsoft.IdentityModel.Extention.dll
安装时按此顺序安装
域服务安装
参考这篇博客,博客内容较为详细,这里就不图文并茂了!
安装域
graph LR
打开服务器管理器 --> 添加角色和功能 --> 下一步... --> 服务器角色 --> 选择ActiveDirectory域服务 --> 添加功能 --> 下一步 --> 完成安装
配置域
graph LR
打开服务器管理器 --> 选择ADDS --> 点击黄色提示更多 --> 将此服务器升级为域控制器 --> 添加新林 --> 输入域 --> 下一步 --> 填写密码 --> 下一步... --> 点击安装
将转换服务器加入到域控服务器
此操作在转换服务器中
graph LR
控制面板 --> 网络和Internet --> 网络连接 --> TCP/IPv4 --> 使用下面的DNS --> 首先DNS输入域的IP --> 完成
此操作在转换服务器中
graph LR
控制面板 --> 系统和安全 --> 系统 --> 更改设置 --> 修改计算机名称 --> 隶属于域填入配置域时添加新林所设置的域 --> 完成
此操作在域服务器中
graph LR
打开服务器管理器 --> 管理 --> 添加服务器 --> 输入转换服务器的名称 --> 立即查找 --> 将搜索到的服务器双击添加到右边 --> 点击确定
在域控服务器中,所有服务器显示两台服务器,并都是联机状态则表示成功
转换服务安装
安装
- 以管理员身份打开powershell安装系统角色输入命令:
Install-WindowsFeature Web-Server,Web-Mgmt-Tools,Web-Mgmt-Console,Web-WebServer,Web-Common-Http,Web-Default-Doc,Web-Static-Content,Web-Performance,Web-Stat-Compression,Web-Dyn-Compression,Web-Security,Web-Filtering,Web-Windows-Auth,Web-App-Dev,Web-Net-Ext45,Web-Asp-Net45,Web-ISAPI-Ext,Web-ISAPI-Filter,Web-Includes,InkandHandwritingServices,Windows-Identity-Foundation,Server-Media-Foundation
完成后重启
- 依次安装下载的所需软件
- 安装office online及语言包
启动
- 以管理员身份打开powershell启动服务场:
Import-Module OfficeWebApps
- 部署服务器场:
New-OfficeWebAppsFarm -InternalURL “http://xx.domin.com” -ExternalUrl “http://ip” -AllowHttp –EditingEnabled
InternalURL: 是运行 Office Online Server 服务器完全限定的域名 (FQDN),如 servername.contoso.com。 ExternalURL: 是可以在 Internet 上访问的 FQDN。 EditingEnabled: 为可选,它在 Office Online 中启用编辑 AllowHttp: 配置要使用 HTTP 的场。
若出错:office online 服务未能启动
虚拟机安装需要手动创建注册表 regedit.exe -> HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/EventLog/Microsoft Office Web Apps再次部署服务器场执行命令
出现如下提示即部署成功
浏览器 输入:http://ip/hosting/discovery 得到以下的结果就代表成功了
若http://ip/hosting/discovery 能登录,http://ip/op/generate.aspx显示“服务器错误” 输入 Set-OfficeWebAppsFarm -OpenFromUrlEnabled:$true 即可访问成功
其他配置
office online server 对大文件会有限制,所以需要配置才能进行访问 修改下面两个目录下的Settings_Service.ini,添加: C:\Program Files\Microsoft Office Web Apps\OpenFromUrlHost C:\Program Files\Microsoft Office Web Apps\OpenFromUrlWeb
OpenFromUrlMaxFileSizeInKBytes=(System.Int32)512000
配置完成后使用CMD命令,输入services.msc打开服务,重启office online服务
浏览在线文档 http://xx.domin.com/op/view.aspx?src=https://xxx.com/resources/xxx.docx
浏览域所在服务文档 http://xx.domin.com/wv/wordviewerframe.aspx?WOPIsrc=http://文件服务ip:端口/wopi/files/xxx.docx
若访问异常 检查防火墙是否关闭 若修改样式,如去掉下载 分别修改 C:\Program Files\Microsoft Office Web Apps\WebWordViewer\Resources\2052\wordviewer.css C:\Program Files\Microsoft Office Web Apps\ExcelServicesWfe_layouts\App_Scripts\Ewa.cuixas.js C:\Program Files\Microsoft Office Web Apps\WebPPTViewer\pptresources\2052\stylesRead.css 将cui-herobar-toolbarContainer display 设置为 none 项目需要隐藏掉文件的src,可用nginx,网关,OpenResty等。这里通过接口代理+url加密解密的方式处理
@GetMapping("/officeView")
public void officeView(HttpServletResponse response, String targetUrl) throws IOException {
//url 处理 。。。
String finalUrl = targetUrl;
URL url = new URL(finalUrl);
BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream()));
String line;
PrintWriter out = response.getWriter();
while ((line = in.readLine()) != null) {
out.println(line);
}
out.flush();
in.close();
}
其他配置可参考这里
编辑功能实现
文件编辑只可编辑文件服务器上的文件,须部署相应jar包。仅支持docx,xlsx,pptx格式编辑 浏览域所在服务文档 xx.domin.com/wv/wordview… 时可启用编辑功能
若需要相关安装文件及jar包,请关注公众号:闲人张 获取