Skip to main content

Additional Web Node

warning

Before setting up an additional web node you must have first installed Jadu Central forms on the first node. See Installing a Windows server for instructions on setting up the first node.

note

All commands need to be run with Administrator privilege, as escalated privileges are required.

Install

  1. Copy the installer package to the server

  2. Extract the zip installation package

  3. Open command prompt as an Administrator User and change to the extracted installer directory

cd /path/to/xfp-installer/
  1. Now run the installer
./install.bat -d /path/to/jadu/ --skip-database

You will be prompted if you want to install Jadu Central forms as a standalone product, entering y at this prompt will disable the publishing capabilities of Jadu Central.

Enter the same response as you did for node 1.

Do you want to install standalone XForms Professional? [y/N]: 

If no errors occurred during installation, you should see an output similar to the following:

Checking prerequisites are installed...
Installing database...
Loading SQL from C:/Users/Administrator/Desktop/xfp-installer/shared/schema.legacy.sql
Loading SQL from C:/Users/Administrator/Desktop/xfp-installer/shared/schema.sql
Loading SQL from C:/Users/Administrator/Desktop/xfp-installer/shared/data.sql
Copying files...
Installing XForms Professional module config...
Updating java class path...
Updating Readable URLs...
Adding data retention schedule task...
Installing XForms Professional search...
Updating module page tabs...
Updating local settings to en_GB...
Do you want to install standalone XForms Professional? [y/N]: N
Installation Report.
---
CMS Version: 21.0.0
Config Directory: C:/inetpub/wwwroot/jadu/config
---
Exec: Yes
Java: Yes
Suhosin: No
---
Setting permissions...
Detected service username as: jadu_svc
Installation complete
Please apply a Meteor patch for the latest Jadu Central version.

Patch

To complete the install you must patch up to the latest Jadu Central version.

  1. Copy the release package to the server

  2. Extract the release package (replace {patch-version-number} with the version number of release package)

  3. Open command prompt as an Administrator User and change to the extracted installer directory

cd {patch-version-number}
  1. Apply the patch by running the Meteor command

    php -d memory_limit=512M meteor.phar patch:apply --path=/path/to/jadu

Update web.config

Resolve conflict in web.config rewrite rules. Open web.config file located in C:/path/to/jadu/public_html/ in a text editor.

Locate the first rewrite element (around lines 16 to 27)

    <rewrite>
<rules>
<rule name="Jadu XFP Frontend" stopProcessing="true">
<match url="^(xfp)/" ignoreCase="false"/>
<conditions logicalGrouping="MatchAll">
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" ignoreCase="false" negate="true"/>
<add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" negate="true"/>
</conditions>
<action type="Rewrite" url="app.php/{R:0}"/>
</rule>
</rules>
</rewrite>

Copy the rule element and then delete the first rewrite element

        <rule name="Jadu XFP Frontend" stopProcessing="true">
<match url="^(xfp)/" ignoreCase="false"/>
<conditions logicalGrouping="MatchAll">
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" ignoreCase="false" negate="true"/>
<add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" negate="true"/>
</conditions>
<action type="Rewrite" url="app.php/{R:0}"/>
</rule>

Add the copied rule to the start of the second rewrite element

      <rewrite>
<rules>
!! ADD HERE !!
<rule name="RewriteAll" stopProcessing="true">
<match url="^(.*)$" ignoreCase="false"/>
<conditions logicalGrouping="MatchAll">
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true"/>
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true"/>
</conditions>
<action type="Rewrite" url="app.php" appendQueryString="true"/>
</rule>
<rule name="AvoidDuplicate" stopProcessing="true">
<match url="^app/.php(?:/(.*)|$)" ignoreCase="false"/>
<action type="Redirect" redirectType="Permanent" url="{R:1}"/>
</rule>
</rules>
</rewrite>

Your final web.config should be similar to

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<modules runAllManagedModulesForAllRequests="true">
<add name="JaduUrlRewriter" type="JaduUrlRewriter.RewriterModule"/>
</modules>
<httpProtocol>
<customHeaders>
<add name="X-Frame-Options" value="SAMEORIGIN"/>
</customHeaders>
</httpProtocol>
<httpErrors>
<remove statusCode="404" subStatusCode="-1"/>
<error statusCode="404" path="/404.php" responseMode="ExecuteURL"/>
</httpErrors>
</system.webServer>
<location path="." inheritInChildApplications="false">
<system.webServer>
<defaultDocument enabled="true">
<files>
<add value="app.php"/>
</files>
</defaultDocument>
<rewrite>
<rules>
<rule name="Jadu XFP Frontend" stopProcessing="true">
<match url="^(xfp)/" ignoreCase="false"/>
<conditions logicalGrouping="MatchAll">
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" ignoreCase="false" negate="true"/>
<add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" negate="true"/>
</conditions>
<action type="Rewrite" url="app.php/{R:0}"/>
</rule>
<rule name="RewriteAll" stopProcessing="true">
<match url="^(.*)$" ignoreCase="false"/>
<conditions logicalGrouping="MatchAll">
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true"/>
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true"/>
</conditions>
<action type="Rewrite" url="app.php" appendQueryString="true"/>
</rule>
<rule name="AvoidDuplicate" stopProcessing="true">
<match url="^app/.php(?:/(.*)|$)" ignoreCase="false"/>
<action type="Redirect" redirectType="Permanent" url="{R:1}"/>
</rule>
</rules>
</rewrite>
</system.webServer>
</location>
</configuration>

Save web.config and restart IIS. To do this, run the following in command prompt:

issreset

Once complete, the server will contain a working copy of Jadu Central forms.

Configure ClusterSync

warning

Installing Jadu Central forms on a load balanced environment requires clustersync configuration to be manually configured. On each node (node 1 and each additional web node) update the clustersync config.

  1. Copy the contents of /path/to/jadu/config/xfp/clustersync.xml.partial in to the <paths> element in /path/to/jadu/config/clustersync.xml.

  2. Delete the file /path/to/jadu/var/cache/config_clustersync.cache.