『配置』服务器搭建 Office Online Server2016 实现文档预览
博主有话说:这个过程我遇到了很多错误,所以出了一个错误整理文章,所以当你在配置过程中遇到了问题,可以先去这篇文章里找找!加油!
先打开我吧:https://www.cnblogs.com/pukua/p/11864340.html
背景
由于公司需要,需要搭建一套供在线浏览PPT、PDF、word、xls的环境,所以找到解决方案是Office Online Server。为啥?因为……免费
然后我就去搜了很多资料,看到各种各样的说法,基本都没有一个详细的步骤,所以我就集百家智慧于一体,做了一个汇总总结。你要是看到有熟悉的话,不要惊讶,我就是摘抄而来的。所有来源文章已在文章末尾附上来源,若有侵权,请联系我,我会删掉的。
总而言之,就是“一把辛酸泪”~
配置这个过程,踩坑踩到怀疑人生,配置过程繁琐至极。
所以,若你在看这篇文章的话,一定要静下心来细细看,莫急莫躁,因为一不小心进坑了,一时半会转悠不出来。
服务器环境要求
介绍
Office Online Server是 Office Web Apps Server 的升级版本,安装环境为两台Windows Server 2012 R2 或 Windows Server 2016/2019服务器(注意:Windows Server 2016/2019 需要 Office Online Server 2017 年 4 月或更高版本。)。一台做转换服务器(安装 Office OnlineServer 2016 软件,除此之外不能安装与office相关的其他程序),一台做域控服务器(转换服务器只有加在域下才能被访问,同时项目部署服务器只有加在域控服务器下才能访问转换服务器)。最好将Office Online Server部署在一台干净的服务器上,而且该服务器必须在域中。
注意事项:
1.请勿在运行 Office Online Server 的服务器上安装任何其他服务器应用程序。包括 Exchange Server、SharePoint Server、Skype for Business Server 和 SQL Server。如果服务器不足,则可以在这些服务器的其中一台的虚拟机上运行 Office Online Server。
2.不要在端口 80、443 或 809 上安装依赖 Web 服务器 (IIS) 角色的任何服务或角色,因为 Office Online Server 会定期删除这些端口上的 Web 应用程序。
3.不要安装任何版本的 Office。如果已经安装,在安装 Office Online Server 之前必须将其卸载。
4.不要在域控制器上安装 Office Online Server。它不会在包含 Active Directory 域服务 (AD DS) 的服务器上运行。
环境搭建所需软件
注:这里仔细看服务器的系统版本
1、转换服务器、域控服务器环境安装的操作系统可以为Windows Server 2012 R2、Windows Server 2016/2019。经测试,均都可以。不过各有各的问题。
域控服务器:版本没有太大的限制,Windows Server 2012 R2、Windows Server 2016/2019均可以。 转换服务器(安装Office Online Server 的服务器):
当系统为Windows Server 2012(https://blog.csdn.net/mr_muggle/article/details/81505142):安装Visual C++ Redistributable for Visual Studio 2015的时候时候会设置失败
解决方案:
下面第七条的更新包的作用就是为了解决这个问题的。在Windows Server 2012 R2的更新包里解决了安装2015时设置失败这个问题。
方案来源:https://blog.csdn.net/neochan1108/article/details/78084073
当系统是Windows Server 2019时:

解决方案:
据说这个错误是微软的一个小BUG,有两种方案:要么降低服务器系统版本,要么升级Office Online Server版本。
灵感来源:https://www.cnblogs.com/olay/p/7590994.html
综上所述:你要根据你的服务器系统的版本决定你Office Online Server的版本。
2、Office Online Server安装包+中文语言包
迅雷下载链接: 当服务器系统版本为Windows Server 2012 R2时,Office Online Server的下载包:ed2k://|file|cn_office_online_server_may_2016_x64_dvd_8480704.iso|709687296|99014E02579B6E08E7172D05857F2D05|/
当服务器系统版本为Windows Server 2016/2019时,Office Online Server的下载包:ed2k://|file|cn_office_online_server_last_updated_november_2017_x64_dvd_100181918.iso|770267136|0660AFCFE1AC9A62E749194874643E98|/ 中文语言包:ed2k://|file|cn_office_online_server_language_pack_may_2016_x64_8783021.exe|122025248|3E8073A25EE45E0C106E34FA86CB006B|/
4、Visual C++ Redistributable Packages for Visual Studio 2013
5、Visual C++ Redistributable for Visual Studio 2015(如果安装了Visual C++ Redistributable for Visual Studio 2017则不需要再安装2015了)
6、Microsoft.IdentityModel.Extention.dll
7、Windows Server 2012 R2 更新 (KB2919355)包
软件的作用在搭建过程中都会说到,文件来源可去我附的百度云盘中统一下载,也可以去我每个文件后面所附的链接下载。 百度云盘网址:https://pan.baidu.com/s/1SgUm8tRvMWIvp2GRorwAXQ 提取码:fdug
环境搭建
1、如果没有足够的服务器可用虚拟机代替。(VMWare。版本最好就是10且不要升级,可能会造成不必要的麻烦。)
2、创建两个虚拟机并安装Windows Server 2012 R2系统(具体安装步骤可去网上搜),作为域控服务器和转换服务器。
一切都准备好后~
搭建域控服务器
1、打开“服务器管理”,点击“添加角色和功能”

2、默认的小步伐,点击“下一步”;

3、默认的小步伐继续,“下一步”

3、默认,下一步;

4、添加AD域服务器,点击“添加功能”;

5、点击“下一步”;

6、安装.net3.5

7、默认,下一步;

8、点击“安装”;

9、点击“此服务器提升为域控制器”;

10、添加新林(注意:这里记一下自己命名的域名,配置转换服务器时会用到。);

11、域控制器选项;

12、点击“下一步”;

13、点击“下一步”;

14、默认,点击“下一步”;

15、默认,“下一步”;

16、点击“安装”,等待安装完成。

域控服务器的作用基本到这。之后除了会用到域控服务器的一些信息之外,基本不会再在域服务器进行其他操作。
搭建转换服务器
在这之前添加一下“墨迹与手写服务”,若已经安装,就不需要再“添加角色和功能向导”。

1、更改“DNS地址”(注意:不要将域服务器名称和转换服务器的名称输错,不然不能将计算机加入域中);
2、更改“域名”;

3、输入域服务器的账号和密码,点击“确定”;

4、加入域成功;

5、立即重新启动

6、验证是否加入域中。

7、WIN+R,输入“gpedit.msc”

8、将组件修复功能启用;

9、刷新组策略,打开“PowerShell”,输入“gpupdate / force”,刷新;


10、安装角色与服务(可以在服务器管理里操作,也可以用下面这一段话来操作。作用一致)
以“管理员身份”在“PowerShell”里输入下面命令;
Add-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,NET-Framework-Features,NET-Framework--Features,NET-Framework-Core,NET-Framework--Core,NET-HTTP-Activation,NET-Non-HTTP-Activ,NET-WCF-HTTP-Activation45,Windows-Identity-Foundation,Server-Media-Foundation

11、安装所需软件
前面已经将软件安装包都附上了。
11.1安装NET Framework 4.5.2(NDP452-KB2901954-Web.exe);

11.2 安装成功;

11.3 安装Visual C++ Redistributable Packages for Visual Studio 2013(vcredist_x64.exe);

11.4安装成功;

11.5 安装Visual C++ Redistributable for Visual Studio 2015(vc_redist.x64.exe);

11.6 安装成功;

11.7 安装Microsoft.IdentityModel.Extention.dll(MicrosoftIdentityExtensions-64.msi);

11.8 点击“Finish”,安装成功;

11.9 安装Office Online Server 2016(setup.exe),双击“setup.exe”;

11.10 点击“继续”;

11.11 点击“立即安装”;

11.12 正在安装中

11.13 安装完成

11.14 安装语言包(cn_office_online_server_language_pack_may_2016_x64_8783021.exe)

11.15 安装完成

12、以“管理员”身份打开“PowerShell”,输入“New-OfficeWebAppsFarm -InternalURL "http://172.31.202.183"-AllowHttp –EditingEnabled”;
(注意:这里“http://172.31.202.183”是指转换服务器的IP地址
若http:// 192.168.128.160/hosting/discovery 能登录,http://192.168.128.160/op/generate.aspx显示“服务器错误”,控制台输入:Set-OfficeWebAppsFarm -OpenFromUrlEnabled:$true即可访问成功)

13.输入“Y”,若如下图所示,则证明你配置成功;

15、输入“http://172.31.202.183/hosting/discovery”,若显示如下界面,既证明配置成功;

16、输入“http://172.31.202.183/op/generate.aspx”

17、第16条中“域名形式”的链接,就是你存放文件的路径,在这里我是搭建的IIS网站;
(若是不会搭建网站,可去搜索IIS网站搭建)

18、由于微软这款软件对IP有访问限制,所以需将IP转化为域名进行访问,所以需要进行配置,来让软件自动进行域名转化为IP,具体路径如下,找到
(注:此IP是指要访问文档路径的IP)以记事本的方式打开hosts文件。

19、以“记事本”的形式打开hosts文件,然后在最后一行加入一句话,如下:
(hosts文件没法直接保存在当前目录。需要以文本的形式保存到其他路径,然后再复制到原路径下)

终于,完成了~
这个胜利的曙光来之不易a~

十分感谢大佬们的辛勤码字,有了你们的分享我才能得以搭建完成,此致,敬礼:
https://www.cnblogs.com/fanqisoft/p/10506286.html
https://www.cnblogs.com/guarderming/p/10984175.html
https://www.mr-mao.cn/archives/deployment-office-online-server-for-seafile.html
https://blog.xcdnd.com/108.html
『配置』服务器搭建 Office Online Server2016 实现文档预览的更多相关文章
- 『配置』服务器搭建 Office Online Server2016 实现文档预览 番外 错误篇
安装一个或多个角色.角色服务或功能失败.找不到源文件.请再次尝试在新的“添加角色和功能”向导会话中安装角色.角色服务或功能,然后在向导的“确认”页中单击“指定备用源路径”以指定安装所需的源文件的有效位 ...
- 微软office web apps 服务器搭建之在线文档预览(一)
office web apps安装 系统要求为Windows Server 2012, 注意:转换文档需要两台服务器,一台为转换server,另外一台为域控server.(至于为什么要两台,这个请自行 ...
- 微软office web apps 服务器搭建之在线文档预览(二)
上一篇文章已经介绍了整个安装过程了.只要在浏览器中输入文档转换server的ip,会自动跳转,出现如下页面. 那么就可以实现本地文档预览了,你可以试试.(注意:是本地哦,路径不要写错,类似“\\fil ...
- 在线文档预览方案-office web apps
最近在做项目时,要在手机端实现在线文档预览的功能.于是百度了一下实现方案,大致是将文档转换成pdf,然后在通过插件实现预览.这些方案没有具体实现代码,也没有在线预览的地址,再加上项目时间紧迫.只能考虑 ...
- [转载]在线文档预览方案-Office Web Apps
最近在做项目时,要在手机端实现在线文档预览的功能.于是百度了一下实现方案,大致是将文档转换成pdf,然后在通过插件实现预览.这些方案没有具体实现代码,也没有在线预览的地址,再加上项目时间紧迫.只能考虑 ...
- 在线文档预览方案-office web apps续篇
上一篇在线文档预览方案-office web apps发布后收到很多网友的留言提问,所以准备再写一篇,一来介绍一下域控服务器安装,总结一下大家问的多的问题,二来宣传预览服务安装与技术支持的事情. 阅读 ...
- 解决officeOnline文档预览服务器只能域名提交的限制Redirect
此项目是解决officeOnline文档预览只能用域名提交的限制 http://officeOnline文档预览域名或IP/op/generate.aspx // 微软原生页面 创建链接后会生成全屏预 ...
- 微软office web apps 服务器搭建之在线文档预览
案例:http://owa.linbsoft.com/op/generate.aspx# 文档地址:http://demo.linbsoft.com/CourseFile/201407/2014070 ...
- 如何用代码读取Office Online Server2016的文档的备注信息
前言 在一个项目上客户要求读取office online server 2016的对文档的备注信息,如下图: 以前思路老纠结在OOS这个在线上,总有以为这个信息存储在某个列表中,其实错了,这个备注信息 ...
随机推荐
- AI动作捕捉技术,会让制造业大幅度降低成本吗?
现代动作捕捉系统应该是起源于100多年前的动画工业,通过一种叫做"动态遮罩或影像描摹"的技术,动画师们可以获得流畅的.栩栩如生的动作:后来到了20世纪80年代,动画师们设计出带有活 ...
- King of the Waves
You are organising a king of the hill tournament, the Buenos Aires Paddleboarding Competition (BAPC) ...
- iOS 去掉导航栏最下面线的方法
导航栏透明,但是字体就不显示了,所以不可行. 下面两种方法是让导航栏下面的线不显示. // 方法1: [[self.navigationController.navigationBar.subview ...
- 康耐视软件VisionPro-max-u与VisionPro-plus-u的区别
康耐视软件VisionPro-max-u与VisionPro-plus-u的区别 1.VisionPro-plus-u为基础版可以直接运用该软件包的算法,拖拽式的窗口程序 2.VisionPro-ma ...
- django框架基础-ORM单表操作-长期维护
############### 单表操作-添加数据 ################ import os if __name__ == '__main__': os.environ.set ...
- scala语言yield配合for的用法实例
yield配合for的用法 话不多说见实例 package com.donews.reynold /** * Created by reynold on 2017/3/23. */ object Sc ...
- “大屏,您好!” SONIQ声光揭新品“U•F•O”神秘面纱
作为全球第一批做互联网智能电视的传媒企业,SONIQ声光于4月22日在中国大饭店举行了盛大的新品发布会.其中的重头戏就是当天发布会上作为先锋部队入驻中国电视市场的"UFO".笔者作 ...
- emacs 入门第一课:Emacs里的基本概念
Table of Contents 无聊的开场白 buffer(缓冲区) window(窗口)与frame Emacs的mode Emacs Lisp 函数function.命令command.键绑定 ...
- Log4j输出的日志乱码问题
设置日志输出编码: log4j.appender.stdout.Encoding=UTF-8
- HttpClient GET和POST请求
package com.rogue.hclient; import java.io.BufferedReader; import java.io.IOException; import java.io ...
