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
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...
Running scripts...
Installing Central Forms module config...
Updating java class path...
Updating Readable URLs...
Adding scheduled tasks...
Updating locale settings to match en_GB...
Installation Report.
---
CMS Version: 23.2.1
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:
iisreset
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
.