CRM安装(三)

本博文是基于前面博文安装的Dynamics CRM 2013来继续的,具体请参考前面博文安装,注意CRM不能安装在80端口,我前面就是安装在 5555 端口。

1. 网址准备(DNS映射)。

在域控服务器上(我这里全部程序都安装在一台电脑上)的服务器管理器上点击 工具 > DNS,右击前面建立的域,选择菜单项如下:

填入的信息如下:名称为意义的即可,IP地址指向 ADFS 安装的服务器IP,然后点击 添加主机。

 总共需要增加的主机如下,第一个前面步骤已经建立好了,其余的建立步骤如前面的ADFS主机,因为我这里全部角色都是在同一台机器,所以指向的IP都是相同的。


 名称


 IP地址


 说明


 ADFS


安装AD FS的服务器IP


 AUTH


安装CRM的服务器IP


 DEV


CRM发现服务所在的服务器IP


一般和CRM服务器是同一台机器


INTERNALCRM


安装CRM的服务器IP


内部用来访问CRM的地址


 CRM组织名称


安装CRM的服务器IP


我的组织是Demo,所以这里的名称我填写DEMO

建立完成后如下图: 最好清除下缓存,然后确定能ping通这些主机。

2. 开放相关端口允许入站

https必须要启用,默认的https端口是443,用于ADFS,当然,通过参考 inogic 的文章 How to change the Port of ADFS 3.0 (Windows server 2012 R2) to 444,也开始可以让Windows Server 2012 R2上的AD FS使用其他端口,这样CRM就可以使用443端口,我于2016年3月24日实验成功。还需要用到一个端口给CRM网站,我这里打算使用446,当然原来的CRM网站的5555端口也需要打开。

在服务器管理器中点击 工具 > 高级安全Windows防火墙。

在弹出窗口中右击 入站规则,选择 新建规则。

选择 端口 ,点击下一步。

选择 TCP,输入端口号,我这里是输入 443,446,5555 ,然后点击下一步。

保持不变,点击下一步。

保持不变,点击下一步。

输入一个有意义的名称后,点击完成按钮。

3. 证书相关工作

当然你可以购买证书,我这里是测使用,所以自制证书。

之前我已经安装了 Active Directory证书服务(没有安装的可以通过添加角色和功能向导进行添加),这时候服务器管理器会有通知,点击相应链接。

第一页确认下,点击 下一步。

选择前两项,点击下一步。

保持不变,点击下一步。

保持不变,点击下一步。

保持不变,点击下一步。

保持不变,点击下一步。

保持不变,点击下一步。

保持不变,点击下一步。

保持不变,点击下一步。

查看信息无误后,点击 配置 按钮。

一会儿配置成功了,点击关闭按钮关闭它。

我们去 工具 > 证书颁发机构 看看

就会发现多了一个 证书颁发机构。

然后我们去申请证书,点击 工具 >  Internet Information Services(IIS)管理器。

点击左边的机器名称,双击右边的 服务器证书。

点击右边的 创建证书申请,在弹出的对话框中输入还是的信息,主要是通用域名别填写错了,要使用 * 这个通配符,然后点击下一步。

保持默认,点击下一步。

输入一个文件名,然后点击完成。

打开Powershell,输入命令 certreq -submit -attrib "CertificateTemplate: WebServer" C:\CRMCertRequest.txt

会弹出对话框,点击确定按钮。

选择好保存路径,并为证书取个名字,然后点击保存按钮。

在IIS管理器中的右边的操作栏点击 完成证书申请,出来的窗口中选择刚才制作的证书,并输入一个好记名称,然后点击确定按钮。

可以看到服务器证书上增加了刚才我们制作的证书了。

然后在左边展开网站节点,选中 Default Web Site,在右边的操作点击 绑定,在弹出的网站绑定对话框中点击 添加
按钮,在继续弹出的 添加网站绑定 中设定如下图,类型要选择 https,端口保持默认443不变,SSL
证书选择我们前面制作的证书,然后点击确定按钮关闭这两个弹出窗口。

同样的方法为 Microsoft Dynamics CRM网站增加一个和前面步骤类似的https绑定,不过我这里使用另外一个端口,我这里使用的是446端口,当然不是说一定要使用 446 端口,也可以使用其他没有被占用的端口。

