office online server是Office Web Apps Server的升级版本,安装环境必须为 Windows Server 2012 R2

参考地址:https://technet.microsoft.com/zh-cn/library/jj219455(v=office.16).aspx

注意事项:

  • 请勿在运行 Office Online Server 的服务器上安装任何其他服务器应用程序。包括 Exchange Server、SharePoint Server、Skype for Business Server 和 SQL Server。如果服务器不足,则可以在这些服务器的其中一台的虚拟机上运行 Office Online Server。

  • 不要在端口 80、443 或 809 上安装依赖 Web 服务器 (IIS) 角色的任何服务或角色,因为 Office Online Server 会定期删除这些端口上的 Web 应用程序。

  • 不要安装任何版本的 Office。如果已经安装,在安装 Office Online Server 之前必须将其卸载。

  • 不要在域控制器上安装 Office Online Server。它不会在包含 Active Directory 域服务 (AD DS) 的服务器上运行。

总而言之:最好将office online server部署在一台干净的服务器上,而且该服务器必须在域中

安装步骤:

1.安装服务器windows server 2012 R2,并安装全部更新,重启。

2.以管理员身份打开 Windows 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,InkandHandwritingServices,NET-Framework-Features,NET-Framework-Core,NET-HTTP-Activation,NET-Non-HTTP-Activ,NET-WCF-HTTP-Activation45,Windows-Identity-Foundation,Server-Media-Foundation

3.

安装以下软件:在安装之前,需要不断检查更新并安装更新,直到可以在  “控制面板”>“程序和功能”>“查看已安装的更新”并查找到“Microsoft Windows 更新 (KB2919355)”。

