PowerShell, SharePoint, Technical, Workflow

Install & Configure Workflow in SharePoint 2013 Multi-Server Farm

Recently going through a farm install and configuration of Workflow in a 2013 multi-server farm, I learned a couple things along the way that weren’t covered by the still-catching-up documentation.

First of all, prior to RTM, the messaging was that Workflow needed to be installed on a dedicated server and could not be on an existing server in your farm. This changed when RTM became available and it is now supported, although perhaps not recommended for environments needing scalability, redundancy, and availability to support a high throughput of processes. In my case, I chose to install and run Workflow on an app server that was running Central Administration.

Once that decision is made, we need to make sure we have the accounts and groups in AD we need:

  • Install account – A domain user with admin rights on the server being configured, as well as SysAdmin rights in SQL Server
  • RunAs account – A domain user with login rights to SQL Server (additional rights will be granted during the configuration)
  • Admin group – A domain security group with the RunAs account as a member, optionally the Install account as a member as well (see note later regarding starting the service)

A couple other requirements noted in the documentation that need to be checked:

  • SQL Server 2008 R2 SP1, SQL Server Express 2008 R2 SP1, or SQL Server 2012
  • TCP/IP connections or named pipes configured in SQL Server
  • Windows Firewall enabled
  • Ports 12290 and 12291 must be available (the configurator will open these ports in the firewall and use them for workflow traffic)

Now we can start the install and configuration of Workflow Manager (download link). The TechNet documentation (and here) is pretty bare, but it was sufficient to get me going. The installer will install any prerequisites that are missing and then install Workflow Manager. For configuring, you can either use the Configuration Wizard or PowerShell. I went with the wizard since the PowerShell documentation on Workflow was a skeleton and didn’t have much. I went with the Custom Settings option in the wizard so I had more control over things like database names. I also let the wizard generate a certificate for me with my provided key. If you don’t have your own, we’ll need to use this later. Everything else should be self-explanatory.

Depending on your scenario, the next steps may vary. The TechNet covers the options well so I won’t repeat them, but the decision is based on whether Workflow Manager is on a server in the farm and whether communication is over HTTP or HTTPS (in production, you should be using HTTPS.) I have Workflow Manager on a server in my farm using HTTPS so I needed to:

  • Install my certificates on my WFEs by exporting the cert and then importing it into the Trusted Root Certification Authorities store in each WFE, and then running New-SPTrustedRootAuthority cmdlet (all of which is covered well on TechNet)
  • Install the Workflow Manager Client on each WFE (download link above)
  • Run the Register-SPWorkflowService cmdlet:
    Register-SPWorkflowService –SPSite “https://myserver/mysitecollection” –WorkflowHostUri “https://workflow.example.com:12290”

That last step has a couple things worth noting.

  1. To get the WorkflowHostUri, go into IIS where you installed Workflow Manager and find the workflow service web application. Check it’s properties to get the Uri, with port (which is the same port you entered during the configuration, by the way)
  2. The command needs to be run using an account that is a member of the admin group you created earlier. If you added your install account, you can use that. If you didn’t, you need to run the command as your RunAs account

Following the TechNet docs, your next step would be to validate the install using SharePoint Designer. It’s been my experience that SPD will only be able to create 2013 workflows after two more steps, that aren’t documented:

  1. You need to have an App Management Service Application created. You don’t need to completely configure apps in your environment, but you need to at least create the service app or you’ll get an error when you publish a workflow from SPD.
  2. I wasn’t getting the 2013 workflow option to appear in SPD at first. I didn’t find the culprit, but a reboot of the Workflow Manager server did the trick for me.

If you need help creating an App Management Service Application, here are some scripts:

Register-SPWorkflowService –SPSite "https://myserver/mysitecollection" –WorkflowHostUri "https://workflow.example.com:12290"
$appAppSvc = New-SPAppManagementServiceApplication -ApplicationPool $applicationPool -Name "App Management Service Application" -DatabaseName "AppManagement_DB"
New-SPAppManagementServiceApplicationProxy -ServiceApplication $appAppSvc

You should be able to create 2013 workflows after all that. If you run into any hiccups, post a comment and I’ll do what I can to help out.