还需要确保Microsoft Dynamics CRM网站对应的应用程序池 CRMAppPool 的标志对前面制作的证书有读取权限。我们可以看到这个标志是 NetworkService 。

打开PowerShell,输入 mmc ,就会弹出对话框,选择 文件 > 添加/删除管理单元 。

在 添加或删除管理单元 对话框中,从 可用的管理单元 中找到 证书 ,然后点击 添加 按钮,在弹出的 证书 管理单元 中选择 计算机账户 ,再点击 下一步 按钮。

在新窗口中保持不变,点击 完成 按钮,再点击 确定 按钮。

如下图所示,找到之前制作的证书,右击它,选择 所有任务 > 管理私钥。

点击添加按钮,搜索到 NETWORK SERVICE 这个账号,点击确定添加进去。

从安全性考虑,只授予这个账号 读取 权限即可,然后应用确定。

4. 添加Active Directory Federation Service 角色

因为在Windows Server 2012中,Active Directory Federation Service
(后文简称ADFS)已经作为角色集成到操作系统中了,所以我这里使用 添加角色和功能 向导将其添加即可。若是Windows Server
2008则需要下载安装。

下一个页面直接点击 下一步。

点击 下一步。

点击 安装 按钮。

很快配置完成,点击 在此服务器上配置联合身份验证服务 这个链接。

保持默认选项,点击下一步。

保持不变,点击下一步。

SSL证书选择我们之前制作的证书,联合身份验证服务名称默认是*.luoyong.me,修改成 ADFS.luoyong.me,显示名称根据需要设置,然后点击下一步。

为了简便起见,我用域管理员账号,点击下一步。

保持不变,点击 下一步。

确认信息无误后,点击 下一步。

点击 配置 按钮开始配置。

一会儿提示我配置成功,点击关闭按钮关闭它。

这时候如果在浏览器中打开 https://adfs.luoyong.me/federationmetadata/2007-06/federationmetadata.xml ,你会发现是乱码,囧,右击,将文档编码改成 UTF-8,正常了,但是还是非常不好看,因为没有显示XML的树状结构。将这个网站设置成用兼容性试图显示就好了。

5. 为CRM配置基于声明的身份验证

进入到服务器的Metro界面,找到 部署管理器,打开它。

右击 Microsoft Dynamics CRM,选择 属性。

切换到Web 地址这个tabpage。

将绑定类型改成 https ,并这四个地址改成如下的样子,并点击应用, 确定按钮,

再点击 配置基于声明的身份验证 链接。

第一页点击下一步,到第二页输入网址:https://adfs.luoyong.me/federationmetadata/2007-06/federationmetadata.xml ,然后点击下一步。

这一页选择我们前面制作的证书,然后点击 下一步。

系统检查没有问题的话,点击下一步。

在这个页面点击 应用 按钮。

很快就到了完成页面,点击 查看日志文件 链接,将日志文件最后的URL复制下来,我这里是 https://internalcrm.luoyong.me:446/FederationMetadata/2007-06/FederationMetadata.xml 。

将其面的URL在IE中显示,确保能够正常显示。

6. 在AD FS服务器上设定基于声明的认证

在服务器管理器上点击 工具 > AD FS管理。

在左边打开找到 声明提供方信任 ,然后在右边右击 Active Directory ,选择 编辑声明规则。

点击 添加规则 按钮。

保持不变,点击下一步。

声明规则名称我这里输入 UPN Claim Rule,你可以使用别的名字,其余的照我的截图设置,然后点击 完成 按钮,最后点击 应用 和 确定按钮。

右击信赖方信任,选择 添加信赖方信任。

在欢迎页面,点击 启动 按钮。

在第一个选项中填入我们前面步骤复制下来的地址,我这里是 https://internalcrm.luoyong.me:446/FederationMetadata/2007-06/FederationMetadata.xml ,然后点击下一步。

显示名称我这里改为 CRM Claims Relying Party ,然后点击下一步。

保持默认,点击 下一步。

保持默认,点击 下一步。

保持默认,点击 下一步。

保持默认,点击 关闭 按钮。

在新弹出的窗口中,点击 添加规则 按钮。

声明规则模版改成 经历或筛选传入声明,点击下一步。

