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用于运行WorkflowserviceWorkflowSQLServer之间采用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 serviceSharePoint site collection,使用SSL加密通信;

8.故障诊断;

前提准备:

1.VMWindows server 2012 standard,系统更新至最新,用于部署WorkflowManager

2.软件:

1.Windows server 2012安装镜像ISO文件;

2.Workflow manager 1.0安装程序,下载地址

3.Workflowmanager 1.0 cumulative update

4.Workflowclient安装程序

5.SharePoint designer 2013安装程序,x86或者x64均可,下载地址

6.Workflow serverSharePoint server需要Internet链接;

3.Accounts

Type

Logon Name

Purpose

User

SQLAdmin

SQL 管理员


Dbengine

用于启动数据库实例


Dbaccess

用于SharePoint访问SQL实例


SPsrv

用于启动SharePoint服务


WFservice

用于启动workflow服务


WFsetup

用于安装Workflow服务

Group

WFAdmin

用于管理Workflow服务,MemberWFsetupWFAdmin




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/

6.http://blogs.msdn.com/b/briangre/archive/2013/02/20/least-privilege-configuration-for-windows-azure-workflow-with-sharepoint-2013.aspx

部署过程:

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,如下图:

wKiom1Lge-Lx9JzJAABw_MHrPc8097.jpg

d.切换到Alias标签页,点击“Add”按钮,如下图;

wKioL1Lge-HTGRxjAACJfiCN7lU552.jpg

e.Server  Alias栏中,指定一个别名,为方便记忆,这里使用”WFSQL”

f.network libraries栏中,选择“TCP/IP”

g.Connection parameter中的server name中,填写SQL ServerIP地址或者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”,如下图:

portconcconfdsfdswKiom1LgfErC2pNvAAE3sW-KMCs401.jpg


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


wKiom1LgfGGhLjpbAAD8AXXnnZc060.jpg


D.安装和配置workflow manager

a.安装过程比较简单,workflow manager是在线安装的方式进行安装,这里确保你的服务器能够正常访问internet。如下图,我们可以看到releasedate2013923日,很新的版本:

wKioL1LgfFqi5ciiAADvVDq1sqE386.jpg







b.接受安装Prerequisites,如下图:

wKioL1LgfHXT-WHZAAFtwZSpmgs781.jpg


c.点击“Use Microsoft Update when I checkfor updates(recommended)”,开始安装:


wKiom1LgfLHRNk8YAAFaa_G6F4Y202.jpg




wKiom1LgfL6wMa57AAFgxCeaqFo305.jpg



wKioL1LgfKjSujl0AAFWOz9aAic421.jpg



d.这里完毕,开始Configure workflow manager

wKiom1LgfNuzLb0oAAECIPFEgwI665.jpg


e.注意观察提示信息,如下图则显示安装成功了:


wKioL1LgfMnR-BdzAAC6uBcXRsI626.jpg


f.安装完毕,之后会自动弹出Workflow ManagerConfiguration wizard,由于我们需要配置通过SSL加密通信,这里我们选择ConfigureWorkflow Manager with Custom Settings


wKiom1LgfQGhK-l0AAD_tX3Ipj8624.jpg


g.workflow manager configuration界面中,在SQL Server Instance中,填写我们之前配置的Alias的名字“WFSQL”,然后点击“Advanced Options”,勾选“Enable SSL connection with SQL Server instance”,如下图:


wKiom1LgfTjCYrejAADy3sE1yD8637.jpg






h.configure Instance Management Database下的Database Name中,填写你想要使用的DB的名字,或者保持默认的名字也可以。我这里由于默认名字的DB已经存在了,所以我需要重新指定一个DB名字,如下图:

wKiom1LgfUjSZc59AADzede8gg8606.jpg



i.下拉右侧的滚动条,在configure Service Account处,填写我们之前建立的用于运行WorkflowService的账户“wfservice”,如下图:


