Installing MidPoint Server From Distribution Package
This guide that describes how to install midPoint from Evolveum distribution package. MidPoint will be installed as a server, intended for pre-production or production environment. The guide assumes an ordinary server environment, running in a server operating system such as Linux. This is suitable for the installation on a virtual machine or physical hardware.
This guide may be too complex if all you want is just to try midPoint. In that case please see Quickstart guide.
MidPoint 4.0 and later
This guide applies to midPoint 4.0 and later. For guides that apply to older releases please see the release notes.
Before You Start
There are few things to check before you start the installation:
MidPoint is a Java application, therefore it requires Java platform to run on. Java 11 is a required platform for MidPoint 4.5. Java platform distributions based on OpenJDK are recommended. Other JDK builds (e.g. Oracle) may work as well, but those have limited support for midPoint (see release notes for the details).
JAVA_HOME environment variable should point to the Java installation path.
Download the midPoint binary release according to the following table:
MidPoint 4.5 Binary Distribution
Unpack the archive file to a convenient location. Following instructions will refer to the relative paths inside this archive.
Installing the Files
Copy the files to an installation directory. Following directory locations are recommended:
|Operating system||Installation directory|
Linux and other UNIX systems
Following instructions will refer to the relative paths inside the installation directory.
MidPoint Home Directory
MidPoint Home Directory is a filesystem directory that midPoint uses to store initial configuration, cryptographic keys, log files and similar "variable" content.
MidPoint home directory is located in the
var subdirectory by default (e.g.
This location is acceptable for many installations.
However, some installations may want to separate the static (read-only) parts of the installation and the dynamic (read-write) parts.
In that case the midPoint home directory may be moved to any suitable location.
This can be achieved simply by setting
MIDPOINT_HOME environment variable (on UNIX systems) or manipulating the JVM options.
Please see MidPoint Home Directory and Stand-Alone Deployment pages for details.
MidPoint home directory may be moved even after midPoint is installed. However, setting the directory correctly during installation may save a lot of work later on.
MidPoint comes with an embedded database engine (H2) that is suitable for testing and demo installations. This database will be used by midPoint after the installation unless other repository is specified. However, the embedded database is not supported for production installations. Therefore, for anything other than evaluation and demo installations, it is strongly recommended setting up a full-scale database engine. PostgreSQL database has to be used for any serious midPoint deployment. Please see native PostgreSQL repository page for installation details.
Manual Run Control
MidPoint distribution package provides convenient scripts to start and stop midPoint service.
Those scripts are located in the
The purpose of those scripts is to start and stop midPoint manually.
Those scripts are not interacting with any service control facility on operating systems (e.g. systemd).
Those scripts just start and stop midPoint process.
stop.sh scripts are just simple wrappers for
midpoint.sh script is where all the action happens.
This script can also be invoked directly:
./bin/midpoint.sh start ./bin/midpoint.sh stop
midpoint.sh script will process the script
setenv.sh if it exists in the same directory
bin) or in midPoint home directory.
The script is a convenient place for customizing JVM properties, for example:
#!/bin/sh export JAVA_OPTS="$JAVA_OPTS -Dmidpoint.nodeId=My_Node1"
midpoint.sh script may provide more run control and diagnostics capabilities in the future.
stop.bat scripts are just simple wrappers for
midpoint.bat script is where all the action happens.
midpoint.bat script will process the script
setenv.bat if it exists in the same directory
(bin). The script is a convenient place for customizing JVM properties.
Setting Up a Service
Proper way to run midPoint on a server is to register it to the operating system service control facility. This procedure is inherently dependent on an operating system. Following pages provide specific instruction for individual operating systems: