Skip to the content

Publishing SharePoint Service Applications

We have two SharePoint farms, the first is used for the Intranet and team sites. The second farm is used for the public facing web site.

Both SharePoint farms have application servers which are underutilised as the number of users and the amount of content is quite low.

  • 15 Users
  • <10,000 documents
Farm image 1.png

When editors were working on the publishing farm they would try and follow content unsuccessfully as the User Profile server was not provisioned, we also had a search server doing very little.

The plan was the streamline the SharePoint infrastructure by removing the application server from the publishing farm and allowing the publishing farm to use the search and application services from the intranet farm.

The first step was to create a trust between the two farms:

1.       On the Web Servers on both farms open the SharePoint 2013 Management Shell

2.       On the Intranet Farm run the following PowerShell command

$rootCert = (Get-SPCertificateAuthority).RootCertificate

$rootCert.Export("Cert") | Set-Content C:\Temp\IntranetFarmRoot.cer -Encoding byte

 

3.       On the Publishing Farm run the following PowerShell command

$rootCert = (Get-SPCertificateAuthority).RootCertificate

$rootCert.Export("Cert") | Set-Content C:\Temp\ConsumingFarmRoot.cer -Encoding byte

$stsCert = (Get-SPSecurityTokenServiceConfig).LocalLoginProvider.SigningCertificate

$stsCert.Export("Cert") | Set-Content C:\Temp\ConsumingFarmSTS.cer -Encoding byte

 

4.       Copy the certificate from C:\temp on the Intranet Farm to C:\temp on the Publishing farm

5.       Copy the 2 certificates from C:\temp on the Publishing Farm to C:\temp on the Intranet farm

6.       Run the following PowerShell command on the Publishing farm

 

$rootCert = (Get-SPCertificateAuthority).RootCertificate

$rootCert.Export("Cert") | Set-Content C:\Temp\PublishingFarmRoot.cer -Encoding byte

 

7.       Run the following PowerShell command on the Intranet farm

 

$trustCert = Get-PfxCertificate C:\Temp\ConsumingFarmRoot.cer

New-SPTrustedRootAuthority IntranetFarm -Certificate $trustCert

 

$stsCert = Get-PfxCertificate c:\Temp\ConsumingFarmSTS.cer

New-SPTrustedServiceTokenIssuer WebPublishingFarm -Certificate $stsCert

 

Once trust has been created the Service Applications that I wanted the Publishing farm to use had to be published from SharePoint.

 

  1. Open SharePoint Central administration on the Intranet farm
  2. Click on Application Management > Manage Service Applications
  3. Select the Search Service application and click on Publish in the ribbon
  4. Select Publish the Service Application to other farms
  5. Copy the Published URL and click OK
  6. Open SharePoint Central administration on the Publishing farm
  7. Click on Application Management > Manage Service Applications
  8. Click on Connect > Search Service Proxy
  9. Paste the Published URL into the box and click OK
  10. Repeat this process for the User Profile Service

 

Once this process has been completed I needed to add a content source to the search service on the Intranet farm to allow it to crawl the Publishing site. I then removed the application server from the publishing farm.

Farm image 2.png
 

About the author

Fuse

Fuse is a Microsoft Partner, based in Northampton. We help organisations of all sizes to maximise IT efficiencies through the use of Microsoft cloud computing solutions.

Let’s talk. We’d love to hear from you.