SharePoint 2013 Workflow Step by Step
目标:部署SharePoint2013级别的Workflow;
当前条件:
1.VM1: WindowsServer 2012, Active Directory, DNS, up to date;
2.VM2: WindowsServer 2012, SQL server 2012 R2 with SP1, up to date;
3.VM3: WindowsServer 2012, SharePoint Server 2013, up to date;
4.VM4: WindowsServer 2012, up to date;
实现方法:SharePointServer 2013默认部署和配置成功之后支持SharePoint2010 workflow,必须通过另外部署Workflowmanager并且与SharePointServer 2013关联才能支持SharePointworkflow 2013。本例会独立安装一台VM用于运行Workflowservice,Workflow与SQLServer之间采用SSL通信以提高安全性。
整体部署流程:
1.在AD DS/DNS服务器中增加AD CS服务器;
2.Windows Server 2012服务器,专用安装和配置Workflow manager1.0;
3.配置Workflow manager server通过Alias访问SQLserver 2012 with SP1;
4.配置Workflow manager server通过SSL访问SQLServer 2012 with SP1;
5.在SharePoint Server 2013服务器中部署Workflowclient;
6.新建SharePoint site collection,并启用SSL加密;
7.注册Workflow service与SharePoint site collection,使用SSL加密通信;
8.故障诊断;
前提准备:
1.VM:Windows server 2012 standard,系统更新至最新,用于部署WorkflowManager;
2.软件:
1.Windows server 2012安装镜像ISO文件;
2.Workflow manager 1.0安装程序,下载地址;
3.Workflowmanager 1.0 cumulative update;
5.SharePoint designer 2013安装程序,x86或者x64均可,下载地址;
6.Workflow server和SharePoint server需要Internet链接;
3.Accounts:
Type | Logon Name | Purpose |
User | SQLAdmin | SQL 管理员 |
Dbengine | 用于启动数据库实例 | |
Dbaccess | 用于SharePoint访问SQL实例 | |
SPsrv | 用于启动SharePoint服务 | |
WFservice | 用于启动workflow服务 | |
WFsetup | 用于安装Workflow服务 | |
Group | WFAdmin | 用于管理Workflow服务,Member有WFsetup和WFAdmin |
4.参考文档:
1.http://technet.microsoft.com/en-US/sharepoint/jj556245
2.http://technet.microsoft.com/en-us/library/jj658588
3.http://technet.microsoft.com/en-us/library/dn201724
4.http://technet.microsoft.com/en-us/library/jj658589
5.http://consulting.risualblogs.com/blog/2013/05/24/sharepoint-2013-and-workflow-manager-farms/
部署过程:
A.部署AD CS:
a.使用具有适当权限的账户登录AD DS服务器,添加Active DirectoryCertificate Services角色,之后按照默认设置执行完毕即可;
B.在Workflow Manager server中,配置SQLAlias;
a.以任一管理员身份登陆服务器后,将WFsetup账户添加至localadministrators组,注销当前账户;
b.以WFsetup账户登录workflow manager server;
c.Start->Run->%systemroot%\system32\cliconfig.exe,通过此步骤打开SQLServer Client Network Utility,如下图:
d.切换到Alias标签页,点击“Add”按钮,如下图;
e.在Server Alias栏中,指定一个别名,为方便记忆,这里使用”WFSQL”
f.在network libraries栏中,选择“TCP/IP”;
g.在Connection parameter中的server name中,填写SQL Server的IP地址或者FQDN,本例为“SQL01.5YUAN.net”;
h.在port number中,指定你要使用的SQL Instance开放的端口,本例中使用61433端口,方便记忆;
C.配置SQL Server:
a.使用具有相应管理权限的账户登录SQL Server服务器;
b.打开SQL Server Network Configuration,点击workflowserver要使用的数据库instance,再右侧的protocolname栏中双击“TCP/IP”;
c.在TCP/IP属性中,切换到IP Addresses标签栏。下拉到IPAll,指定TCPPort为“61433”,如下图:
d.以管理员身份运行PowerShell,输入以下命令允许访问SQL服务器的61433端口。这里使用的是PowerShell中的New-NetFirewallRule命令,您也可以使用netshadvfirewall工具或者GUI设置相应的策略,如下图:
New-NetFirewallRule–DisplayName “Allow 61433 for SQL Instance WF” –Direction Inbound –LocalPort61433 –Protocol tcp –Action Allow
D.安装和配置workflow manager:
a.安装过程比较简单,workflow manager是在线安装的方式进行安装,这里确保你的服务器能够正常访问internet。如下图,我们可以看到releasedate是2013年9月23日,很新的版本:
b.接受安装Prerequisites,如下图:
c.点击“Use Microsoft Update when I checkfor updates(recommended)”,开始安装:
d.这里完毕,开始Configure workflow manager:
e.注意观察提示信息,如下图则显示安装成功了:
f.安装完毕,之后会自动弹出Workflow ManagerConfiguration wizard,由于我们需要配置通过SSL加密通信,这里我们选择ConfigureWorkflow Manager with Custom Settings:
g.在workflow manager configuration界面中,在SQL Server Instance中,填写我们之前配置的Alias的名字“WFSQL”,然后点击“Advanced Options”,勾选“Enable SSL connection with SQL Server instance”,如下图:
h.在configure Instance Management Database下的Database Name中,填写你想要使用的DB的名字,或者保持默认的名字也可以。我这里由于默认名字的DB已经存在了,所以我需要重新指定一个DB名字,如下图:
i.下拉右侧的滚动条,在configure Service Account处,填写我们之前建立的用于运行WorkflowService的账户“wfservice”,如下图:
j.在Configure Certificates一栏中,取消勾选“Auto-Generate”,因为我们将使用自己颁发的证书,如图:
k.下面介绍如何获取证书:
i.打开mmc控制台,添加certificates snap-in进行管理,在“Thissnap-in will always manage certificates for”窗口中选择“Computer account”,如下图:
ii.下一步选择“Local computer”:
iii.依次展开ConsoleRoot->Certificates->Personal->Certificates,右键单击空白处,依次选择AllTasks->Request New Certificate;
iv.在弹出的窗口中,连续点击2次Next,在Request Certificates界面中勾选Computer,单击Enroll,如图:
v.双击你获得的certificate,切换到Certificate Path栏中,点击最顶层的certificate,单击ViewCertificate:
vi.依次展开ConsoleRoot->Certificates->Trusted Root Certification Authority,看一下上一步中的证书是否被包含在内,如下图:
l.关闭mmc,回到Workflow Manager Configurationwizard中来,分别在ServicesSSL Certificate、WorkflowManager outbound signing certificate、Encryption Certificate指定我们刚才获取到的certificate:
m.在Configure ports中,保持默认的端口不变;
n.在configure Admin Group,填入我们之前创建的用于管理Workflow的group,WFAdmin,如下图:
o.依次点击本页中所有的Test Connection按钮,确保都成功之后进入下一页配置;
p.在Service Bus Configuration页面中,依次点击TestConnection,确保测试成功;
q.在configure Service Account,输入之前建立的账户“WFService”;
r.在Configure Certificate中不勾选Auto-generate,而使用我们之前获取到的证书,如下图:
s.在页面最下方的configure Admin Group中使用“WFAdmin”;
t.进行下一步;
u.核对summary,并将结果保存起来:
v.观察Configuration progress,正常完成状态如下图;
E.验证Workflow manager是否配置正确:
a.在IE浏览器中访问https://wfserver.xxx.xxx:12290,正常情况下会提示登录,将该站点加入localintranet中即可正常访问,如下图:
b.如何将测试站点加入Local Intranet如下图:
c.刷新站点,正确的返回如下图:
F.Workflow client安装方式与workflow manager 1.0安装过程类似,不在此详细介绍;
G.SharePoint Server 2013的部署于安装不属于本文范畴之内,在此略过;
a.新建Web Application;
b.将此Web Application配置实用443端口或者其他端口,启用SSL;
c.如果你需要的话,也可以配置此Web Application使用HostHeader。但是注意如果想在SharePoint服务器本机访问hostheader形式的站点,可能需要进行一些注册表的更改,防止查询回环;
H.验证workflow的站点和您想要关联的SharePoint站点都可以在SharePoint服务器中的浏览器正常访问;
I.在SharePoint服务器中通过SharePoint PowerShell执行Register-SPWorkflowService命令进行注册,你可能会遇到类似下图中的错误:
a.这可能是由于启动Workflow相关的账户组对要与之关联的SharePoint WebApplication权限不够造成的,可以通过以下方法修复:
b.打开SharePoint Administrative Center,定位到您要使用的WebApplication,单击UserPolicy:
c.为WFAdmin组分配对该Web Application的FullControl权限;
J.打开SharePoint Designer 2013,开始编辑Workflow:
至此,本文完毕。有任何疑问,请与我联系!
Yinzi7@gmail.com
2014/1/23
转载于:https://blog.51cto.com/yinzi7/1353999