部署环境:windows server 2012 R2,服务器在AD域中

参考网址:

https://msdn.microsoft.com/zh-cn/magazine/jj219455(office.15).aspx

http://www.cnblogs.com/yanweidie/p/4516164.html

1.安装windows server 2012 R2,注意不要用预览版,并安装windows更新,重启服务器

2.安装.NET Framework 4.5.2

3.以管理员身份打开 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

4.安装Office Web Apps Server,一般为iso文件,如:cn_office_web_apps_2013_x64_dvd_1133682.iso

5.下载并安装 Office Web Apps Server SP1,wacserversp2013-kb2880558-fullfile-x64-glb.exe

6.为 Office Web Apps Server 安装语言包,Microsoft 从这个地址下载,如:wacserverlanguagepack.exe

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

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

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

  • –AllowHttp  是否允许http访问

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

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

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

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

1.代码地址:https://github.com/marx-yu/WopiHost 有两个分支,主分支对应的是 Office online 2016,release_0.8_for_owa2013对应office web app server 2013,我们使用此分支的代码

2.切换到此分支后,需要另外引用Microsoft.CobaltCore.dll。在部署office web app server的服务器上可搜索到该dll。

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

 public CobaltServer(string docsPath, int port = )
{
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");
}

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

5.运行程序,访问地址,可查看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

注:

1.docx文件保存需要点击保存按钮,而xlsx文件不用。

2.docx文件打开编辑页面存在缓存bug,即打开页面后关闭,在本地用office修改文件,再次用浏览器打开编辑页面,仍为原来的页面,office online server (查看  http://www.cnblogs.com/ldybyz/p/6645127.html)则不会有这个问题

 

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

7.wopi相关文档: https://wopi.readthedocs.io/en/latest/

其他相关博客:

http://www.cnblogs.com/poissonnotes/p/3267190.html

其他源码示例:

https://code.msdn.microsoft.com/office/Building-an-Office-Web-f98650d6

https://github.com/thebitllc/WopiBasicEditor

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

https://github.com/oec2003/OWAEditorSample.git

office online server(office web app server升级版) 相关文档:

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

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

其他文章:

http://www.wictorwilen.se/Tags/Office%20Web%20Apps

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

  1. office online server部署和简单操作

    office online server是Office Web Apps Server的升级版本,安装环境必须为 Windows Server 2012 R2 参考地址:https://technet ...

  2. office web app server 文件预览部署&& wopi 集成使用

    对于需要进行office 套件文档预览的时候大部分大家使用的是插件,或者类似的,解决方案,微软已经为我们提供了比较好的解决 方案 office web app server (目前名称是office ...

  3. Office Web app server 2013 目前无法和windows server 2012 R2兼容。

    另外旧版的office文档和PDF格式不支持预览功能.

  4. Office Web Apps Server 概述

    Office Web Apps Server 是新的 Office 服务器产品,它提供 Word.PowerPoint.Excel 和 OneNote 的基于浏览器的版本.单个 Office Web ...

  5. Office web app server2013详细的安装和部署

    转自:http://blog.csdn.net/u011355311/article/details/9360293 SharePoint 2013集成Office web apps server20 ...

  6. [转载]部署Office Web Apps Server并配置其与SharePoint 2013的集成

    Office Web Apps Server 是新的 Office 服务器产品,它提供 Word.PowerPoint.Excel 和 OneNote 的基于浏览器的版本.单个 Office Web ...

  7. 部署Office Web Apps Server并配置其与SharePoint 2013的集成

    部署Office Web Apps Server并配置其与SharePoint 2013的集成   Office Web Apps Server 是新的 Office 服务器产品,它提供 Word.P ...

  8. Windows Server 2012 R2安装部署Office Web Apps Server

    微软官方参考地址https://technet.microsoft.com/zh-cn/library/jj219455.aspx,建议参考官方说明. 注意:每一步进行完成后重启服务器!!! 一.   ...

  9. office web apps server安装部署

    操作系统:windows 2012 软件下载地址: 链接:https://pan.baidu.com/s/1c3WWFs8 密码:4dcy NDP452-KB2901954-Web.exe(.Net ...

随机推荐

  1. AlexNet详解2

    此处以caffe官方提供的AlexNet为例. 目录: 1.背景 2.框架介绍 3.步骤详细说明 5.参考文献 背景: AlexNet是在2012年被发表的一个金典之作,并在当年取得了ImageNet ...

  2. 二、基于kubernetes构建Docker集群环境实战

    kubernetes是google公司基于docker所做的一个分布式集群,有以下主件组成 etcd: 高可用存储共享配置和服务发现,作为与minion机器上的flannel配套使用,作用是使每台 m ...

  3. 撸.NET Core的正确姿势

    特点 案例基于刚发布的.NET Core 2.1 只需一台Linux服务器搞定一切, 全程无需自己配置dotnet环境, 需要熟悉git docker基础知识可有可无, 过了下面几个步骤,你就已经入门 ...

  4. idea使用Protobuf插件

    1.protobuf简介 Protobuf是一个灵活的.高效的用于序列化数据的协议.相比较XML和JSON格式,protobuf更小.更快.更便捷.Protobuf是跨语言的,并且自带了一个编译器(p ...

  5. Python-使用PyQT生成图形界面

    1.安装PyQT5以及QT Designer工具包 pip install PyQt5 pip install PyQt5-tools -i http://pypi.douban.com/simple ...

  6. Synchronzied与ReentrantLock

  7. JS实现网页背景旋转缩放轮播效果

    实现效果:效果预览 css代码: .switch_images { display: inline-block; margin:; padding:; width: 100%; height: 100 ...

  8. Flask常用的钩子函数

    before_first_request:处理第一次请求之前执行.例如以下代码: @app.before_first_request def first_request(): print 'first ...

  9. Error: insufficient funds for gas * price + value

    有位同学今天用 web3+infura 获取 Rinkeby测试网络 的账号信息,报错如下: (node:18356) UnhandledPromiseRejectionWarning: Error: ...

  10. Oracle数据库中NARCHAR转换成NUMBER类型

    1.修改后的代码: public void addDirectorActorKeyword(long idStart, long idEnd) { SeriesMgr seriesMgr = new ...