NOTICE: This document has been deprecated. It is here for historical purposes. Eventually the contents will be moved to a new location.


The intent of this document is to help new users with OpenLDAP Fortress IAM software using one of the the linux QUICKSTART packages located here: iamfortress.org/download
For instructions on how to get Fortress connected to an existing OpenLDAP instance, follow the instructions inside SECTION 6 of this document: README.txt

Table of Contents


System Prerequisites

NOTE: The Fortress build.xml may run without connection to Internet iff:

Guidelines and Tips for first-time users


  1. Instructions to download, extract and configure Fortress Builder Package to Target System

    1. Download one of the linux packages from here: iamfortress.org/download

    2. Copy fortressBuilder-[platform]-[version].zip to hard drive on target server env.

    3. Extract the zip. The location for archive can vary according to requirements. The location of package will be referred to as FORTRESS_HOME later on.

    4. Enable permission for the binaries to execute. From FORTRESS_HOME root folder, enter the following command from a system prompt:

      chmod a+x -Rf *

    5. if debian platform and using sudo, edit file named 'build.properties' and insert sudo password here:

      sudo.pw=your pw here

      note: For Redhat deployments leave this param's value empty, like below, otherwise the 'stop-slapd' target may not work.

      sudo.pw=



  2. Instructions to run the Fortress Ant Build

    1. From FORTRESS_HOME root folder, edit the b.sh script to point to java home:

      export JAVA_HOME=/opt/jdk1.7.0_10



    2. Run the distribution target:

      ./b.sh dist



      Note: The b.sh batch file referred to here uses Ant package that is local to Fortress quickstart package.

    3. Verify it ran correctly according to Ant:

      BUILD SUCCESSFUL



    You may now view the project binaries and documentation located under FORTRESS_HOME/dist.




  3. Instructions to run the Builder to Install Symas OpenLDAP, configure and load with seed data

    Important: This target reinstalls and reloads the OpenLDAP server program, configuration and data.


    1. The fortress 'init-slapd' uses LDAPv3 to perform initial operations.
      edit build.properties, ensure the following line has been commented out:



      Note: The default for this setting is 'false' or disabled.

    2. From FORTRESS_HOME root folder, enter the following command from a system prompt:
      if sudo:

      sudo ./b.sh init-slapd



      if not sudo you must run as user that has priv to modify folders in /var and /opt folders:

      su

      [enter your pw]

      before running the command to kick off the install

      ./b.sh init-slapd

    3. Verify it ran correctly according to Ant.

      BUILD SUCCESSFUL



    4. 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.

    5. Point your preferred LDAP browser, ours is Apache Directory Studio, to the installed directory. The configuration parameters you'll need to browse can be found in the generated 'slapd.conf' file.

      To view data stored in default database:

      suffix "dc=openldap,dc=org" rootdn "cn=Manager,dc=openldap,dc=org" rootpw "secret"

      The root pw will be encrypted before stored in slapd.conf



      To view data stored in audit log database:

      suffix "cn=log" rootdn "cn=Manager,cn=log" rootpw "secret"

      The log root pw will be encrypted before stored in slapd.conf




  4. Instructions to regression test Fortress and Symas OpenLDAP on target machine (optional)

    1. From FORTRESS_HOME root folder, enter the following command from a system prompt:

      ./b.sh test-full



    2. Note: The Fortress regression tests will run for around 3 minutes.

    3. Verify these tests ran with no ERRORS.

      BUILD SUCCESSFUL



    4. To re-run these tests:

      ./b.sh test-full

    Note 1: WARNING messages in test output are good as these are negative tests in action:


    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.

    Note 3: These tests load tens of thousands of records into your newly installed directory. The 'init-slapd' and 'test-full' targets may be re-run as often as necessary. After regressions testing has completed, you may run the 'init-slapd' target to remove all test data from the directory.

  5. Instructions to install Commander Web UI Demo (optional)

    Run the install-commander-demo target:

    ./b.sh install-commander-demo


  6. Instructions to automatically test Commander Web UI Demo (optional)

    Run the commander-maven-test target to perform headless test of Commander Web:

    ./b.sh commander-maven-test

    note: Firefox must be preinstalled to target system.

  7. Instructions to connect to Commander Web Admin

    Open up browser and enter the following URL:

    http://localhost:8080/commander

    userId: test password: test

    Click on links on top or buttons on side of page to navigate between pages

  8. Instructions to run the Fortress Command Line Interpreter (CLI) utility (optional)

    This command line tool provides an interactive session with the user based on a simple command line syntax.

    1. To start the CLI, enter:

      ./b.sh cli



      Which will bring up the command interpreter:


    2. enter the command:

      review fuser -u demo



      This example will return all users with userId that begins with 'demo':



    3. 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:

      Command Line Interpreter

      Note: if javadocs are not found, go to Section X

  9. Instructions to run Fortress Console (optional)

    For tasks like one-time setup of new users, password resets, searches the Fortress Console application can be used.

    1. From FORTRESS_HOME root folder, enter the following command from a system prompt:

      ./b.sh console



    2. Console Screenshots...

      1. Main Menu:


      2. Enter choice and follow the screen prompts to edit RBAC data:


      3. Enter choice and follow the screen prompts to search RBAC data:


      4. Enter choice and follow the screen prompts to test RBAC policies:


      5. Enter choice and follow the screen prompts to setup ARBAC delegated policies:


      6. Enter choice and follow the screen prompts to search through the AUDIT log:

  10. Instructions to generate and view Javadoc (optional)

    1. Run the javadoc target:

      ./b.sh javadoc



    2. Navigate to where docs are genned:



    3. Open 'index.html' using your preferred HTML Browser:


    4. The javadoc provides coverage of the Fortress APIs and also provides explanations on how RBAC, ARBAC, PW Policies and Audit work.

    5. Good places to start learning about Fortress:

  11. Instructions to install EnMasse Policy Server Demo (optional)

    1. Run the install-enmasse-demo target:

      ./b.sh install-enmasse-demo

    2. Verify it ran correctly according to Ant.

      BUILD SUCCESSFUL



    3. After above step completes, Fortress EnMasse will be installed


  12. Instructions to regression test EnMasse Policy server on target machine (optional)

    1. Edit file named 'build.properties' and enable REST protocol here:

      enable.mgr.impl.rest=true

      Accept the defaults for other HTTP parameters in build.properties:

      http.user=demouser4 http.pw=gX9JbCTxJW5RiH+otQEX0Ja0RIAoPBQf http.host=localhost http.port=8080

    2. Should look like the following:



    3. Save and exit the text file editor

    4. From FORTRESS_HOME root folder, enter the following command from a system prompt:

      ./b.sh test-full



    5. Note: The EnMasse regression tests will run for around 20 minutes.

    6. Verify these tests ran with no ERRORS.

      BUILD SUCCESSFUL



    7. This regression test may be rerun as often as necessary:

      ./b.sh test-full

    8. Note 1: WARNING messages in test output are good as these are negative tests in action:


      Note 2: If you made it this far without junit or ant ERRORS, EnMasse is installed and certified to run on your machine.

      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.

  13. Instructions to enable RBAC Accelerator Overlay in OpenLDAP and test Java-side bindings (optional)

    1. Edit file named 'build.properties' and enable RBAC accelerator by adding:

      rbac.accelerator=true

    2. Save and exit the text file editor

    3. Reinstall Symas OpenLDAP by running the init-slapd target described in Section III: Instructions to run the Builder to Install Symas OpenLDAP, configure and load with seed data

    4. Load necessary test data for unit tests:

      ./b.sh admin -Dparam1=ldap/setup/RbacAcceleratorTestUsers.xml

    5. Now you can run the rbac accelerator unit tests:

      ./b.sh test-accel

    6. Verify the test-accel target completed with no ant or junit errors

    7. Reload necessary regression test data by running the test-full target described in Section IV: Instructions to regression test Fortress and Symas OpenLDAP on target machine

    8. Now you can run the rbac accelerator regression tests:

      ./b.sh test-accel-full

    9. Verify the test-full-accel target completed with no ant or junit errors

    10. Check out the javadoc for learning about APIs supported within the RBAC accelerator: Fortress Accelerator Client

    Note 1: The RBAC accelerator turns OpenLDAP into an RBAC Policy Decision Point (PDP) server. All state is maintained in OpenLDAP LMDB databases including session and audit trail.

    Note 2: The slapd.conf file contains the mappings for the new database backends. You can view this data using any LDAP browser.

    Note 3: Bindings for C and Python are being worked on and will be released soon.

    Note 4: SessionPermissions will be in future release as required by ANSI RBAC (INCITS 359) Core functionality.
  14. More Utilities

    Other execution targets you may find useful:

    1. 'test-samples' - contains examples of how the Fortress API's work check out the following javadoc for more info on the samples package: Samples Javadoc

    2. '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: Fortress Ant admin script utility document

    3. 'encrypt' - interface to jacypt encryption utility

    4. 'start-slapd' - Starts OpenLDAP on target machine.

    5. 'stop-slapd' - Stops OpenLDAP on target machine.
    6. Note: for slapd commands sudo or elevated privileges may be required.

    7. display all ant targets available:



Copyright (c) 2003-2015, The Apache Software Foundation. All Rights Reserved.