否则安装Visual C++ Redistributable for Visual Studio 2015会报错(可参照https://support.microsoft.com/zh-cn/help/3025135/visual-studio-2015-fixed-bugs-and-known-issues),根据提示进行计算机重启操作。(如找不到该更新,则先安装kb2919442,再安装KB2919355,下载地址

https://www.microsoft.com/en-us/download/details.aspx?id=42153

https://www.microsoft.com/zh-CN/download/details.aspx?id=42334

4. 安装 Office Online Server

5.为 Office Web Online Server 安装语言包,Microsoft 从这个地址下载(简体中文),如:wacserverlanguagepack.exe,若语言包装错了或者未安装,则须卸载错的语言包,再安装新的语言包,同时删除原来的Office Online Server 场和新增Office Online Server 场操作

6.为服务器配置AD域,从计算机属性页面-计算机名称、域和工作组设置中可设置。并添加一个AD域账户,赋予服务器管理员权限

7.用该账户登录服务器,以管理员身份打开 Windows PowerShell 提示符,使用 New-OfficeWebAppsFarm 命令创建一个包含一台服务器的新 Office Online Server 场,如以下示例中所示

New-OfficeWebAppsFarm -InternalURL "http://servername" -ExternalUrl "https://server.external.contoso.com" -AllowHttp -EditingEnabled
  • –InternalURL 内部访问地址,一般是http://机器名.AD域控地址

  • –AllowHttp  是否允许http访问

  • - ExternalUrl 外部访问地址,一般是服务器的ip地址。
  • –EditingEnabled 在 Office Online Server  中启用编辑(如果它与 SharePoint Server 2016 一起使用)。Skype for Business Server 2015 或 Exchange Server 不使用此参数,因为这些主机不支持编辑。

更多参数使用请查看:https://msdn.microsoft.com/zh-cn/magazine/jj219436.aspx

本文只是部署HTTP 的单服务器 Office Online Server 场,关于多服务器和https等请查看https://technet.microsoft.com/zh-cn/library/jj219455(v=office.16).aspx

如果没有报错,访问地址 http://机器名.AD域控地址/hosting/discovery,可看到wopi-discovery文档

第二部分  使用WOPI实现文档在线预览和编辑(编辑支持docx,xlsx,pptx,不支持doc,xls,ppt;在线查看上述都支持

1.代码地址:https://github.com/marx-yu/WopiHost ,使用主分支的代码

2.由于我是用虚拟机部署部署office web app server,需要修改CobaltServer.cs文件的里的地址,使得虚拟机可以访问该地址。如果端口号被占用,也需要修改。

 public CobaltServer(string docsPath, int port = 8082)
{
m_docsPath = docsPath;
m_port = port;
} public void Start()
{
m_listener = new HttpListener();
m_listener.Prefixes.Add(String.Format("http://10.204.13.78:{0}/wopi/", m_port));
m_listener.Start();
m_listener.BeginGetContext(ProcessRequest, m_listener); Console.WriteLine(@"WopiServer Started");
}

3.文件放置根目录在Program.cs文件里,可以自行修改

4.运行程序,访问地址,可查看word文档test.docx,注意:test.docx必须在4所说的根目录下,其他更多url地址访问参考wopi-discovery文档

http://机器名.AD域控地址/wv/wordviewerframe.aspx?WOPISrc=http://10.204.13.78:8081/wopi/files/test.docx&access_token=06l%20hXK6zWTUi

(注,和office web app server不同,不再需要Microsoft.CobaltCore.dll,而且docx文件编辑和xlsx文件一样,也是不用点击保存按钮了,即编辑完会在线保存。经过测试,把源代码转换成webapi的方式进行调用也是可行的)


5. 在线查看的文件大小最好限制在10mb,可自己修改officewebappsfarm的参数:https://technet.microsoft.com/zh-cn/library/jj219442(v=office.16).aspx

6.office online server的日志记录在  %programdata%\Microsoft\OfficeWebApps\Data\Logs\ULS\,需要服务器显示隐藏文件夹和管理员权限,方便查看错误信息以便定位错误。

6.wopi相关文档:

https://wopi.readthedocs.io/en/latest/

https://github.com/Microsoft/Office-Online-Test-Tools-and-Documentation

https://technet.microsoft.com/zh-cn/library/jj219437(v=office.16).aspx

http://www.cnblogs.com/love007/p/6274910.html

office online server部署和简单操作的更多相关文章

  1. office web app server部署和简单操作

    部署环境:windows server 2012 R2,服务器在AD域中 参考网址: https://msdn.microsoft.com/zh-cn/magazine/jj219455(office ...

  2. Postgresql部署及简单操作

    PostgreSQL是一个功能强大的开源对象关系数据库管理系统(ORDBMS),在开源数据库使用上与MySQL各领风骚.但也有不少人质疑postgresql的未来,正所谓,赞扬或批判一种数据库都必须先 ...

  3. C#连接SQL Server数据库进行简单操作

    环境:VS2010 + SqlServer 2008 首先,按照面向对象的程序设计思想,设计一个数据库操作工具类MyTool.cs,该类中封装了关于数据库连接和操作的方法,各个功能模块在需进行数据库操 ...

  4. C#连接SQL Server数据库进行简单操作[转]

    环境:VS2010 + SqlServer 2008 首先,按照面向对象的程序设计思想,设计一个数据库操作工具类MyTool.cs,该类中封装了关于数据库连接和操作的方法,各个功能模块在需进行数据库操 ...

  5. C#对于sql server数据库的简单操作

    1.在用windows模式登陆sql server 数据库 简历一个student的数据库,然后新建查询: create table student ( id int auto_increment p ...

  6. SQL Server 的数据库简单操作

    --创建数据库--create database 数据库名称[on [primary](name='主数据逻辑文件名',filename='完整的路径.文件名和拓展名'[,size=文件大小][,fi ...

  7. Office Online Server 在线编辑Office文档,安装部署

    Office Online Server部署安装 部署环境 一台windows server2012 (搭建域环境)/多次遇坑之后,强烈建议域环境为server2012 一台windows serve ...

  8. 使用Office Online Server在线预览Office

    微软官方文档介绍 ⒈介绍 Office Online Server是 Office Web Apps Server 的升级版本,安装环境必须为两台Windows Server 2012 R2 或 Wi ...

  9. 阿里云服务器Windows Server 2008/2012部署Office Web Server 2013

    以前成功将Office Web Server 2013部署在了本地服务器上,此次是将Office Web Server 2013部署在阿里云服务器Windows Server 2008和2012上,中 ...

随机推荐

  1. delphi中OleContainer的使用总结

    1:定义流的header , OleContainer要求流中要有Headertype //流Header的结构 TStreamHeader = record Signature: Integer; ...

  2. cxGrid控件过滤排序和TClientDataSet同步

    https://www.cnblogs.com/false/archive/2013/02/24/2924240.html procedure TReport10Form.cxGridViewData ...

  3. 通过 sysprocesses 简单查询死锁及解决死锁办法

    简单查询死锁,如下四步可以轻松解决: 第一步:查询死锁语句 1: 条件是 blocked <> 0 select dbid,* from sys.sysprocesseswhere 1=1 ...

  4. ServiceStack NetCoreAppSettings 配置文件读取和设置

    假设Node和npm已经安装 npm install -g @servicestack/cli 执行命令dotnet-new selfhost SSHost 这样就创建了ServiceStack的控制 ...

  5. EF三种编程方式详细图文教程(C#+EF)之Database First

    Entity Framework4.1之前EF支持“Database First”和“Model First”编程方式,从EF4.1开始EF开始支持支持“Code First”编程方式,今天简单看一下 ...

  6. 项目中jsp的存放

    今天早上犯的错, 复习jsp,把jsp放在 WEB-INF 下  我启动项目,想看效果的时候,一直找不到指定的资源404 后来一番探索,我把它拖放在了WebContent  直接访问的,下午看到知识点 ...

  7. Eclipse 导入本地 Git 项目

    File -->  Open Projects From File System 选择项目路径 Finish

  8. Java入门开发POI读取导入Excel文件

    Apache POI是Apache开发的开源的跨平台的 Java API,提供API给Java程序对Microsoft Office格式档案进行各种操作. POI中Excel操作很简单,主要类有 HS ...

  9. cStringIO 实现指定大小的字符串缓存

    StringIO经常被用来作为字符串的缓存,以下实现无论写入多少字符串,总能返回一个指定大小的缓存 from cStringIO import StringIO class CustomStringI ...

  10. 课程一(Neural Networks and Deep Learning),第三周(Shallow neural networks)—— 2、Practice Questions

    1.以下哪一项是正确的?(检查所有适用的) (A,D,F,G) A.  a[2] 表示第二层的激活函数值向量. B. X 是一个矩阵, 其中每一行都是一个训练示例. C. a[2] (12) 表示第二 ...