Install and run IDM
Use the procedures in this section to install, start, run, and stop IDM.
Follow these steps to install IDM:
Make sure you have an appropriate version of Java installed:
java -version openjdk version "11.0.6" 2020-01-14 OpenJDK Runtime Environment AdoptOpenJDK (build 11.0.6+10) OpenJDK 64-Bit Server VM AdoptOpenJDK (build 11.0.6+10, mixed mode)
For a description of the Java requirements, see Before you install.
Download IDM from Backstage. Releases on Backstage are thoroughly validated for ForgeRock customers who run the software in production deployments, and for those who want to try or test a given release.
Unpack the contents of the .zip file into the install directory:
unzip ~/Downloads/IDM-7.2.0.zip Archive: IDM-7.2.0.zip inflating: openidm/.checksums.csv creating: openidm/bundle/ extracting: openidm/bundle/openidm-audit-7.2.0-SNAPSHOT.jar ...
By default, IDM listens for HTTP and HTTPS connections on ports 8080 and 8443, respectively. To change these port numbers, edit the following settings in your
When you deploy IDM in production, you must set
openidm.hostto the URL of your deployment, in the same
resolver/boot.propertiesfile. Otherwise, calls to the
/adminendpoint are not properly redirected.
Deployment URLs will vary, depending on whether you’re using a load balancer. While IDM documentation does not specify how you’d configure a load balancer, you’ll need to configure IDM in a cluster as described in IDM cluster configuration, and specifically in Deploy Securely Behind a Load Balancer.
Before running IDM in production, replace the default embedded DS repository with a supported repository.
For more information, see Select a repository.
Follow these steps to run IDM interactively:
Start the Felix container, load all services, and start a command shell to allow you to manage the container:
/path/to/openidm/startup.sh Using OPENIDM_HOME: /path/to/openidm Using PROJECT_HOME: /path/to/openidm Using OPENIDM_OPTS: -Xmx1024m -Xms1024m Using LOGGING_CONFIG: -Djava.util.logging.config.file=/path/to/openidm/conf/logging.properties -> OpenIDM version "7.2.0-SNAPSHOT" OpenIDM ready
\path\to\openidm\startup.bat "Using OPENIDM_HOME: \path\to\openidm" "Using PROJECT_HOME: \path\to\openidm" "Using OPENIDM_OPTS: -Xmx1024m -Xms1024m -Dfile.encoding=UTF-8" "Using LOGGING_CONFIG: -Djava.util.logging.config.file=\path\to\openidm\conf\logging.properties" -> OpenIDM version "7.2.0-SNAPSHOT" OpenIDM ready
At the OSGi console
→prompt, you can enter commands such as
helpfor usage, or
psto view the bundles installed.
Startup errors and messages are logged to the console by default. You can also view these messages in the log files at
Alternatively, you can manage the container and services from the Apache Felix Web Console.
Use these hints to connect to the Apache Felix Web Console:
Default URL: https://localhost:8443/system/console
Default user name:
Click Main > Components to see core services and their respective states.
Run IDM as a Background Process
You can also start IDM as a background process on UNIX and Linux systems. Follow these steps, preferably before you start IDM for the first time:
If you have already started the server, shut it down and remove the Felix cache files under
shutdown ... rm -rf felix-cache/*
Start the server in the background. The
nohupsurvives a logout, and the
2>&1&redirects standard output and standard error to the noted
nohup ./startup.sh > logs/console.out 2>&1&  2343
To stop the server running as a background process, use the
./shutdown.sh Stopping OpenIDM (2343)
Although installations on macOS systems are not supported in production, you might want to run IDM on macOS in a demo or test environment. To run IDM in the background on a macOS system, take the following additional steps:
You can stop IDM from the
-> prompt in the OSGi console, or through the Apache Felix Web Console. Both of these options stop the Felix container.
In the OSGi console, enter the
shutdowncommand at the
In the Apache Felix Web Console, click Web Console > System Information to stop the container.
On Unix systems, you can stop IDM by using the
/path/to/openidm/shutdown.sh Stopping OpenIDM (31391)
Stop the server if it is running, as described in Stop IDM.
Remove the directory where you installed the software:
rm -rf /path/to/openidm
If you use a JDBC database for the repository, drop the
Start in Debug Mode
To debug custom libraries, start the server with the Java Platform Debugger Architecture (JPDA):
Start IDM with the
/path/to/openidm/startup.sh jpda Executing ./startup.sh… Using OPENIDM_HOME: /path/to/openidm Using OPENIDM_OPTS: -Xmx1024m -Xms1024m -Djava.compiler=NONE -Xnoagent -Xdebug -Xrunjdwp:transport=dt_socket,address=5005,server=y,suspend=n Using LOGGING_CONFIG: -Djava.util.logging.config.file=/path/to/openidm/conf/logging.properties Listening for transport dt_socket at address: 5005 Using boot properties at /path/to/openidm/resolver/boot.properties -> OpenIDM version "7.2.0-SNAPSHOT" (revision: xxxx) OpenIDM ready
The relevant JPDA options are listed in the startup script (
In your IDE, attach a Java debugger to the JVM via socket on port 5005.
This interface is internal and subject to change. If you depend on this interface, contact ForgeRock support.