声明规则名称我设置为 Pass Through UPN ,传入声明类型我选择 UPN,然后点击完成按钮。

在添加一个规则,模版选择 经历或筛选传入声明,点击下一步。

我这里将声明规则名称设置为 Pass Through Primary SID ,传入声明类型选择 主 SID,然后点击 完成 按钮。

还要添加一个规则,模版选择 转换传入声明 ,点击下一步。

声明规则名称我设置为 Transform Windows Account Name to Name,传入声明类型我选择 Windows 帐户名,传出声明类型选择 * 名称,然后点击 完成 按钮,点击 应用 ,确定 按钮。

然后重启IIS,方法:打开 PowerShell,输入 IISRESET,看到重启成功即可。

打开IE浏览器,打开它的 Internet 选项,转到 安全 这个tabpage,选中本地Intranet 图标,再点击站点,将 https://internalcrm.luoyong.me 和 https://adfs.luoyong.me  加入到本本地Intranet中。

再打开 IE浏览器,输入网址  https://internalcrm.luoyong.me:446 ,发现会自动登陆并且打开了。

5. 为CRM配置面向Internet的部署

在CRM部署管理器中,点击 配置面向Internet的部署 链接,第一页直接点击 下一步按钮。

我这里的输入如下所示,然后点击 下一步 按钮。

保持不变,点击 下一步。

系统检查没有问题的话,点击 下一步。

点击 应用 按钮。

点击 完成 按钮。

回到AD FS管理中,添加 信赖方信任。

第一个页面点击 启动 按钮。

联合元素地址我输入 https://auth.luoyong.me:446/FederationMetadata/2007-06/FederationMetadata.xml ,然后点击下一步。

显示名称我这里更改成 CRM IFD Relying Party ,然后点击 下一步。

保持默认,点击下一步。

保持默认,点击 下一步。

点击下一步。

点击 关闭 按钮。

然后和前面的步骤类似,添加三个 添加规则,我这里就只是截图给大家看了。

完成后三个规则如下图所示,然用点击 应用 , 确定 按钮。

最后通过 https://demo.luoyong.me:446/ 来测试访问,报错,囧。


看日志,报错信息包
括:Microsoft.IdentityServer.Service.Policy.PolicyServer.Engine.InvalidAuthenticationTypePolicyException:
MSIS7102: STS 上不支持请求的身份验证方法。

我后来在 https://community.dynamics.com/crm/f/117/t/114725.aspx 找到了解决方法,POSTED BY [email protected]
ON 17 DEC 2013 10:40 AM

I solved the last Issue by Setting the correct spn. So everything is working now.

TODOs for getting CRM IFD / ADFS 2.2 working:

1. Setting correct SPN

2.
Adding Forms Authentication to the Intranet Authentication Methods
(Global Settings in the ADFS Management Shell ... located under
"Authenication Policies - Primary Authentication").

它这个意思我是明白了,我打开PowerShell,执行如下命令:

setspn -a http/adfs.luoyong.me luoyong.me\CRM2013

然后打开 AD FS管理,选中身份验证策略,看到右边有个全局设置,身份验证方法的Intranet仅支持 Windows身份验证,囧。 点击旁边的编辑。

在弹出的对话框中将 Intranet下面的 表单身份验证 前面的复选框选中,然后点击应用按钮。

然后我再次输入 https://demo.luoyong.me:446/ 来测试访问,这次出现登陆页面了,输入用户名和密码,点击登录。

发现登陆成功了,哈哈。

我在外面的物理机要能登陆,要解决两个问题。

第一个问题,DNS解析的问题,我这里就是用记事本打开 C:\Windows\System32\Drivers\etc\hosts 这个文件,增加三行如下:

192.168.1.113       adfs.luoyong.me
192.168.1.113       auth.luoyong.me
192.168.1.113       demo.luoyong.me

然后用IE打开会发现此网站的安全证书有问题,囧。这是因为我们是自制的证书,当然有解决办法。将服务器上的证书导出来,安装到客户端即可。

还是通过PowerShell输入 mmc 并添加证书 到控制台,找到个人 证书下面那个颁发给和颁发者相同的证书,右击,选择 所有任务 > 导出。

第一页直接点击下一步,下面页面保持默认,也就是选择 不 那个选项,点击下一步。

下面页面保持默认,点击下一步。

