MidPoint 3.7 and later
MidPoint is deployed as a stand-alone server process. MidPoint distribution package contains everything that is needed to start up and run midPoint. Web container (Apache Tomcat) and all the necessary components are bundled inside midPoint distribution. In addition to that, midPoint is a Java application therefore it is platform-independent. Therefore all that is needed to run midPoint is to download it, unpack it and start it. MidPoint server process will start up. It will listen on HTTP port 8080.
Please have a look at the Trying MidPoint page for basic installation instruction for the purposes of midPoint evaluation or demo. See Installing MidPoint Server page for full installation instructions.
Standalone versus web container
Stand-alone deployment is a primary deployment mode now. However, stand-alone deployment was introduced in midPoint 3.7. Before that midPoint was distributed in Java web application form (WAR) and required deployment to a web container (application server) to run. This method is still supported as an alternative deployment model. However the only supported web container is Apache Tomcat. Other web containers (application servers) may be supported if the support is explicitly negotiated in midPoint subscription. Except for those cases midPoint development team will not provide any support for other web containers.
Currently there are no plans to remove support for deployed midPoint installation using a WAR file. However, it is possible that this deployment form will get phased out eventually unless there are active subscribers preferring this deployment method. MidPoint subscription is strongly recommended.
MidPoint distribution package provides convenient scripts to start and stop midPoint service. Those scripts are locate in the
stop.sh scripts are just simple wrappers for
midpoint.sh script. The
midpoint.sh script is where all the action happens. This script can also be invoked directly:
midpoint.sh script may provide more run control and diagnostics capabilities in the future.
The entire midPoint system lives inside the installation directory unless it is configured otherwise. Therefore the choice of installation directory is important. Those are recommended locations for midPoint installation directory:
Installation Directory Layout
The installation directory has the following layout:
|bin||Start/stop scripts and other "binaries"||Read only||The scripts are platform-dependent. There are separate scripts for UNIX-like systems (Linux) and Windows.|
|doc||Documentation, samples, ...||No access needed||Those files are not required to run midPoint at all. The files just provide additional information. Those files may be removed if not needed.|
|lib||Library files (JAR/WAR)||Read only||Files in this directory contain bulk of compiled midPoint code. The compiled files are platform-independent.|
|var||Default midPoint home directory. Initial configuration, cryptographic keys, log files and similar "variable" content.||Read-write||See MidPoint Home Directory.|
|INSTALL, NEWS, NOTICE, ...||No access needed||Those files are not required to run midPoint at all. The files just provide additional information. Those files may be removed if not needed.|
The "Access" column specifies what access to the directory is needed by midPoint itself. This information can be used to set up proper file system permission, e.g. in case of system hardening.
MidPoint Repository (Database)
MidPoint comes with an embedded database engine (H2) that is perfectly suitable for testing and demo installations. This database will be used by midPoint after the installation. Therefore there is no need to set up a separate database if installing midPoint for the first time. The database files will be stored in midPoint home directory.
The database can later be changed to a full-scale database engine. The Repository Configuration page provides the instructions.
Java Memory Setting and Other Options
Java memory setting and other JVM options are controlled by the scripts that start midPoint process.
In Linux (UNIX) environment it is the
midpoint.sh script where it all happens. Java options are specified at the beginning of the script. The easiest option to control the options is to directly edit the script. Better options may be implemented in the future.
In Windows there is a similar
midpoint.bat script. This script is somehow limited in capabilities, but it is sufficient for the purpose. Java option can be changed by modifying this script.