Additional Web Node
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.
All commands need to be run with Administrator privilege, as escalated privileges are required.
Install
-
Copy the installer package to the server
-
Extract the zip installation package
-
Open command prompt as an Administrator User and change to the extracted installer directory
cd /path/to/xfp-installer/
- 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.
-
Copy the release package to the server
-
Extract the release package (replace
{patch-version-number}
with the version number of release package) -
Open command prompt as an Administrator User and change to the extracted installer directory
cd {patch-version-number}
-
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
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.
-
Copy the contents of
/path/to/jadu/config/xfp/clustersync.xml.partial
in to the<paths>
element in/path/to/jadu/config/clustersync.xml
. -
Delete the file
/path/to/jadu/var/cache/config_clustersync.cache
.