文件名我设置如下,点击下一步。

最后页面点击 完成 按钮,然后就告诉你导出成功了。

将导出的证书复制到客户端,双击它,在弹出的对话框中点击 安装证书。ps,这种安装方法让我想起了12306网站安装证书,花那么多钱做个网站,居然舍不得花一点点钱买个证书,而是让用户手工去安装证书。。。

存储位置我选当前计算机吧,点击下一步。

碰到用户账户控制提示,点击是,在下面页面,记得要将证书存储到 受信任的根证书颁发机构,然后点击下一步。

最后页面点击完成按钮,很快提示导入成功,关闭相关的窗口。

刷新下浏览器,可以看到没有警告了,自动跳到输入用户名和密码界面了。

输入正确的用户名和密码,点击登陆按钮,登陆成功过了,哈哈。

如果我在Outlook中使用CRM的话会报错,错误信息如下,囧.

Microsoft.Crm.Application.Outlook.Config.ServerForm._testConnectionButton_Click
08:33:25|  Error| Error connecting to URL: https://demo.luoyong.me:446/XRMServices/2011/Discovery.svc Exception: Microsoft.Crm.CrmException: Credentials required
   在 Microsoft.Crm.Outlook.ClientAuth.ClaimsBasedAuthProvider`1.AuthenticateClaims()
   在 Microsoft.Crm.Outlook.ClientAuth.ClaimsBasedAuthProvider`1.SignIn()
  

