office 文件在线协作编辑——解决方案1(基于sharepoint的二次开发)
概述
office 文件在线协作编辑主要是指word、excel、ppt的多人在线协作编辑,实时同步的功能;
这里主要介绍解决方案之一——基于sharepoint的二次开发(还可以基于wopi实现)的实现方式,该方案主要分两个步骤:
- 部署sharepoint
- 基于sharepoint的二次开发
本篇主要讲解sharepoint环境的部署,后续的文章会介绍sharepoint的二次开发和wopi的实现,大家有任何问题,欢迎添加文末的QQ群交流。
部署sharepoint
所有服务器都是针对阿里云 win server R2 数据中心版配置
1. 安装配置域控
2. 安装配置Office Online
3. 安装配置SqlServer
4. 安装配置SharePoint
1. 安装配置域
- 修改域控服务器、客户端服务器的机器名(方便后续操作);
- 安装域控——预控的安装方式很简单,网上也有很多参考教程,这里就不详述了。
注意事项:
- 在其他客户端加入域控时,最好先用客户端管理员账号将该客户端的域账号提升为管理员权限,方便后续的配置
- 域控服务器最好打开外网ip,否则加入域控的客户端服务器不发连接外网,在客户端上安装程序时,有些安装过程需要在线下载
- 域服务器上默认是开了密码策略的,如果要关闭的话可以按一下操作:
1. 打开服务器管理器仪表板
2. 选择右上角的工具>组策略管理
3. 找到对应的域,右键 Default Domain Policy>编辑>计算机配置>策略>windows 设置>安全设置>账户策略>密码策略 然后就可以修改了
2. 安装配置Office Online
- 将Office Online服务器加入域
- 确保当前登录的域账号是管理员
- 用管理员身份运行 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
- 安装以下软件
- NET Framework 4.5.2
- Visual C++ Redistributable Packages for Visual Studio 2013
- Visual C++ Redistributable for Visual Studio 2015
- Microsoft.IdentityModel.Extention.dll
- 安装Office Online Server
- 安装证书(如果对外要使用https 的话)
1. 运行MMC
2. 文件 -〉添加/删除管理单元”->列表中选择“证书”->点击“添加”-> 选择“计算机帐户” ->点击完成
3. “个人”- “证书”,右键单击,选择“所有任务-〉导入”, 根据“证书导入向导”的提示,将.pfx格式文件导入,注意导入过程选择“根据证书内容自动选择存储区”
4. iis 中给对应站点绑定证书
- 新建场
# 确保外网联通的(联通不了的话可以在域控里面加正向查找区域或者添加dns转发)因为在验证证书的时候如果没有联网会提示找不到证书New-OfficeWebAppsFarm -InternalUrl "内网地址(一般可以用机器名+域控)" -ExternalUrl "外网地址(可以是ip、最好还是用域名)" -CertificateName "证书友好名称" -EditingEnabled -OpenFromUrlEnabled# 如无法识别 New-OfficeWebAppsFarm cmdlet,请执行 Import-Module -Name OfficeWebApps# -OpenFromUrlEnabled 是访问/op/generate.aspx 所必须的,在/op/generate.aspx中可以查看文件的预览效果(先将文件放入一个共享文件夹中,在/op/generate.aspx 中生成文件预览地址即可)# 如果需要开启office 插件(office 插件 后面会单独开一篇文章来讲) 请执行
Set-OfficeWebAppsFarm -OfficeAddinEnabled#关闭office插件
Set-OfficeWebAppsFarm -OfficeAddinEnabled:$false
- 测试
访问host+ /hosting/discovery或者/op/generate.aspx
- 如果使用配置的https的话请使用https的地址访问
- 如果是本地共享文件、记得给该文件everyone 权限
3. 安装配置SQLServer
- 将SQLServer服务器加入域
- 确保当前登录的域账号是管理员
- 安装SQLServer(正常安装即可,遇见需要选择账号的时候选择当前登录的域账号就可以了)
- 安装完成后(SQLServer2016 的ssms 需要单独下载安装),windows认证连接进入数据库,数据库用户添加sharepoint服务器的域账号,同时添加sysadmin 角色(sharepoint 需要建库建表等权限)
注:安装过程请确保网络,如果遇到卡顿(要么翻墙要么等吧…我当时等了2个多小时)
4. 安装配置SharePoint
- 将SharePoint服务器加入域
- 确保当前登录的域账号是管理员
- 确保网络通畅
- 先安装界面上的准备文件(也可以手动执行安装包中的prerequisiteinstaller.exe)
- 执行安装
- 选择创建新的场(第一次装,肯定没有场,所以选它)
- Database Server 填写SQLServer服务器的地址(机器名+域控)(如果安装SQLServer时用的是默认实例名,否则地址中请带上实例名)
- 数据库的登录账号使用将SharePoint服务器域账号
- 填写服务器场密码
- 服务器场角色选择 单一服务器场
- 修改端口号(不修改的话,每一个管理中心的端口是随机的)
- 按照配置向导,配置sharepoint中的第一个web 应用程序
- 如果不用sharepoint的搜索功能的话,最好关掉,太占内存了,具体操作方式如下:
# 在windows 服务中将下面两个服务 设置为禁用
SharePoint Search Host Controller
SharePoint Server Search 16# 在shapoint 命令窗口中使用 Get-SPServiceInstance 获取服务ID,Stop-SPServiceInstance 停掉服务(搜索主机控制器服务、SharePoint Server Search、Search Query and Site Setting...)PS C:\Users\SPAdmin> Get-SPServiceInstance
....
PS C:\Users\SPAdmin>
Stop-SPServiceInstance -Identity {Identity } // Get-SPServiceInstance 命令或得的ID
到这儿sharepoint 就安装完成了,可以在浏览器中去预览刚刚配置向导建好的web 应用程序
接下来是配置sharepoint 和 office online 服务器的关联
- 证书安装
- 创建sharepoint 和office online 之间的绑定
New-SPWOPIBinding -ServerName <WacServerName> # 切记,如果你要在域控之外的网络环境使用sharepoint 的话, WacServerName 请填写office online 场的外网地址(该地址如果是http的话,请将Get-SPWOPIZone 设置为external-http)Set-SPWOPIZone -zone "external-https" # 外网使用https 访问$Farm = Get-SPFarm
$Farm.Properties.Add("WopiLegacySoapSupport", "<URL>/x/_vti_bin/ExcelServiceInternal.asmx");
$Farm.Update();# URL 为外网office online 地址
- 如果配置错了可以使用一下命令删除配置
Remove-SPWOPIBinding -All:$true
到这儿 sharepoint 和office online 的绑定就配置完了
接下来 测试文件预览
- 在sharepoint 中新建一个网站集,指定网站集管理员A,A 不能是sharepoint 账号
- 进入刚创建的网站集,使用A 账号登录,上传一个文档,即可预览编辑
- 如果要在域外访问,选择 系统设置>配置备用访问映射 配置对应的地址即可
到这儿 所有配置就完成了 ,接下来就先引出了下一篇文章,说说如何进行二次开发
- 首先sharepoint 是基于windows 认证的,在开发过程中涉及到的用户一般是没有在域里面,不同的业务系统都会有自己的用户提醒,所以需要将业务系统的用户体系和sharepoint的用户做适配,这个过程我们可以通过sharepoint基于Form 的AD 认证来实现
- 开发环境的配置,我们在进行sharepoint的二次开发的时候vs要怎么配置
- 我们怎么将sharepoint的api通过我们自己的服务暴露出去
- 二次开发的一些具体注意事项
- …
结束语
很久之前就想把这个系列的文章整理出来了,在实现了sharepoint与业务系统对接完成后,发现sharepoint的文件协作编辑虽然很完善,二次开发也不难,但也有很多致命的缺点,比如服务器成本太高,部署难度大,所以又去研究了WOPI,目前基于这两种解决方案都有了成熟的案例,感兴趣的朋友可以加下面这个QQ群一起讨论,如果有企业朋友需要合作的话直接添加QQ:779393868.
office 文件在线协作编辑——解决方案1(基于sharepoint的二次开发)相关推荐
- qt 二维地图库_Qt轻量级地图解决方案:基于QtLocation的二次开发(四)
写在前面 在本系列的上一篇中,我将从<Qt之美1:数据指针和私有实现>中的例子抄过来,说明了Qt中源码中(同时也是QtLcation模块中)大量存在的D-P机制.这种设计模式实现了动态库的 ...
- 畅写Office云端SDK :“硬核”赋予企业应用在线文档I在线协作编辑I在线预览I在线格式转换服务
畅写Office是北京稻壳互联数据科技有限公司旗下云端服务产品, 其云服务团队经过数月的努力,国内首次实现Office公有云SDK(类似微软Office365 SDK服务),以支持更多企业SAAS公有 ...
- 跨平台(uni-app)文件在线预览解决方案
1024刚过,也祝愿各位码友在今后生活中,身体健康,事事顺心,再无Bug. 一.前言 之前写过一篇文章关于上传目录文件:uni-app系统目录文件上传(非只图片和视频)解决方案,这次来解决文件预览问题 ...
- java 协作编辑,在线协作编辑器之周报收集
在线协作编辑器之周报收集 一.实验说明 下述介绍为实验楼默认环境,如果您使用的是定制环境,请修改成您自己的环境介绍. 1. 环境登录 无需密码自动登录,系统用户名shiyanlou 2. 环境介绍 本 ...
- 据说这是熟练掌握python的爷们_dongbei 是一门基于 Python 3 二次开发的东北方言编程语言...
dongbei - 东北方言编程语言 学编程,就整东北浪! 体格咋地 扫码关注原作者微信公众号"老万故事会": 引言 dongbei是啥?它是一门以东北方言词汇为基本关键字的以人为 ...
- 基于Visio的二次开发
基于Visio的二次开发 前一段时间,由于项目的需要:学习了一些关于Visio二次开发的知识:现在工具基本成形了,也算告一段落了:因此想总结一下关于Visio的二次开发的一些基本知识: 对于基于Vis ...
- WordPress主题 Vieu主题V4.5无授权无限制版 基于Dux主题二次开发 完美运行
模板简介: WordPress主题vieu基于Dux主题二次开发!的一款专业打造轻量级个人企业风格博客主题!专注于前端开发,全站响应式布局自适应模板.适用范围:wordpress主题.WordPres ...
- java二次开发浏览器内核_深入理解基于Selenium的二次开发
对于做web端自动化测试的人来说,可能接触selenium比QTP还要多,但是我们在做基于selenium的二次开发的时候,经常会说到二次开发是 为了易于维护,很多人可能不懂得维护的价值是什么,和到底 ...
- Vue+Vant 基于DatetimePicker进行二次开发,实现yyyyMMdd hh:mm:ss时间选择
Vue+Vant 基于DatetimePicker进行二次开发,实现yyyyMMdd hh:mm:ss时间选择 1.效果图 2.前提 3.项目结构 4.index.vue 5.timeSelectio ...
最新文章
- ESXi6.5环境搭建(三:vSphere Client6.0安装)
- mysql的一个字段最多能插入多少数据?我们存入text类型的值上限是多大?
- qt中继承pushbutton自定义控件设置按钮样式
- 面试了3个‘85前’的嵌入式软件工程师
- linux运维常见网络协议含义及端口
- 去重复算法(C语言)
- [nowcoder]最长区间
- java图书管理系统个人总结_总结:JAVA小项目——图书管理系统
- 实用​Android开源项目及库​
- html表头固定原理,html Table 表头固定的实现
- win10打开计算机黑屏怎么办,win10系统重启黑屏怎么办
- 水仙花数有哪些?要100到1000之间所有的水仙花数
- giant和huge的区别
- 25篇最新CV领域综述性论文速递!涵盖15个方向:目标检测/图像处理/姿态估计/医学影像/人脸识别等方向...
- CPSR 和 SPSR
- 2020年有寓意的领证日期_2020领证吉日
- HTML初学者--列表的简单制作
- 数论——佩尔方程变量分解
- centos8重启网卡命令nmcli
- 蛊惑者马云发家史(曾推毛氏运动唐僧团队)二