12 thoughts on “Install & Configure Workflow in SharePoint 2013 Multi-Server Farm

  1. Thank you for your blog.

    I have 4 SharePoint server ( 2 APP, 2 Webfrontend) i have installed workflow manager on App2 and the client on rest of the servers. Now how do i make the workflow high available? If the App2 goes down i am assuming the workflow will stop. I am not worry about the database side. Microsoft technet doesn’t give me much or i just don’t understand it.
    http://msdn.microsoft.com/en-US/library/windowsazure/72646b45-646f-4dfb-ab52-e42f187655e7(v=azure.10)#HA

    Thank you

  2. Do you install workflow client only on wfe and not app server or all sharepoint server on the farm don’t have workflow manager installed?

  3. Hello Ryan,

    I have a SharePoint 2013, farm with a two tiers servers, one is the central administration server and the another is dedicated to sql server. I installed and configure the workflow manager into the sql server and the client into the WFE central admin. The page of workflow application services is OK, and I see the option in workflow designer, but when I try to create a workflow this message appear:

    The list of workflow actions on the server refrences an assembly taht does not exist. Some actions will not be available. The strong name is Microsoft.Activities, versión=2.0.0.0

    Any ideas ?

    1. Ernesto, if you only installed SharePoint on one of those machines you don’t have a multi-server SharePoint farm as described in this post. Just install the workflow manager (which includes the client) on your SharePoint box and configure and you should be good to go.

  4. Spence,

    I am experiencing a peculiar issue with the WFM configuration. I have one of my servers which is having SharePoint installed on it and it is also playing a role of a SQL WITNESS server as part of our SQL cluster.

    Due to resource crunch, I have designated this SQL WITNESS server to be my single Workflow Manager server.

    I also have a service account as “SPWORKFLOW.TEST” to be used as the RUN AS account.

    So my basic farm topology is as follows:

    SPAPPSERVER (APP ROLE)
    SPWFESERVER (WFE ROLE)
    SPWFLSERVER (WFE ROLE, SQL WITNESS ROLE and has SQL & SP installed on it)
    SPDB01 (Principal DB Server)
    SPDB02 (Mirror DB Server)

    Since my SP DB’s are already based on the SPDB01 (Principal) I decided to base my Workflow Manager DB’s on the Workflow Server itself (SPWFLSERVER) and which is what you suggested to avoid co-hosting SP and WFM DB’s on the same instance / server.

    Now when i set off to configure the Workflow Manager farm through the configuration wizard (by selecting Auto Configuration option) i am constantly getting the “The specified RunAs account is invalid” error followed by the “Password is incorrect” error in the PW box.

    Here is what i have checked so far:

    a) SPWORKFLOW.TEST accnt is a local admin on the Workflow Manager server.
    b) SQL DB connectivity through the ‘Test Connection’ option is validated and successful.
    c) Windows Firewall is completely turned OFF on all our SP servers. However we are using the Symantec EndPoint Protection on all the servers as part of our organization deployment.
    d) I have checked the Event Viewer on the WFM server but to no avail.
    e) I am also logged in locally using the ‘SPWORKFLOW.TEST’ account on the WFM server while running the wizard.
    f) Did a PING test from the WFM server to the PRINCIPAL server and it is working fine and the same applies to the SharePoint server.
    g) Unfortunately I cannot PING the DC due to obvious reasons 🙂 but i highly doubt if that can be the reason for my case.

    I have tried using my SP Farm install account as well in the hope that any AD authentication problems are overruled but it presents the same issue with my install account as well!!!

    I have tried numerous uninstalls and re-installs of the WFM but we are still in no-mans land as we are simply unable to get beyond this CREDENTIALS error on the WFM configuration.

    Would appreciate if you can shed some light on this and provide any inputs or checkpoints which i might be overlooking.

    Regards,

    Parag Murudkar

  5. Hi, thanks for the write up, very good.

    I am deploying a new Sharepoint 2013 Farm with workflow manager installed. Can you tell me if the Sharepoint end users will ever need to connect directly to the WFM server? i.e. Can I firewall of the WFM servers from the users exposing them only to the Sharepoint farm, or does actually depend on the configuration of the work flows?

    Cheers

    Dave

  6. I have a 4 server setup (DB, APPServer, Workflow Manager Server and WFE) and the AppServer and WFE has the timer service started, It is necessary to have both with timer services or can i stop the APPServer Timer service and leave it in the WFE.

    The whole point is I am using a 3rd Party product (Harepoint workflows extensions)that requires to be installed where the timer service is running, however my Workflow Manager right points to the WFE.

    I should change the Workflow Manager to point to the APPServer or disable the timer service in the APPServer and leave it in the WFE?

    Any insights are appreciated.

  7. Hi,
    I want to a workflow application service for SharePoint 2013. By doing this, I created AppManagement Service (both app service and proxy), Subscription Settings Service Application (both app service and proxy) and Workflow service Application Proxy. We have three servers (Web Front end server, App server and Database server). Of course we have a domain server. I installed workflow manager to app server and client workflow manager to web server. I can see the both SharePoint Platform 2010 and 2013 on SharePoint designer 2013. Workflow Service status on Central admin is connected. Service Bus Gateway, Service Bus Message Broker and SharePoint timer service have status of running. (I see those services on app server). However, when I tried to run a very simple workflow to send mail to test, I got a message issue that:
    “Something went wrong. To try again, reload the page and then start the workflow”. I can’t find any issue in the in the event viewer of “Microsoft ServiceBus” , “Microsoft –workflow” and SharePoint bin 15 logs. The issue is something wrong for setting up a workflow service application not a simple workflow that I created in SharePoint designer 2013. I wonder if you can help me with this issue. Thank you very much. I very appreciate your help.
    Hue Le

Leave a Reply

Your email address will not be published. Required fields are marked *