office online server部署和简单操作
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部署和简单操作的更多相关文章
- office web app server部署和简单操作
部署环境:windows server 2012 R2,服务器在AD域中 参考网址: https://msdn.microsoft.com/zh-cn/magazine/jj219455(office ...
- Postgresql部署及简单操作
PostgreSQL是一个功能强大的开源对象关系数据库管理系统(ORDBMS),在开源数据库使用上与MySQL各领风骚.但也有不少人质疑postgresql的未来,正所谓,赞扬或批判一种数据库都必须先 ...
- C#连接SQL Server数据库进行简单操作
环境:VS2010 + SqlServer 2008 首先,按照面向对象的程序设计思想,设计一个数据库操作工具类MyTool.cs,该类中封装了关于数据库连接和操作的方法,各个功能模块在需进行数据库操 ...
- C#连接SQL Server数据库进行简单操作[转]
环境:VS2010 + SqlServer 2008 首先,按照面向对象的程序设计思想,设计一个数据库操作工具类MyTool.cs,该类中封装了关于数据库连接和操作的方法,各个功能模块在需进行数据库操 ...
- C#对于sql server数据库的简单操作
1.在用windows模式登陆sql server 数据库 简历一个student的数据库,然后新建查询: create table student ( id int auto_increment p ...
- SQL Server 的数据库简单操作
--创建数据库--create database 数据库名称[on [primary](name='主数据逻辑文件名',filename='完整的路径.文件名和拓展名'[,size=文件大小][,fi ...
- Office Online Server 在线编辑Office文档,安装部署
Office Online Server部署安装 部署环境 一台windows server2012 (搭建域环境)/多次遇坑之后,强烈建议域环境为server2012 一台windows serve ...
- 使用Office Online Server在线预览Office
微软官方文档介绍 ⒈介绍 Office Online Server是 Office Web Apps Server 的升级版本,安装环境必须为两台Windows Server 2012 R2 或 Wi ...
- 阿里云服务器Windows Server 2008/2012部署Office Web Server 2013
以前成功将Office Web Server 2013部署在了本地服务器上,此次是将Office Web Server 2013部署在阿里云服务器Windows Server 2008和2012上,中 ...
随机推荐
- 怎样SQL存储过程中执行动态SQL语句
MSSQL为我们提供了两种动态执行SQL语句的命令,分别是EXEC和sp_executesql;通常,sp_executesql则更具有优势,它提供了输入输出接口,而EXEC没有.还有一个最大的好处就 ...
- Aspose.Words 将word2中的内容插入到word1中的指定位置
将word2中的内容插入到word1中的指定位置(经测试可用) 在官网找到的例子,记录一下: public static void InsertDocumentAtBookmark(string da ...
- 语音识别功能_微信小程序代办清单任务
最近想给自己的代办清单任务微信小程序想加个语音识别识别功能,废话不多说,直接说重点,语音识别使用的是百度语音识别api,因为微信小程序的录音输入文件目前只能是mp3或aac 但是百度语音识别不支持这两 ...
- 用Socket来简单实现IIS服务器
刚刚接触ASP.NET编程,为了更好的屡清楚服务器的处理过程,就用Socket模拟服务器来处理请求.用Socket来模拟服务器的时候,同样是自己来封装一些对应的类文件.包括 HttpRequest.H ...
- Ef-Code-First 使用实体类映射出数据库
最近面试时很多面试官都问到了EF框架 好记性不如烂笔头 赶紧记下来 code-first是EF框架中的一种,是使用实体类来进行数据库表的映射,所以实体类中的字段要规范(我认为) 比如: 如果有外键的话 ...
- atom编辑器社区插件推荐
atom是github出品的文本编辑器,为开发者又提供了一款易用.牛逼的文本编译器.在开始接触前端并从工作开始一直用webstrom来进行前端开发,开始使用时,被他各种强大神奇的功能给折服:支持zen ...
- Android---------------Activity的学习
一.Activity的启动方式 1.显示启动 Intent intent=new Intent(MainActivity.this,SettingActivity.class); //还可以这 ...
- BZOJ 3357--[Usaco2004]等差数列(STL&DP)
3357: [Usaco2004]等差数列 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 516 Solved: 241[Submit][Statu ...
- git关联githup和码云
1.与已有的本地仓库关联git remote add origin git@github.com:michaelliao/learngit.git然后就可以协作开发push与pull 2.第二种方法直 ...
- Redis---skipList(跳跃列表)
1. 概述 跳跃表是一种有序的数据结构, 他通过在每个节点中维持多个指向其他节点的指针, 从而达到快速访问节点的目的. 大部分情况下, 跳跃表的效率可以和平衡树相媲美. Redis中只在两处用到了跳跃 ...