在得知微软发布了Lync for 移动设备(windows phone,iphone,ipad,安卓)的软件后,我迫不及待的在我的iphone及ipad上去下载并安装,总以为在现有的Lync架构下,输入完帐号及密码就可以顺利的登录,但事实并非如此,测试了一晚也没登录上。(因为在MS发布该软件前,我已经用过第三方的软件xync,xync当时的那个版本唯一的不足就是不支持中文,而MS发布的又是免费版本,有时间我在另一篇文章中详细比较两款软件的差别)
后来查找了下资料,Lync for Mobility需要安装补丁及支持移动设备的服务,同时Lync服务器也必须再进行配置。以下为规则部署文档下载路径:
通过该文档的学习,在生产环境下我的Lync for ipad是可以在公司内部(或是拨vpn后)可以正常登录,通过Internet目前我还不能实现,目前还在测试 ....(经过测试已经可以通过Internet直接登录,包括移动的gprs网络,详细配置请看后面介绍,谢谢)
一.支持移动设备的组件
这个是必须的,为了让MS的Lync可以在移动设备上登录,以下这些组件是必须的。
1.Microsoft Lync Server 2010 Mobility Service
这个提供Lync Mobility服务,是必须的。在移动设备上提供即时消息,在线状态,联系人。该组件安装在每个前端池内的所有前端服务器上,安装完后将在IIS上的内部及外部站点上建立新的虚拟目录(MCX)
2.Microsoft Lync Server 2010 Autodiscover Service
可使移动设备在公司内外网自动登录到Lync,而不需手动指定服务器地址。该组件安装在所有前端和Director服务器上,安装完成后将在IIS的内外站点建立新的虚拟目录(Audodiscover)
3.Microsoft Lync Server 2010 Push Notification Service
可以为不支持后台运行lync的手机提供Push服务(Android及Nokia手机就不需要了,但一个公司的员工不会都只用这两款手机,所以很多企业还是会安装该组件),可以看一下该组件的工作方式,
Mobility服务通过Edge服务器将IM,missing Call事件(push notification)发送给APNS及MPNS服务再发送至各自的移动设备,用户接收到push notification后再激活Lync软件。
所以这个需要和MS 的Lync Online建立联盟。
 
为了部署Lync Mobility,支持的拓朴如下:
1.Lync Server 2010 企业及标准版
2.Edge Server 可以为Lync Server 2010及Communicator 2007 R2
以下为移动设备访问Mobility及audodiscover服务的流程
 
 
从上图可以看到,不管移动用户在公司内还是外,移动设备都是通过Reserse Proxy连接到IIS的外部站点Mobility服务,而Audiodiscover服务则区分开来了。
 
为支持移动设备内外部访问,必须支持及满足以下要求:
1.    New DNS CNAME or A records, for automatic discovery
    为Audodiscover服务建立DNS别名或主机名
·       New ports for internal servers
·       New firewall rule, if you want to support push notifications through your Wi-Fi network
·       Subject alternative names on internal server certificates and reverse proxy certificates, for automatic discovery
新增证书SAN名字
·       Front End Server hardware load balancer configuration changes for cookie-based persistence
如果前端服务器采用硬件负载平衡,需要修改cookie-based persistence
·       New web publishing rules on the reverse proxy, for automatic discovery
Reserse Proxy为autodiscover服务新建发布规则
Website要求
·       The Front End pool internal web FQDN must be distinct from the Front End pool external web FQDN.
前端池内外域名不一致
·       The internal web FQDN must only resolve to and be accessible from inside the corporate network.
内部FQDN只能在公司内网被解析访问
·       The external web FQDN must only resolve to and be accessible from the Internet.
外部FQDN只能在Internet被解析和访问
·       For a user who is outside the corporate network, the request must go to the external web FQDN of the Front End pool or Director.
用户通过Internet访问时,必须能访问到前端池或Director的外部FQDN
 
在了解了一些基础知识和要求后,我们接下去就来部署Lync Mobility服务。
一.为Autodiscover自动登录建立DNS记录,以内部DNS记录为例,我这边建立的是别名:
内部别名为:lyncdiscoverinteranl.contoso.com 对应Lync的Internal Web Service FQDN(如果你不知道的话,可以查一下你的内部FQDN名),如下图(截图我就截我的测试环境啦,省的我去涂一点敏感信息 ):
 
在这里poolsh.contoso.com是内部web FQDN,lyncsh.contoso.com为外部web FQDN,所以我的内部DNS Autodiscover的别名如下:
 