Microsoft.Crm.Outlook.ClientAuth.ClientAuthProvidersFactory`1.SignIn(Uri
endPoint, Credential credentials, AuthUIMode uiMode,
IClientOrganizationContext context, Form parentWindow, Boolean
retryOnError)
   在
Microsoft.Crm.Application.Outlook.Config.DeploymentsInfo.DeploymentInfo.LoadOrganizations(AuthUIMode
uiMode, Form parentWindow, Credential credentials)
   在
Microsoft.Crm.Application.Outlook.Config.DeploymentsInfo.InternalLoadOrganizations(OrganizationDetailCollection
orgs, AuthUIMode uiMode, Form parentWindow)

用fiddler来检查发现是访问不了:

https://adfs.luoyong.me/adfs/services/trust/mex

它返回503 Service unavailable 。

后来我终于找到解决问题的方法了,见这篇文章:http://blogs.technet.com/b/bshastri/archive/2014/03/20/dynamics-crm-ifd-on-windows-server-2012-r2-adfs-crm-addin-for-outlook.aspx

解决办法很简单,打开ADFS服务器,使用PowerShell输入如下命令:

Set-ADFSProperties –nettcpport 809

然后重新启动 Activie Directory Federation Services 即可。

执行Set-ADFSProperties 如果报类似如下的错误

请先在PowerShell中执行如下命令:

Add-PSSnapin Microsoft.Adfs.PowerShell

再执行Set-ADFSProperties的命令。

后来我发现MSDN上面的文章也有说,请看: http://technet.microsoft.com/en-us/library/hh699726(v=crm.6).aspx

Enable forms authentication

By default, forms authentication is
disabled in the intranet zone. You must enable forms authentication by
following these steps.

1. Log on to the AD FS server as an administrator.

2. Open the ADFS management wizard.

3. Click Authentication Policies > Primary Authentication > Global Settings > Authentication Methods > Edit.

4. Click (check) Form Based Authentication on the Intranet tab.

我使用outlook client来访问

打开了,使用正常,哈哈。

时间: 2024-08-01 11:01:33

CRM安装(三)的相关文章

nagios介绍及Server安装(三)

client端服务安装: 监控方式随便,但是常见的有下面几种: 1.使用nagios自带插件监控,也就是nrpe方式:不足之处每台client都需要安装,推荐将编译包进行rpmind,搭建yum源,执行yum即可: 2.snmp方式,好处client端只需要开启snmp服务即可,不足之处每个厂商的oid不尽相同,给监控脚本开发带来不便,推荐开发一个高效率的万能agent: 3.ssh方式,好处监控脚本易于编写,不足频繁执行会对客户端增加不必要的负担. 我这边的Client和Server端系统一样

CRM安装(二)

7. 安装CRM Server及Reporting Extensions 我这里首先启用虚拟机中服务器的远程桌面连接,在 这台电脑 的属性中,点击左面的 远程设置,在弹出的对话框中选择 允许远程连接到此计算机,然后应用,最后确定. 这样我就可以在外面的物理机远程连接到这台虚拟机了,还有一个好处就是可以方便的从外面的物理机复制文件到虚拟机里面.我将下载好的CRM2013安装文件 CRM2013-Server-CHS-amd64.exe 复制到虚拟机中,双击运行.它需要解压到文件夹,解压后第一页面我

Dynamics CRM 安装CRM程序系统检查界面报未将对象引用设置到对象的实例的解决方法

今天在安装CRM的时候,在系统检查阶段遇到了如下的错误,咋看之下直接是懵逼的 但不要着急,界面上有两个按钮,一个是详细信息,一个是帮助,详细信息不用看了就那一行字也看不出什么,咱们点下帮助看看,定位到了如下图 看到这个提示说是IIS绑定的事,想下安装过程中什么地方用到了IIS,点击上一步直到下面这个界面 联想到我之前的操作,瞬间就恍然大悟了,我把这个IIS站点删了,所以安装程序找不到了所以报错了,重新选择下站点就OK了(当然如果你的安装始终是创建新网站那就不存在这个问题).如果你的IIS下站点是

dynamic2016 crm 安装语言包提示缺少组件报错

当安装dynamic2016 CRM英文语言包安装成功后,在系统切换语言的时候提示如下报错为缺少CRM reporting extensions 插件导致,在CRM的解压安装包如下路径找到对应的执行文件安装这个插件后重新进入到CRM系统选择语言设置后故障消失 C:\Users\Administrator\Desktop\新建文件夹\SrsDataConnector

OpenCV-2.4.2 安装三步曲

注意:本人未使用  ffmpeg 的全部依赖库,比如AAC 音频编码库(libfaac-dev),MP3 编码库(ibmp3lame-dev),具体的配置为: ./configure --enable-shared --enable-gpl --enable-version3 --enable-nonfree --enable-x11grab --enable-libx264 --enable-libxvid ===========================================

Dynamics CRM 安装Microsoft Dynamics CRM Reporting Extensions

在装完CRM Server 后这个组件是必须安装的,但今天由于我的大意在客户安装生产环境时,告诉客户这个组件装在APP服务器上,导致客户安装时 SSRSInstance怎么都是空的,害的人家找了半天原因,最后找到我头上才恍然大悟,这个组件是要装DB服务器的,唉,这个脸有点丢大了啊,仅以此文鞭策自己以后不要再犯类似错误,同时也给还没部署过的朋友提个醒.平时我们都是在一台虚机里操作,所以很容易忽略这点.  版权声明:本文为博主原创文章,未经博主允许不得转载.

Django 框架篇: 一. Django介绍; 二. 安装; 三. 创建项目;

一. web框架:   框架,即framework,特指为解决一个开放性问题而设计的具有一定约束性的支撑结构,使用框架可以帮你快速开发特定的系统,简单地说,就是你用别人搭建好的舞台来做表演. 对于所有的Web应用,本质上其实就是一个socket服务端,用户的浏览器其实就是一个socket客户端. import socket def handle_request(client): buf = client.recv(1024) client.send("HTTP/1.1 200 OK\r\n\r\

CRM 安装不规范,亲人两行泪

安装CRM需要严格按照CRM部署文档的要求进行,比如设置CRM服务的服务账号一定要加入到CRM所在组织库用户里,不然会遇到下面错误.这个就是传递到SQL 的账号,在SQL那边不识别 <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"><s:Body><s:Fault><faultcode>s:Client</faultcode><faultstr

安装三个服务器的感想

总结 安装centos 服务器的时候可以顺利的在一个小时左右安装完成:包括配置上网,阿里云的网络yum源. 安装rhel 6.5和7.2的时候有点困难就是设置rhel6.5的网络yum源的时候遇到了困难,设置上网和光盘挂载都是没有问题的. 总的的来说是因为自己使用的少所以安装时候遇到一些困难,或者就是最开始学习安装是按照老的笔记一步一步的安装,并没有作太多的思考: 也没有破坏过系统,所以会很困难.(主要是练的少) 但是在设置网络这方面,rhel和centos两种服务器都比较熟悉,