I am going to assume that you have already downloaded the required software:
- OpenDJ 2.4
- OpenAM 9.5.2
- A J2ee container for OpenAM (I am using Glassfish 2.1 ** I have included a note on using Glassfish a little later in this post.)
** If not, you can download at: http://www.forgerock.com and http://glassfish.java.net/public/downloads/index.html
My System specs:
- Linux ssobridge 2.6.35-28-generic #50-Ubuntu SMP Fri Mar 18 19:00:26 UTC 2011 i686 GNU/Linux
- Ubuntu 10.10
- Virtualbox (Host machine is a Macbook Pro)
- Change to the directory where you have the OpenDJ installer (e.g., /opt/software/opendj/)
- unzip OpenDJ-2.4.0.zip
- This will create a directory called: OpenDJ-2.4.0 (you can rename this if you want)
- Change into this new directory and run the setup (e.g. ./setup)
Next we will specify the hostname and ldap ports for this instance.
Set the replication requirements, This is a single instance so, I selected stand-alone.
Specify the base DN. As I will be using this instance for development work I enable OpenDJ to create User entries.
On the following screen you can modify runtime options.
Double check your settings and then click on Finish.
It will only take a few minutes to install.
When it is completed you will see a “success” message.
To confirm that the install went as planned you can log into the control-panel app. (Change to /opt/opendj/OpenDJ-2.4.0/bin and type: ./control-panel)
Type in the password that you provided during the installation into the password field.
If you are able to login and you can see the Connection handlers as enabled then you have confirmed that your installation was successful.
Install J2EE container:
- These instructions will depend on which J2EE container you are using. I am using Glassfish because of simplicity and the small footprint. I do realize that this particular version is aged. OpenAM is not currently supported on OpenAM 3.X … and it is my understanding that there are no plans to support it. Check with ForgeRock to confirm that statement though.
- To launch the glassfish installer I use the following command:
$java –jar glassfish-installer-v2.1.1-b31g-linux.jar
- You must accept the license agreement … (otherwise it’s a very short process )
- Change into the newly created “glassfish” directory (e.g. /opt/software/glassfish)
- Change the permissions on /lib/ant/bin to add the execute bit (chmod –R +x lib/ant/bin)
- Type: lib/ant/bin/ant –f setup.xml
- You’ll see some text scroll by with the output from the build, which should end with the text “BUILD SUCCESSFUL”
- Take note of the ports that are configured:
§ 4848 for Admin
§ 8080 for HTTP Instance
- You will need to start the default domain next
- Change to /opt/software/glassfish/bin
- Type: ./asadmin start-domain
- Once the domain is started you can get to the Admin console from a web browser (http://domainname:4848)
- You will then need to login using the admin credentials (admin/adminadmin)
· The first time you login you will be asked to register … I generally skip this step in my development environment.
· From the Glassfish Admin console click on: Applications/Web Applications
· Click on “Deploy”
· Click on “Choose File” and then locate the OpenAM war file
· I change the Application Name and Context Root to openam. This will help with consistency in my environment.
· Next, click “OK”
· It will take a few seconds to upload and deploy, but if successful you will see a screen similar to this:
· To configure OpenAM for the first time you should click on “Launch”. You will then see the OpenAM Configuration Options screen.
· Either option is fine, but we will go with Default Configuration (we can modify the settings after the install)
This part of the process generally only takes a few minutes to complete and you will see the progress as it occurs.
When the configuration as completed you will see the following:
Click on “Proceed to Login”
The default admin account is “amAdmin”.
There are a few things that we still need to do now:
- Configure OpenAM to look to OpenDJ for users
- Install a Web agent
- Create an Access Policy to protect a web application.
I’ll cover these items in a future post. Stay tuned!