那如果你的外部DNS也是Windows的话,autodiscover的别名记录应为:
lyncdiscover.contoso.com --->lyncsh.contoso.com
(注:我的环境下没有Director,及reserve proxy。看了下文档建DNS别名记录时,如果有Director内外DNS就指向Director,如果有reserve proxy那外部autodiscover就指向reserve proxy地址)
 
二.安装Lync Server 2010累积更新
更新下载路径如下:
可以只下载上图红框内的安装包,将此安装文件拷到所有Lync角色上,建议存放在一个文件夹内执行,并安装。
安装步骤:
1.打开Lync Power Shell,先停止lync服务。stop--CsWindowsService
2.关闭lync power shell,在dos命令中关闭web service。 net stop w3svc
3.执行LyncServerUpdateInstaller.exe
4.在提示重启后,重新启动服务器
5.重启服务器后,打开Lync Power Shell,再次关闭lync 服务。Stop-CsWindowsService
6.将更新的变更应用传递到lync后端服务器SQL DB.(以下命令为后端角色上只有SQL,没有合并Archiving或Monitoring角色)
Install-CsDatabase –Update –ConfiguredDatabases –SqlServerFqdn <SQL Server FQDN>  
 
如果后端服务器还有其他DB(角色)执行以下命令:
Install-CsDatabase –Update –ConfiguredDatabases –SqlServerFqdn <SQL Server FQDN>  -ExcludeCollocatedStores
 
Lync标准版执行命令如下:
Install-CsDatabase –Update -LocalDatabases
 
7.重启Lync 服务。Start-CsWindowsService
 
三.在前端服务器上为Mobility服务设定端口
1.为内部web Services设定端口
Set-CsWebServer –Identity <name of pool> –McxSipPrimaryListeningPort 5086
 
2.为外部web Services设定端口
Set-CsWebServer –Identity <name of pool> –McxSipExternalListeningPort 5087
 
以上所有<name of pool>的前端池的FQDN,如我的是lyncsh.contoso.com ,而不是下图X那边。
 
3.在上面两个命令完成后,输入以下命令完成。
Enable-CsTopology -verbose
 
四.安装Mobility和Autodiscover服务组件
在执行此步骤前,必须完成了以上之前步骤,否则安装将不成功。
1.安装IIS组件
如果是Win2008 R2系统,在Powershell中执行如下命令:
Import-Module ServerManager 
Add-WindowsFeature Web-Server, Web-Dyn-Compression
 
如果是Win2008系统,在Powershell中执行如下命令:
ServerManagerCMD.exe –Install Web-Dyn-Compression
同时更改ASP.NET设定(Win2008 R2系统不需要执行
a.用记事本打开 applicationHost.config(C:\Windows\System32\inetsrv\config\applicationHost.config)
 
b.搜索到<Add name="CSExtMcxAppPool"
 
c.在后面,同时在“>"前插入CLRConfigFile="C:\Program Files\Microsoft Lync Server 2010\Web Components\Mcx\Ext\Aspnet_mcx.config"
 
d.搜索<Add name="CSIntMcxAppPool"
 
e.在后面,同时在">"前插入CLRConfigFile="C:\Program Files\Microsoft Lync Server 2010\Web Components\Mcx\Int\Aspnet_mcx.config"
 
f.保存退出
2.下载该组件的安装包并安装,路径如下:
a.复制McxStandalone.msi文件至C:\ProgramData\Microsoft\Lync Server\Deployment\cache\4.0.7577.0\setup
b.打开Dos命令窗口并执行命令
C:\Program Files\Microsoft Lync Server 2010\Deployment\Bootstrapper.exe
c.如果你想禁止在公司内使用移动设备,可以执行以下命令(但一般不会去执行吧)
Set-CsMcxConfiguration –ExposedWebUrl Internal  (默认为External)
五.修改证书
由于对POWERSHELL不熟悉,所以没有用文档上的命令去做,而是通过Lync Server Depolyment Wizard方式重新去申请证书,同时新增了两个SAN名,分别为
lyncdiscoverinternal.quantacn.com
lyncdiscover.quantacn.com
 
重新申请并ASSIGN证书后,现在我的前端上有以下SAN
重启Lync服务后,Lync Mobility已经配置完成。用户可以在公司内网或是通过VPN在外网可以登录到Lync。
忘了一点,Apple移动设备需要安装域的证书,请通过safari浏览器登录到域的证书服务器,选择“下载一个CA证书,证书链或CRL",并下一步选择安装即可。在安装中跳出时选择信任此证书。
 
移动设备外部登录设定,请看第二篇,这篇写的太长了,无法保存。新的内容复制到第二篇时也丢了,只能重新写了:(

本文转自William宋 51CTO博客,原文链接:http://blog.51cto.com/sting/751069,如需转载请自行联系原作者
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