blob: f663d651b69a84be40864ca2527e3c9545514480 [file] [log] [blame]
<!--
~ Copyright © 2009-2013, JoshuaTree. All Rights Reserved.
-->
<body>
<img src="./images/fortresscommunitylogov3.jpg" />
<br>
<p>
These instructions are intended for new users who want to quickly learn how to use JoshuaTree Fortress and Symas OpenLDAP IAM software on Windows platform.
These instructions are intended for new users who want to quickly learn how to install and test JoshuaTree Fortress and Symas OpenLDAP IAM software.
<br><br>Follow the steps and
<ul>
<li>OpenLDAP will be installed, configured, loaded, and ready to use by <em>Section IV</em>.</li>
<li>Commander Web Admin demo starts in <em>Section V</em></li>
<li>EnMasse Policy Server demo starts in <em>Section XI</em></li>
</ul>
</p>
<hr>
<h2>System Prerequisites</h2>
The following steps are required...
<p>
<ul>
<li>Internet access to retrieve binary dependencies from online Maven repo.</li>
<li>Java SDK Version 7 or beyond installed to target environment</li>
</ul>
</p>
<b>NOTE:</b> The Fortress build.xml may run without connection to Internet iff:
<ul>
<li>The binary dependencies are already present in FORTRESS_HOME/lib folder</li>
<li>Local mode has been enabled on target machine. Local mode can be enabled by adding this property to build.properties: local.mode=true</li>
</ul>
<hr>
<h2>Guidelines and Tips for first-time users</h2>
<ul>
<li>In the document that follows, when you read <em>[version]</em> or <em>[platform]</em> substitute with current package info. For example - if the downloaded package version is 1.0.0 and platform is 'Debian Silver i386', the instructions show fortressBuilder-<em>[platform]</em>-<em>[version]</em>.jar your file name would be fortressBuilder-Debian-Silver-i386-1.0.0.zip</li>
<br>
<li>Does your target machine OS end with an X? Go to <em>README-QUICKSTART.html</em></li>
<br>
<li>The source code for this project is located in <em>FORTRESS_HOME\src</em> folder.</li>
<br><img src="./images/Screenshot28-src-listing-win.png" /><br><br>
</ul>
<ol type="I">
<hr>
<li>
<h3>Instructions to extract and configure Fortress Builder Package to Target System</h3>
<ol type="A">
<li>Copy fortressBuilder-[platform]-[version].zip to hard drive on target server env.</li>
<br>
<li>Extract the zip. The location for archive can vary according to requirements. The location of package will be referred to as <em>FORTRESS_HOME</em> later on.</li>
<br>
</ol>
</li>
<hr>
<li>
<h3>Instructions to run the Fortress Ant Build</h3>
<ol type="A">
<li>
From FORTRESS_HOME root folder, edit the b.bat script to point to java home:
<br><pre><p style="font-family:monospace;color:blue;font-size:14px;">set JAVA_HOME=\Progra~1\Java\jdk1.7.0
</p></pre>
</li>
<img src="./images/Screenshot28-edit-javahome-win.png" /><br><br>
<li>
Run the distribution target:
<br><pre><p style="font-family:monospace;color:blue;font-size:14px;">b.bat dist
</p></pre>
<img src="./images/Screenshot29-ant-dist-win.png" />
<br>Note: The b.bat file referred to here uses Ant package that is local to Fortress quickstart package.
</li>
<br>
<li>
Verify it ran correctly according to Ant:
<br><pre><p style="font-family:monospace;color:blue;font-size:14px;">BUILD SUCCESSFUL
</p></pre>
<img src="./images/Screenshot30-ant-dist-success-win.png" /><br><br>
</li>
</ol>
You may now view the project binaries and documentation located under FORTRESS_HOME/dist.
<br><br><img src="./images/Screenshot5-dist-listing.png" /><br><br>
</li>
<hr>
<li>
<h3>Instructions to run the Builder to Install Symas OpenLDAP, configure and load with seed data</h3>
<strong><p style="color:blue;font-size:14px;">Important: This target reinstalls and reloads the OpenLDAP server program, configuration and data.
</p>
<ol type="A">
<br>
<li>
From FORTRESS_HOME root folder, edit the build.properties file, setting the 3 properties below to match your environment:
<br><pre><p style="font-family:monospace;color:blue;font-size:14px;">
slapd.exe.drive=C <-- contains the drive letter for openldap server
slapd.exe.dir=OpenLDAP <-- contains the folder to load openldap server binaries
fortress.home.drive=C <-- contains the drive letter that you extracted fortress' builder package to.
</p></pre>
If you are not sure, what to use, the defaults usually work. Here's a screen shot of the build.properties.<br><br>
<img src="./images/Screenshot39-build-properties-win.png" /><br><br>
</li>
</strong>
<li>
From FORTRESS_HOME root folder, enter the following command from a system prompt:
<pre><p style="font-family:monospace;color:blue;font-size:14px;">b init-slapd
</p></pre>
<br>Note: You will need to reply 'Yes' to the pop-up message:<br>
<img src="./images/Screenshot33-window-warning.png" /><br><br>
<br>Note: You will need to reply 'Allow' to the pop-up security warning message if you intend to allow other machines to communicate with ldap server:<br>
<img src="./images/Screenshot40-firewall-warning-win.png " /><br><br>
<img src="./images/Screenshot31-init-slapd-win.png" /><br><br>
</li>
<li>
Verify it ran correctly according to Ant.
<pre><p style="font-family:monospace;color:blue;font-size:14px;">BUILD SUCCESSFUL
</p></pre>
<img src="./images/Screenshot32-init-slapd-success-win.png" /><br><br>
<li>
After above step completes, Symas OpenLDAP will be installed, configured and loaded with fortress bootstrap config. This
step also runs provisioning scripts which may be tailored according to requirements. Check out the xml load scripts
in FORTRESS_HOME/ldap/setup folder.
<br><br>
</li>
<li>
Point your preferred LDAP browser, ours is <a href="http://directory.apache.org/studio/">Apache Directory Studio</a>, to the installed directory.
The configuration parameters you'll need to browse can be found in the generated 'slapd.conf' file.
<br><br>
To view data stored in default database:
<pre><p style="font-family:monospace;color:blue;font-size:14px;">suffix "dc=jts,dc=us"
rootdn "cn=Manager,dc=jts,dc=us"
rootpw "secret"</p></pre>
The root pw will be encrypted before stored in slapd.conf
<br><br><img src="./images/Screenshot8-ldap-browser.png" /><br><br>
To view data stored in audit log database:
<pre><p style="font-family:monospace;color:blue;font-size:14px;">suffix "cn=log"
rootdn "cn=Manager,cn=log"
rootpw "secret"</p></pre>
The log root pw will be encrypted before stored in slapd.conf
<br><br><img src="./images/Screenshot9-ldap-browser-log.png" /><br><br>
</li>
</ol>
</li>
<hr>
<li>
<h3>Instructions to regression test Fortress and Symas OpenLDAP on target machine</h3>
<ol type="A">
<li>From FORTRESS_HOME root folder, enter the following command from a system prompt:
<br><pre><p style="font-family:monospace;color:blue;font-size:14px;">b test-full
</p></pre>
</li>
<img src="./images/Screenshot34-ant-test-init-win.png" /><br><br>
<li>Verify these tests ran with no ERRORS.
<br><pre><p style="font-family:monospace;color:blue;font-size:14px;">BUILD SUCCESSFUL
</p></pre>
</li>
<img src="./images/Screenshot35-ant-test-init-success-win.png" /><br><br>
<li>
To re-run these tests:
<br><pre><p style="font-family:monospace;color:blue;font-size:14px;">b test-full
</p></pre>
</li>
</ol>
Note 1: WARNING messages in test output are good as these are negative tests in action:
<br><img src="./images/Screenshot12-junit-warn.png" />
<br><br>Note 2: If you made it this far without junit or ant ERRORS, the Fortress and Symas OpenLDAP IAM system are certified to run on your machine.
<br><br>Note 3: These tests load tens of thousands of records into your newly installed directory.
The 'init-slapd' target may be re-run after the 'test-full-init' and 'test-full' targets have completed. This will delete the test data from the directory
and restart directory with a clean slate.
</li>
<li>
<h3>Instructions to install Commander Web UI Demo (optional)</h3>
Run the install-commander-demo target:
<pre><p style="font-family:monospace;color:blue;font-size:14px;">b install-commander-demo
</p></pre>
</li>
<li>
<h3>Instructions to automatically test Commander Web UI Demo (optional)</h3>
Run the commander-maven-test target to perform headless test of Commander Web:
<pre><p style="font-family:monospace;color:blue;font-size:14px;">b commander-maven-test
</p></pre>
note: Firefox must be preinstalled to target system.
</li>
<li>
<h3>Instructions to connect to Commander Web Admin</h3>
Open up browser and enter the following URL:
<pre><p style="font-family:monospace;color:blue;font-size:14px;">http://localhost:8080/commander
</p></pre>
userId: test
password: test
<br><br>
Click on links on top or bottons on side of page to navigate between pages
</li>
<hr>
<li>
<h3>Instructions to run the Fortress Command Line Interpreter (CLI) utility (optional)</h3>
This command line tool provides an interactive session with the user based on a simple command line syntax.<br><br>
<ol type="A">
<li>
To start the CLI, enter:<pre><p style="font-family:monospace;color:blue;font-size:14px;">b cli
</p></pre>
<img src="./images/Screenshot36-ant-cli-win.png" /><br><br>
Which will bring up the command interpreter:
<br><img src="./images/Screenshot14-cli.png" /><br><br>
</li>
<li>
enter the command:
<pre><p style="font-family:monospace;color:blue;font-size:14px;">review fuser -u demo
</p></pre>
<img src="./images/Screenshot15-cli-review.png" /><br><br>
This example will return all users with userId that begins with 'demo':<br><br>
<img src="./images/Screenshot16-cli-fuser.png" /><br><br>
</li>
<li>
To learn more about the CLI and what it can do, follow instructions in the command line interpreter reference
manual in the javadoc located here:
<br><br>
<a href="./dist/docs/api/us/jts/fortress/cli/package-summary.html">Command Line Interpreter</a>
<br><br>
Note: if javadocs are not found, go to Section X
</li>
</ol>
</li>
<hr>
<li>
<h3>Instructions to run Fortress Console (optional)</h3>
For tasks like one-time setup of new users, password resets, searches
the Fortress Console application can be used.<br><br>
<ol type="A">
<li>
From FORTRESS_HOME root folder, enter the following command
from a system prompt:
<pre><p style="font-family:monospace;color:blue;font-size:14px;">b console
</p></pre>
<img src="./images/Screenshot37-ant-console-win.png" /><br><br>
</li>
<li>
Console Screenshots...
<ol type="1">
<br>
<li>
Main Menu:
<br><img src="./images/Screenshot18-console-main.png" /><br>
</li>
<br>
<li>
Enter choice and follow the screen prompts to edit RBAC data:
<br><img src="./images/Screenshot19-console-admin.png" /><br>
</li>
<br>
<li>
Enter choice and follow the screen prompts to search RBAC data:
<br><img src="./images/Screenshot20-console-review.png" /><br>
</li>
<br>
<li>
Enter choice and follow the screen prompts to test RBAC policies:
<br><img src="./images/Screenshot21-console-access.png" /><br>
</li>
<br>
<li>
Enter choice and follow the screen prompts to setup ARBAC delegated policies:
<br><img src="./images/Screenshot22-console-deladmin.png" /><br>
</li>
<br>
<li>
Enter choice and follow the screen prompts to search through the AUDIT log:
<br><img src="./images/Screenshot23-console-audit.png" />
</li>
</ol>
</li>
</ol>
</li>
<hr>
<li>
<h3>Instructions to generate and view Javadoc (optional)</h3>
<ol type="A">
<li>
Run the javadoc target:
<pre><p style="font-family:monospace;color:blue;font-size:14px;">b javadoc
</p></pre>
<img src="./images/Screenshot38-javadoc-win.png" /><br><br>
</li>
<li>Navigate to where docs are genned:</li>
<br>
<img src="./images/Screenshot25-javadoc-listing.png" /><br><br>
<li>Open 'index.html' using your preferred HTML Browser:</li>
<img src="./images/Screenshot26-javadoc.png" /><br><br>
<li>The javadoc provides coverage of the Fortress APIs and also provides explanations on how RBAC, ARBAC, PW Policies and Audit work.</li>
<br> <a href=""></a>
<li>
Good places to start learning about Fortress:
<ul><br>
<li><a href="./dist/docs/api/us/jts/fortress/package-summary.html">Fortress Manager Summary</a></li>
<li><a href="./dist/docs/api/us/jts/fortress/rbac/package-summary.html">RBAC Summary</a></li>
<li><a href="./dist/docs/api/us/jts/fortress/AuditMgr.html">Audit Manager</a></li>
<li><a href="./dist/docs/api/us/jts/fortress/cli/package-summary.html">Command Line Interpreter</a></li>
<li><a href="./dist/docs/api/us/jts/fortress/ant/FortressAntTask.html">FortressAntTask</a></li>
</ul>
</li>
</ol>
<hr>
<li>
<h3>Instructions to install EnMasse Policy Server Demo (optional)</h3>
<ol type="A">
<li>
Run the install-enmasse-demo target:
<pre><p style="font-family:monospace;color:blue;font-size:14px;">b install-enmasse-demo
</p></pre>
</li>
<li>
Verify it ran correctly according to Ant.
<li>
After above step completes, Fortress EnMasse will be installed
<br><br>
</li>
</ol>
<hr>
<li>
<h3>Instructions to regression test EnMasse Policy server on target machine (optional)</h3>
<ol type="A">
<li>Edit file named 'build.properties' and enable REST protocol here:
<br><pre><p style="font-family:monospace;color:blue;font-size:14px;">enable.mgr.impl.rest=true
</p></pre>
Accept the defaults for other HTTP parameters in build.properties:
<pre><p style="font-family:monospace;color:blue;font-size:14px;">http.user=demouser4
http.pw=gX9JbCTxJW5RiH+otQEX0Ja0RIAoPBQf
http.host=localhost
http.port=8080
</p></pre>
</li>
Should look like the following:
<br><br><img src="./images/Screenshot41-enmasse-http-settings.png" /><br><br>
<li>Save and exit the text file editor
</li><br>
<li>From FORTRESS_HOME root folder, enter the following command from a system prompt:
<br><pre><p style="font-family:monospace;color:blue;font-size:14px;">b test-full
</p></pre>
</li>
<img src="./images/Screenshot10-ant-test-init.png" /><br><br>
Note: The EnMasse regression tests will run for around 20 minutes.<br><br>
<li>Verify these tests ran with no ERRORS.
<br><pre><p style="font-family:monospace;color:blue;font-size:14px;">BUILD SUCCESSFUL
</p></pre>
</li>
<img src="./images/Screenshot43-ant-enmasse-test-success.png" /><br><br>
<li>
This regression test may be rerun as often as necessary:
<br><pre><p style="font-family:monospace;color:blue;font-size:14px;">b test-full
</p></pre>
</li>
Note 1: WARNING messages in test output are good as these are negative tests in action:
<br><img src="./images/Screenshot12-junit-warn.png" />
<br><br>Note 2: If you made it this far without junit or ant ERRORS, EnMasse is installed and certified to run on your machine.
<br><br>Note 3: These tests load tens of thousands of records into your directory.
The 'test-full' target may be re-run as often as necessary. After regressions testing have completed, you may run the 'init-slapd' target to remove all test data from the directory.
</li>
</li>
</ol>
<hr>
<hr>
<li>
<h3>More Utilities</h3>
Other execution targets you may find useful:
<ol type="A">
<br>
<li>
'test-samples' - contains examples of how the Fortress API's work
check out the following javadoc for more info on the samples package:
<a href="./dist/docs/samples/index.html">Samples Javadoc</a>
</li>
<br>
<li>
'admin' - provides an XML-centric way to provision RBAC data policies and user accounts.
check out the following javadoc for more info on this utility:
<a href="./dist/docs/api/us/jts/fortress/ant/FortressAntTask.html">Fortress Ant admin script utility document</a>
</li>
<br>
<li>'encrypt' - interface to jacypt encryption utility</li>
<br>
<li>'start-slapd' - Starts OpenLDAP on target machine.</li>
<br>
<li>'stop-slapd' - Stops OpenLDAP on target machine.</li>
Note: for slapd commands sudo or elevated privileges may be required.
<br><br>
<li>display all ant targets available:
<br><img src="./images/Screenshot27-ant-p.png" /><br><br>
</li>
</ol>
</li>
</ol>
</ol>
<hr>
Copyright (c) 2009-2013, JoshuaTree. All Rights Reserved.
</body>