{"id":5737,"date":"2012-08-29T16:21:31","date_gmt":"2012-08-29T21:21:31","guid":{"rendered":"http:\/\/jianmingli.com\/wp\/?p=5737"},"modified":"2012-10-04T19:16:20","modified_gmt":"2012-10-05T00:16:20","slug":"openidm2-install","status":"publish","type":"post","link":"https:\/\/jianmingli.com\/wp\/?p=5737","title":{"rendered":"OpenIDM2: Install"},"content":{"rendered":"<div class='toc wptoc'>\n<h2>Contents<\/h2>\n<ol class='toc-odd level-1'>\n\t<li>\n\t\t<a href=\"#Install\">Install<\/a>\n\t\t<ol class='toc-even level-2'>\n\t\t\t<li>\n\t\t\t\t<a href=\"#Overview\">Overview<\/a>\n\t\t\t<\/li>\n\t\t\t<li>\n\t\t\t\t<a href=\"#Download\">Download<\/a>\n\t\t\t<\/li>\n\t\t\t<li>\n\t\t\t\t<a href=\"#Build_From_Source\">Build From Source<\/a>\n\t\t\t\t<ol class='toc-odd level-3'>\n\t\t\t\t\t<li>\n\t\t\t\t\t\t<a href=\"#Checkout_Trunk\">Checkout Trunk<\/a>\n\t\t\t\t\t<\/li>\n\t\t\t\t\t<li>\n\t\t\t\t\t\t<a href=\"#Compile_and_Package_Source_Codes\">Compile and Package Source Codes<\/a>\n\t\t\t\t\t<\/li>\n\t\t\t\t<\/ol>\n\t\t\t<li>\n\t\t\t\t<a href=\"#Install_1\">Install<\/a>\n\t\t\t<\/li>\n\t\t\t<li>\n\t\t\t\t<a href=\"#Setup_MySQL_Data_Store\">Setup MySQL Data Store<\/a>\n\t\t\t<\/li>\n\t\t<\/ol>\n\t<li>\n\t\t<a href=\"#Start_OpenIDM_Services\">Start OpenIDM Services<\/a>\n\t\t<ol class='toc-even level-2'>\n\t\t\t<li>\n\t\t\t\t<a href=\"#Prerequisites\">Prerequisites<\/a>\n\t\t\t<\/li>\n\t\t\t<li>\n\t\t\t\t<a href=\"#Start_Felix_Container\">Start Felix Container<\/a>\n\t\t\t<\/li>\n\t\t<\/ol>\n\t<li>\n\t\t<a href=\"#Interactive_Commands\">Interactive Commands<\/a>\n\t\t<ol class='toc-even level-2'>\n\t\t\t<li>\n\t\t\t\t<a href=\"#help\">help<\/a>\n\t\t\t<\/li>\n\t\t\t<li>\n\t\t\t\t<a href=\"#ps\">ps<\/a>\n\t\t\t<\/li>\n\t\t\t<li>\n\t\t\t\t<a href=\"#Run_in_Background\">Run in Background<\/a>\n\t\t\t<\/li>\n\t\t\t<li>\n\t\t\t\t<a href=\"#Shutdown\">Shutdown<\/a>\n\t\t\t<\/li>\n\t\t<\/ol>\n\t<li>\n\t\t<a href=\"#Admin_Console\">Admin Console<\/a>\n\t\t<ol class='toc-even level-2'>\n\t\t\t<li>\n\t\t\t\t<a href=\"#Access_and_Login\">Access and Login<\/a>\n\t\t\t<\/li>\n\t\t\t<li>\n\t\t\t\t<a href=\"#Bundles\">Bundles<\/a>\n\t\t\t<\/li>\n\t\t\t<li>\n\t\t\t\t<a href=\"#OpenIDM_Components\">OpenIDM Components<\/a>\n\t\t\t<\/li>\n\t\t\t<li>\n\t\t\t\t<a href=\"#Shell\">Shell<\/a>\n\t\t\t<\/li>\n\t\t\t<li>\n\t\t\t\t<a href=\"#System_Information\">System Information<\/a>\n\t\t\t<\/li>\n\t\t<\/ol>\n\t<li>\n\t\t<a href=\"#UI\">UI<\/a>\n\t\t<ol class='toc-even level-2'>\n\t\t\t<li>\n\t\t\t\t<a href=\"#Install_2\">Install<\/a>\n\t\t\t<\/li>\n\t\t\t<li>\n\t\t\t\t<a href=\"#Login_URL\">Login URL<\/a>\n\t\t\t<\/li>\n\t\t\t<li>\n\t\t\t\t<a href=\"#Login_as_Admin\">Login as Admin<\/a>\n\t\t\t<\/li>\n\t\t\t<li>\n\t\t\t\t<a href=\"#User_Provisioning\">User Provisioning<\/a>\n\t\t\t<\/li>\n\t\t\t<li>\n\t\t\t\t<a href=\"#User_Login\">User Login<\/a>\n\t\t\t<\/li>\n\t\t<\/ol>\n\t<li>\n\t\t<a href=\"#References\">References<\/a>\n\t<\/li>\n<\/ol>\n<\/ol>\n<\/div>\n<div class='wptoc-end'>&nbsp;<\/div>\n<span id=\"Install\"><h2>Install<\/h2><\/span>\n<span id=\"Overview\"><h3>Overview<\/h3><\/span>\n<p>* Default OSGi container is Apache Felix<br \/>\n* Embedded Servlet engine is Jetty<br \/>\n* Embedded database is OrientDB (noSQL)<\/p>\n<span id=\"Download\"><h3>Download<\/h3><\/span>\n<p>* Download from <a href=\"http:\/\/www.forgerock.org\/openidm.html\">project download site<\/a>, e.g. <a href=\"http:\/\/download.forgerock.org\/downloads\/openidm\/2.0.3\/openidm-2.0.3.zip\">OpenIDM 2.0.3<\/a><\/p>\n<span id=\"Build_From_Source\"><h3>Build From Source<\/h3><\/span>\n<p>* See <a href=\"https:\/\/wikis.forgerock.org\/confluence\/display\/openidm\/OpenIDM+2.0+-+Howto+build+OpenIDM+from+source\">here<\/a> for detail instructions<\/p>\n<span id=\"Checkout_Trunk\"><h4>Checkout Trunk<\/h4><\/span>\n<p>* Checkout OpenIDM trunk from SVN URL: <em>https:\/\/svn.forgerock.org\/openidm\/trunk<\/em><\/p>\n<span id=\"\"><h6><a href=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/09\/OpenIDM_Checkout_Src.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/09\/OpenIDM_Checkout_Src-300x253.jpg\" alt=\"\" title=\"OpenIDM_Checkout_Src\" width=\"300\" height=\"253\" class=\"aligncenter size-medium wp-image-5997\" srcset=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/09\/OpenIDM_Checkout_Src-300x253.jpg 300w, https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/09\/OpenIDM_Checkout_Src.jpg 538w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/h6><\/span>\n<span id=\"Compile_and_Package_Source_Codes\"><h4>Compile and Package Source Codes<\/h4><\/span>\n<p>* Install Maven 3 if not already done<br \/>\n* Run Maven command:<\/p>\n<pre lang=\"bash\">\r\nmvn package\r\n<\/pre>\n<span id=\"Install_1\"><h3>Install<\/h3><\/span>\n<p>* Unzip either the binary download or compiled zip file located in <em>openidm-zip\/target<\/em> directory onto a local directory, e.g. \/opt<\/p>\n<pre lang=\"bash\">\r\n[jli@localhost opt]$ mkdir openidm\r\n[jli@localhost opt]$ cd openidm\r\n[jli@localhost openidm]$ unzip \/mnt\/hgfs\/vmshare\/openidm-2.0.3.zip\r\n\r\n...\r\n\r\n[oracle@openidmbox forgerock]$ pwd\r\n\/opt\r\n[jli@localhost openidm]$ ls\r\nopenidm\r\n[jli@localhost openidm]$ cd openidm\/\r\n[jli@localhost openidm]$ ls\r\nbin     cli.sh  connectors  logs     script    shutdown.sh  startup.sh\r\nbundle  conf    db          samples  security  startup.bat  workflow\r\n<\/pre>\n<span id=\"Setup_MySQL_Data_Store\"><h3>Setup MySQL Data Store<\/h3><\/span>\n<p>* OpenIDM is bundled with OrientDB for demo purposes<br \/>\n* Install MySQL for non-demo use<br \/>\n* Install MySQL<\/p>\n<pre lang=\"bash\">\r\n# Install mysql server and client\r\nyum install mysql-server mysql\r\n\r\n# Start mysqld\r\nservice mysqld start\r\n\r\n# Connect to mysqld\r\nmysql -u root\r\n<\/pre>\n<p>* Download <a href=\"http:\/\/www.mysql.com\/downloads\/connector\/j\/\">MySQL Connector\/J<\/a>, e.g. <em>mysql-connector-java-5.1.22.zip<\/em>. Extract and copy jdbc driver jar file, e.g. <em>mysql-connector-java-5.1.22-bin.jar<\/em>, to the <em>bundle<\/em> directory<\/p>\n<pre lang=\"bash\">\r\ncp \/mnt\/hgfs\/vmshare\/downloads\/mysql\/mysql-connector-java-5.1.22-bin.jar bundle\/\r\n<\/pre>\n<p>* Shutdown OpneIDM if running<\/p>\n<pre lang=\"bash\">\r\n.\/shutdown.sh\r\n<\/pre>\n<p>* Remove conf\/repo.orientdb.json<\/p>\n<pre lang=\"bash\">\r\nrm conf\/repo.orientdb.json\r\n<\/pre>\n<p>* Copy samples\/misc\/repo.jdbc.json to the conf directory<\/p>\n<pre lang=\"bash\">\r\ncd $OPENIDM_HOME\r\ncp samples\/misc\/repo.jdbc.json conf\r\n<\/pre>\n<p>* Create OpenIDM schema in MySQL<\/p>\n<pre lang=\"bash\">\r\nmysql -u root -p < $OPENIDM_HOME\/db\/scripts\/mysql\/openidm.sql\r\n<\/pre>\n<p>* Check openidm schema:<\/p>\n<pre lang=\"bash\">\r\nmysql -u root\r\n\r\nmysql> use openidm;\r\nReading table information for completion of table and column names\r\nYou can turn off this feature to get a quicker startup with -A\r\n\r\nDatabase changed\r\nmysql> show tables;\r\n+-----------------------------+\r\n| Tables_in_openidm           |\r\n+-----------------------------+\r\n| auditaccess                 |\r\n| auditactivity               |\r\n| auditrecon                  |\r\n| configobjectproperties      |\r\n| configobjects               |\r\n| genericobjectproperties     |\r\n| genericobjects              |\r\n| internaluser                |\r\n| links                       |\r\n| managedapplication          |\r\n| managednotification         |\r\n| managedobjectproperties     |\r\n| managedobjects              |\r\n| manageduserapplicationlnk   |\r\n| manageduserapplicationstate |\r\n| objecttypes                 |\r\n+-----------------------------+\r\n16 rows in set (0.00 sec)\r\n<\/pre>\n<p>* Optionally, setup specific database user (instead of root). For example:<\/p>\n<pre lang=\"sql\">\r\nCREATE USER 'openidm'@'localhost' IDENTIFIED BY 'openidm';\r\nGRANT ALL ON openidm.* TO 'openidm'@'localhost';\r\n<\/pre>\n<p>* Edit <em>conf\/repo.jdbc.json<\/em> to use MySQL schema<\/p>\n<pre lang=\"bash\">\r\ncat repo.jdbc.json \r\n{\r\n    \"connection\" : {\r\n        \"dbType\" : \"MYSQL\",\r\n        \"jndiName\" : \"\",\r\n        \"driverClass\" : \"com.mysql.jdbc.Driver\",\r\n        \"jdbcUrl\" : \"jdbc:mysql:\/\/localhost:3306\/openidm\",\r\n        \"username\" : \"root\",\r\n        \"password\" : \"\",\r\n        \"defaultCatalog\" : \"openidm\",\r\n        \"maxBatchSize\" : 100,\r\n        \"maxTxRetry\" : 5,\r\n        \"enableConnectionPool\" : true\r\n    },\r\n<\/pre>\n<span id=\"Start_OpenIDM_Services\"><h2>Start OpenIDM Services<\/h2><\/span>\n<span id=\"Prerequisites\"><h3>Prerequisites<\/h3><\/span>\n<p>* Check Java version. Need to be newer than 1.6.0_24<\/p>\n<pre lang=\"bash\">\r\n[jli@localhost openidm]$ java -version\r\njava version \"1.6.0_35\"\r\nJava(TM) SE Runtime Environment (build 1.6.0_35-b10)\r\nJava HotSpot(TM) 64-Bit Server VM (build 20.10-b01, mixed mode)\r\n<\/pre>\n<p>* Check Jetty listening port<\/p>\n<pre lang=\"bash\">\r\ncd conf\r\nvi jetty.xml\r\n<\/pre>\n<pre lang=\"xml\">\r\n<Set name=\"host\"><Property name=\"jetty.host\" \/><\/Set>\r\n<Set name=\"port\">8080<\/Set>\r\n<\/pre>\n<span id=\"Start_Felix_Container\"><h3>Start Felix Container<\/h3><\/span>\n<pre lang=\"bash\">\r\n[jli@localhost openidm]$ ls\r\nbin     cli.sh  connectors  logs     script    shutdown.sh  startup.sh\r\nbundle  conf    db          samples  security  startup.bat  workflow\r\n[jli@localhost openidm]$ .\/startup.sh\r\n.\/startup.sh\r\nUsing OPENIDM_HOME:   \/opt\/openidm\/openidm\r\nUsing OPENIDM_OPTS:   -Xmx1024m\r\nUsing LOGGING_CONFIG: -Djava.util.logging.config.file=\/opt\/openidm\/openidm\/conf\/logging.properties\r\nUsing boot properties at \/opt\/openidm\/openidm\/conf\/boot\/boot.properties\r\n-> \r\n<\/pre>\n<span id=\"Interactive_Commands\"><h2>Interactive Commands<\/h2><\/span>\n<span id=\"help\"><h3>help<\/h3><\/span>\n<pre lang=\"bash\">\r\n-> help\r\nrefresh\r\nbundlelevel\r\nstart\r\nfind\r\nsysprop\r\nlog\r\nstop\r\ninstall\r\nps\r\nshutdown\r\nupdate\r\nstartlevel\r\ncd\r\nhelp\r\nversion\r\ninspect\r\nuninstall\r\nresolve\r\nheaders\r\nscr\r\n\r\nUse 'help <command-name>' for more information.\r\n<\/pre>\n<span id=\"ps\"><h3>ps<\/h3><\/span>\n<p>* List installed bundles<\/p>\n<pre lang=\"bash\">\r\n-> ps\r\nSTART LEVEL 12\r\n   ID   State         Level  Name\r\n[   0] [Active     ] [    0] System Bundle (4.0.2)\r\n[   1] [Active     ] [   10] Commons Codec (1.5)\r\n[   2] [Active     ] [   10] Commons Lang (2.6)\r\n[   3] [Active     ] [   10] OpenICF Framework (1.1.0.0)\r\n[   4] [Resolved   ] [   10] OpenICF Framework - Internal (1.1.0.0)\r\n[   5] [Active     ] [   10] OpenICF Framework - OSGi (1.1.0.0)\r\n[   6] [Active     ] [   10] Groovy Runtime (1.8.3)\r\n[   7] [Active     ] [   10] Apache HttpClient OSGi bundle (4.1.2)\r\n[   8] [Active     ] [   10] Apache HttpCore OSGi bundle (4.1.2)\r\n[   9] [Resolved   ] [   10] OpenICF Framework - logging over SLF4J (1.1.0.0)\r\n[  10] [Active     ] [   10] Jackson JSON processor (1.9.5)\r\n[  11] [Active     ] [   10] Data mapper for Jackson JSON processor (1.9.5)\r\n[  12] [Active     ] [   10] Servlet 2.1 API (1.0.0)\r\n[  13] [Active     ] [   10] jcl-over-slf4j (1.6.4)\r\n[  14] [Active     ] [   10] file:\/opt\/openidm\/openidm\/bundle\/json-crypto-cli-1.1.0.jar\r\n[  15] [Active     ] [   10] JSON Crypto core library (1.1.0)\r\n[  16] [Active     ] [   10] JSON Fluent (1.1.0)\r\n[  17] [Active     ] [   10] JSON Patch library (1.0.0)\r\n[  18] [Active     ] [   10] JSON Schema Draft-03 Validator (1.0.0)\r\n[  19] [Active     ] [   10] JavaMail API (compat) (1.4.4)\r\n[  20] [Active     ] [   10] OpenIDM audit module (2.0.3)\r\n[  21] [Active     ] [   10] OpenIDM core (2.0.3)\r\n[  22] [Active     ] [   10] OpenIDM enhanced Configuration classes (2.0.3)\r\n[  23] [Active     ] [   10] OpenIDM external email service (2.0.3)\r\n[  24] [Active     ] [   10] OpenIDM external REST service (2.0.3)\r\n[  25] [Active     ] [   10] OpenIDM authentication filter (2.0.3)\r\n[  26] [Active     ] [   10] OpenIDM http context (2.0.3)\r\n[  27] [Active     ] [   10] OpenIDM provisioner (2.0.3)\r\n[  28] [Active     ] [   10] OpenIDM provisioner using OpenICF (2.0.3)\r\n[  29] [Active     ] [   10] OpenIDM repository common (2.0.3)\r\n[  30] [Active     ] [   10] OpenIDM Restlet integration (2.0.3)\r\n[  31] [Resolved   ] [   10] OpenIDM System Fragment (2.0.3)\r\n[  32] [Active     ] [   10] OpenIDM utility classes (2.0.3)\r\n[  33] [Active     ] [   10] OPS4J Base - Lang (1.2.3)\r\n[  34] [Active     ] [   10] Apache Felix Gogo Runtime (0.10.0)\r\n[  35] [Active     ] [   10] Apache Felix Log Service (1.0.1)\r\n[  36] [Active     ] [   10] Apache Felix Declarative Services (1.6.0)\r\n[  37] [Active     ] [   10] Apache Felix Shell Service (1.4.3)\r\n[  38] [Active     ] [   10] Apache Felix Shell TUI (1.4.1)\r\n[  39] [Active     ] [   10] Apache Felix Web Management Console (3.1.8)\r\n[  40] [Active     ] [   10] Apache ServiceMix :: Bundles :: quartz (1.8.4.2)\r\n[  41] [Active     ] [   10] Apache ServiceMix :: Bundles :: js (1.0.0.7R2_3)\r\n[  42] [Active     ] [   10] JSON Resource core (1.2.2)\r\n[  43] [Active     ] [   10] JSON Resource Restlet integration (1.2.2)\r\n[  44] [Active     ] [   10] Restlet utility classes (1.0.0)\r\n[  45] [Active     ] [   10] ForgeRock Utility Classes (1.0.0)\r\n[  46] [Active     ] [   10] OSGi R4 Compendium Bundle (4.1.0)\r\n[  47] [Active     ] [   10] OSGi R4 Core Bundle (4.1)\r\n[  48] [Active     ] [   10] Restlet API (2.0.9.0)\r\n[  49] [Active     ] [   10] Restlet Extension - Apache HTTP Client (2.0.9.0)\r\n[  50] [Active     ] [   10] Restlet Extension - Jackson (2.0.9.0)\r\n[  51] [Active     ] [   10] Restlet Extension - Servlet (2.0.9.0)\r\n[  52] [Active     ] [   10] OPS4J Pax Swissbox :: OSGi Core (1.4.0)\r\n[  53] [Active     ] [   10] OPS4J Pax Swissbox :: Extender (1.4.0)\r\n[  54] [Active     ] [   10] OPS4J Pax Swissbox :: Lifecycle (1.4.0)\r\n[  55] [Active     ] [   10] OPS4J Pax Swissbox :: Optional JCL (1.4.0)\r\n[  56] [Active     ] [   10] Rhino Debugger (1.0.300.v201109150503)\r\n[  57] [Active     ] [   10] slf4j-api (1.6.4)\r\n[  58] [Resolved   ] [   10] slf4j-jdk14 (1.6.4)\r\n[  59] [Active     ] [   10] Debug Transport (1.0.100.v201109150330)\r\n[  60] [Resolved   ] [    1] OpenIDM fragment for jetty security (2.0.3)\r\n[  61] [Resolved   ] [    1] OpenIDM JAAS login module for Repository (2.0.3)\r\n[  62] [Resolved   ] [    1] OpenIDM Jetty Fragment (2.0.3)\r\n[  63] [Active     ] [   12] OPS4J Pax Web - Extender - Whiteboard (1.1.1)\r\n[  64] [Active     ] [   12] OpenIDM scheduler (2.0.3)\r\n[  65] [Active     ] [   11] OPS4J Pax Web - Jetty Bundle (1.1.1)\r\n[  66] [Active     ] [    3] Apache Felix Configuration Admin Service (1.2.8)\r\n[  67] [Active     ] [    3] Apache Felix File Install (3.1.10)\r\n[  68] [Active     ] [    2] OpenIDM repository using JDBC (2.0.3)\r\n[  69] [Active     ] [    2] OpenIDM repository using OrientDB (2.0.3)\r\n[  70] [Active     ] [    1] OpenIDM configuration support (2.0.3)\r\n[  71] [Active     ] [    1] OpenIDM cryptography service (2.0.3)\r\n-> \r\n<\/pre>\n<span id=\"Run_in_Background\"><h3>Run in Background<\/h3><\/span>\n<p>* Silence Console Ouput<br \/>\n<em>vi conf\/logging.properties<\/em><\/p>\n<pre lang=\"bash\">\r\njava.util.logging.ConsoleHandler.level = OFF \r\n<\/pre>\n<p>* Disable Interactive Console<br \/>\n- Remove <em>bundle\/org.apache.felix.shell.tui-<version>.jar<\/em><\/p>\n<pre lang=\"bash\">\r\n mv org.apache.felix.shell.tui-1.4.1.jar org.apache.felix.shell.tui-1.4.1.jar.ori\r\n<\/pre>\n<p>* Run in background<\/p>\n<pre lang=\"bash\">\r\nnohup .\/startup.sh &\r\n<\/pre>\n<span id=\"Shutdown\"><h3>Shutdown<\/h3><\/span>\n<p>* From command line: <em>.\/shutdown.sh<\/em><br \/>\n* From Admin Console: <em>System Information > Stop<\/em><br \/>\n* From interactive console: -> <em>shutdown<\/em><\/p>\n<span id=\"Admin_Console\"><h2>Admin Console<\/h2><\/span>\n<span id=\"Access_and_Login\"><h3>Access and Login<\/h3><\/span>\n<p>* URL: <a href=\"http:\/\/openidmbox:8080\/system\/console\">http:\/\/openidmbox:8080\/system\/console<\/a><br \/>\n* Default login: admin\/admin<\/p>\n<span id=\"_1\"><h6><a href=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/08\/OpenIDM_console_login.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/08\/OpenIDM_console_login-300x93.jpg\" alt=\"\" title=\"OpenIDM_console_login\" width=\"300\" height=\"93\" class=\"aligncenter size-medium wp-image-5738\" srcset=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/08\/OpenIDM_console_login-300x93.jpg 300w, https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/08\/OpenIDM_console_login.jpg 823w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/h6><\/span>\n<span id=\"_2\"><h6><\/h6><\/span>\n<span id=\"Bundles\"><h3>Bundles<\/h3><\/span>\n<span id=\"_3\"><h6><a href=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/08\/OpenIDM_console_bundles.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/08\/OpenIDM_console_bundles-300x195.jpg\" alt=\"\" title=\"OpenIDM_console_bundles\" width=\"300\" height=\"195\" class=\"aligncenter size-medium wp-image-5739\" srcset=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/08\/OpenIDM_console_bundles-300x195.jpg 300w, https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/08\/OpenIDM_console_bundles-1024x666.jpg 1024w, https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/08\/OpenIDM_console_bundles.jpg 1046w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/h6><\/span>\n<span id=\"OpenIDM_Components\"><h3>OpenIDM Components<\/h3><\/span>\n<span id=\"_4\"><h6><a href=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/08\/OpenIDM_console_components.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/08\/OpenIDM_console_components-300x205.jpg\" alt=\"\" title=\"OpenIDM_console_components\" width=\"300\" height=\"205\" class=\"aligncenter size-medium wp-image-5740\" srcset=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/08\/OpenIDM_console_components-300x205.jpg 300w, https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/08\/OpenIDM_console_components-1024x701.jpg 1024w, https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/08\/OpenIDM_console_components.jpg 1044w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/h6><\/span>\n<span id=\"Shell\"><h3>Shell<\/h3><\/span>\n<span id=\"_5\"><h6><a href=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/08\/OpenIDM_console_shell.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/08\/OpenIDM_console_shell-300x201.jpg\" alt=\"\" title=\"OpenIDM_console_shell\" width=\"300\" height=\"201\" class=\"aligncenter size-medium wp-image-5741\" srcset=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/08\/OpenIDM_console_shell-300x201.jpg 300w, https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/08\/OpenIDM_console_shell-1024x688.jpg 1024w, https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/08\/OpenIDM_console_shell.jpg 1045w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/h6><\/span>\n<span id=\"System_Information\"><h3>System Information<\/h3><\/span>\n<span id=\"_6\"><h6><a href=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/08\/OpenIDM_console_sysinfo.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/08\/OpenIDM_console_sysinfo-300x133.jpg\" alt=\"\" title=\"OpenIDM_console_sysinfo\" width=\"300\" height=\"133\" class=\"aligncenter size-medium wp-image-5742\" srcset=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/08\/OpenIDM_console_sysinfo-300x133.jpg 300w, https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/08\/OpenIDM_console_sysinfo-1024x455.jpg 1024w, https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/08\/OpenIDM_console_sysinfo.jpg 1062w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/h6><\/span>\n<span id=\"UI\"><h2>UI<\/h2><\/span>\n<span id=\"Install_2\"><h3>Install<\/h3><\/span>\n<p>* You need to download the <a href=\"http:\/\/download.forgerock.org\/downloads\/openidm\/snapshot\/openidm-2.1.0-SNAPSHOT.zip\">2.1.0 nightly build<\/a> in order to see UI.<br \/>\n* For example,<\/p>\n<pre lang=\"bash\">\r\n$ unzip \/mnt\/hgfs\/vmshare\/openidm-2.1.0-SNAPSHOT_nightly.zip\r\n$ cd openidm\/\r\n$ ls\r\naudit   cli.bat  connectors   logs     security     startup.sh\r\nbin     cli.sh   db           samples  shutdown.sh  ui\r\nbundle  conf     felix-cache  script   startup.bat  workflow\r\n$ .\/startup.sh\r\n.\/startup.sh\r\nUsing OPENIDM_HOME:   \/opt\/openidm\/openidm-2.1.0-SNAPSHOT_nightly\/openidm\r\nUsing OPENIDM_OPTS:   -Xmx1024m\r\nUsing LOGGING_CONFIG: -Djava.util.logging.config.file=\/opt\/openidm\/openidm-2.1.0-SNAPSHOT_nightly\/openidm\/conf\/logging.properties\r\nUsing boot properties at \/opt\/openidm\/openidm-2.1.0-SNAPSHOT_nightly\/openidm\/conf\/boot\/boot.properties\r\n-> OpenIDM version \"2.1.0-SNAPSHOT\" (revision: 1199)\r\n\r\n-> \r\n<\/pre>\n<span id=\"Login_URL\"><h3>Login URL<\/h3><\/span>\n<p>* UI can be accessed from URL: <a href=\"http:\/\/openidmbox:8080\/openidmui\/index.html\">http:\/\/openidmbox:8080\/openidmui\/index.html<\/a><\/p>\n<span id=\"_7\"><h6><a href=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/08\/OpenIDM_ui_login.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/08\/OpenIDM_ui_login-300x249.jpg\" alt=\"\" title=\"OpenIDM_ui_login\" width=\"300\" height=\"249\" class=\"aligncenter size-medium wp-image-5916\" srcset=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/08\/OpenIDM_ui_login-300x249.jpg 300w, https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/08\/OpenIDM_ui_login-1024x852.jpg 1024w, https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/08\/OpenIDM_ui_login.jpg 1049w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/h6><\/span>\n<span id=\"Login_as_Admin\"><h3>Login as Admin<\/h3><\/span>\n<p>* Admin account is: <em>openidm-admin<\/em>\/<em>openidm-admin<\/em><\/p>\n<span id=\"User_Provisioning\"><h3>User Provisioning<\/h3><\/span>\n<p>* Add user<\/p>\n<span id=\"_8\"><h6><a href=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/08\/OpenIDM_ui_add_user.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/08\/OpenIDM_ui_add_user-300x97.jpg\" alt=\"\" title=\"OpenIDM_ui_add_user\" width=\"300\" height=\"97\" class=\"aligncenter size-medium wp-image-5917\" srcset=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/08\/OpenIDM_ui_add_user-300x97.jpg 300w, https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/08\/OpenIDM_ui_add_user.jpg 897w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/h6><\/span>\n<span id=\"_9\"><h6><a href=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/08\/OpenIDM_ui_add_user_2.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/08\/OpenIDM_ui_add_user_2-300x156.jpg\" alt=\"\" title=\"OpenIDM_ui_add_user_2\" width=\"300\" height=\"156\" class=\"aligncenter size-medium wp-image-5918\" srcset=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/08\/OpenIDM_ui_add_user_2-300x156.jpg 300w, https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/08\/OpenIDM_ui_add_user_2.jpg 890w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/h6><\/span>\n<span id=\"_10\"><h6><a href=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/08\/OpenIDM_ui_add_user_3.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/08\/OpenIDM_ui_add_user_3-300x77.jpg\" alt=\"\" title=\"OpenIDM_ui_add_user_3\" width=\"300\" height=\"77\" class=\"aligncenter size-medium wp-image-5919\" srcset=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/08\/OpenIDM_ui_add_user_3-300x77.jpg 300w, https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/08\/OpenIDM_ui_add_user_3.jpg 768w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/h6><\/span>\n<p>* Edit or delete user:<\/p>\n<span id=\"_11\"><h6><a href=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/08\/OpenIDM_ui_add_user_4.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/08\/OpenIDM_ui_add_user_4-300x63.jpg\" alt=\"\" title=\"OpenIDM_ui_add_user_4\" width=\"300\" height=\"63\" class=\"aligncenter size-medium wp-image-5920\" srcset=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/08\/OpenIDM_ui_add_user_4-300x63.jpg 300w, https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/08\/OpenIDM_ui_add_user_4.jpg 868w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/h6><\/span>\n<span id=\"User_Login\"><h3>User Login<\/h3><\/span>\n<p>* Login as new user <em>jdoe@example.com<\/em><\/p>\n<span id=\"_12\"><h6><a href=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/08\/OpenIDM_ui_login_jdoe.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/08\/OpenIDM_ui_login_jdoe-300x68.jpg\" alt=\"\" title=\"OpenIDM_ui_login_jdoe\" width=\"300\" height=\"68\" class=\"aligncenter size-medium wp-image-5921\" srcset=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/08\/OpenIDM_ui_login_jdoe-300x68.jpg 300w, https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/08\/OpenIDM_ui_login_jdoe.jpg 444w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/h6><\/span>\n<p>* User profile<\/p>\n<span id=\"_13\"><h6><a href=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/08\/OpenIDM_ui_login_jdoe_profile.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/08\/OpenIDM_ui_login_jdoe_profile-300x198.jpg\" alt=\"\" title=\"OpenIDM_ui_login_jdoe_profile\" width=\"300\" height=\"198\" class=\"aligncenter size-medium wp-image-5922\" srcset=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/08\/OpenIDM_ui_login_jdoe_profile-300x198.jpg 300w, https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/08\/OpenIDM_ui_login_jdoe_profile.jpg 960w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/h6><\/span>\n<p>* Change password:<\/p>\n<span id=\"_14\"><h6><a href=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/08\/OpenIDM_ui_login_jdoe_profile_change_pass.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/08\/OpenIDM_ui_login_jdoe_profile_change_pass-300x158.jpg\" alt=\"\" title=\"OpenIDM_ui_login_jdoe_profile_change_pass\" width=\"300\" height=\"158\" class=\"aligncenter size-medium wp-image-5923\" srcset=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/08\/OpenIDM_ui_login_jdoe_profile_change_pass-300x158.jpg 300w, https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/08\/OpenIDM_ui_login_jdoe_profile_change_pass.jpg 820w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/h6><\/span>\n<p>* Change avatar:<\/p>\n<span id=\"_15\"><h6><a href=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/08\/OpenIDM_ui_login_jdoe_profile_change_img.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/08\/OpenIDM_ui_login_jdoe_profile_change_img-300x177.jpg\" alt=\"\" title=\"OpenIDM_ui_login_jdoe_profile_change_img\" width=\"300\" height=\"177\" class=\"aligncenter size-medium wp-image-5924\" srcset=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/08\/OpenIDM_ui_login_jdoe_profile_change_img-300x177.jpg 300w, https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/08\/OpenIDM_ui_login_jdoe_profile_change_img.jpg 818w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/h6><\/span>\n<span id=\"References\"><h2>References<\/h2><\/span>\n<p>* <a href=\"http:\/\/openidm.forgerock.org\/doc\/install-guide\/index.html\">OpenIDM 2.1.0 Installation Guide<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Install Overview * Default OSGi container is Apache Felix * Embedded Servlet engine is Jetty * Embedded database is OrientDB (noSQL) Download * Download from project download site, e.g. OpenIDM 2.0.3 Build From Source * See here for detail instructions &hellip; <a href=\"https:\/\/jianmingli.com\/wp\/?p=5737\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_exactmetrics_skip_tracking":false,"_exactmetrics_sitenote_active":false,"_exactmetrics_sitenote_note":"","_exactmetrics_sitenote_category":0,"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[203],"tags":[612,141,204],"class_list":["post-5737","post","type-post","status-publish","format-standard","hentry","category-openidm","tag-idm","tag-install","tag-openidm-2"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p8cRUO-1ux","_links":{"self":[{"href":"https:\/\/jianmingli.com\/wp\/index.php?rest_route=\/wp\/v2\/posts\/5737","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jianmingli.com\/wp\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jianmingli.com\/wp\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jianmingli.com\/wp\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/jianmingli.com\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=5737"}],"version-history":[{"count":20,"href":"https:\/\/jianmingli.com\/wp\/index.php?rest_route=\/wp\/v2\/posts\/5737\/revisions"}],"predecessor-version":[{"id":5750,"href":"https:\/\/jianmingli.com\/wp\/index.php?rest_route=\/wp\/v2\/posts\/5737\/revisions\/5750"}],"wp:attachment":[{"href":"https:\/\/jianmingli.com\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=5737"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jianmingli.com\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=5737"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jianmingli.com\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=5737"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}