wKioL1LgfTuxiNGKAADkPsifK7Q006.jpg



j.Configure Certificates一栏中,取消勾选“Auto-Generate”,因为我们将使用自己颁发的证书,如图:

wKioL1LgfVDyDzvfAAEwhVpc0sE835.jpg

k.下面介绍如何获取证书:

i.打开mmc控制台,添加certificates snap-in进行管理,在“Thissnap-in will always manage certificates for”窗口中选择“Computer account”,如下图:

wKiom1LgfZLw8eNkAAPt9TwVLVI585.jpg

ii.下一步选择“Local computer”

iii.依次展开ConsoleRoot->Certificates->Personal->Certificates,右键单击空白处,依次选择AllTasks->Request New Certificate

iv.在弹出的窗口中,连续点击2Next,在Request Certificates界面中勾选Computer,单击Enroll,如图:

wKioL1LgfXyA4SnpAAFpuzn6CWE412.jpg

v.双击你获得的certificate,切换到Certificate Path栏中,点击最顶层的certificate,单击ViewCertificate

wKiom1LgfaqyprClAARsPjeurdM592.jpg


vi.依次展开ConsoleRoot->Certificates->Trusted Root Certification Authority,看一下上一步中的证书是否被包含在内,如下图:

wKioL1LgfaTgZlSBAAKKz9xkEGo664.jpg


l.关闭mmc,回到Workflow Manager Configurationwizard中来,分别在ServicesSSL CertificateWorkflowManager outbound signing certificateEncryption Certificate指定我们刚才获取到的certificate

m.Configure ports中,保持默认的端口不变;

n.configure Admin Group,填入我们之前创建的用于管理WorkflowgroupWFAdmin,如下图:

wKioL1LgfciiCqFjAAED60x53tQ938.jpg


o.依次点击本页中所有的Test Connection按钮,确保都成功之后进入下一页配置;

p.Service Bus Configuration页面中,依次点击TestConnection,确保测试成功;

q.configure Service Account,输入之前建立的账户“WFService

wKiom1Lgff2RQ38FAAD833LE26k929.jpg

r.Configure Certificate中不勾选Auto-generate,而使用我们之前获取到的证书,如下图:

wKioL1LgfeqzioGoAAFJ1pbk3JQ136.jpg

s.在页面最下方的configure Admin Group中使用“WFAdmin”;


t.进行下一步;

wKiom1LgfhqT9kQgAADnDB4qx9A589.jpg


u.核对summary,并将结果保存起来:


wKioL1Lgfgfi_UxkAAK-qYV8US4545.jpg

v.观察Configuration progress,正常完成状态如下图;

wKioL1LgfhbBQ65jAAD70M1CfoE728.jpg


E.验证Workflow manager是否配置正确:

a.IE浏览器中访问https://wfserver.xxx.xxx:12290,正常情况下会提示登录,将该站点加入localintranet中即可正常访问,如下图:

wKiom1Lgfk_S7KlRAAD1PE6_BFQ942.jpg



b.如何将测试站点加入Local Intranet如下图:

wKioL1LgfjrBn1ZNAAC8QlXKEIg282.jpg

c.刷新站点,正确的返回如下图:

wKiom1Lgfm_i291kAAEgrKdbHUQ578.jpg

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权限不够造成的,可以通过以下方法修复:

wKiom1Lgfn2TjZYGAAEbEmHOEkY825.jpg


b.打开SharePoint Administrative Center,定位到您要使用的WebApplication,单击UserPolicy

wKioL1LgfmuyuZ2aAAF661nW12M498.jpg

c.WFAdmin组分配对该Web ApplicationFullControl权限;

J.打开SharePoint Designer 2013,开始编辑Workflow

wKioL1LgfnvhpLnVAAFyYpGZKgA677.jpg

至此,本文完毕。有任何疑问,请与我联系!

Yinzi7@gmail.com

2014/1/23