Installing MidPoint Server From Distribution Package

Last modified 27 Jun 2025 10:39 +02:00

This guide describes how to install midPoint as a server from Evolveum distribution packages.

This procedure is intended for pre-production and production environments, and it is suitable for installing on virtual machines or physical hardware. The guide assumes an ordinary server environment, running a server operating system, such as Linux.

If you only want to try midPoint, see Quickstart guide.

There are also alternative installation methods, such as Containers or installing from a building from the source code.

MidPoint 4.0 and later

This guide applies to midPoint 4.0 and later. For older releases, see Release Notes.

Before You Start

There are few things to check before you start the installation:

Prerequisites

MidPoint is a Java application, therefore it requires a Java platform to run on. Java 21 is the recommended platform for MidPoint 4.9.3. Alternatively, Java 17 can be used. Other Java platform versions are not supported. Java platform distributions based on OpenJDK are recommended. Other JDK builds (e.g. Oracle) may work as well, but those have a limited support for midPoint (see the Release Notes for details).

The JAVA_HOME environment variable should point to the Java installation path.

Download

Download the midPoint binary release according to the following table:

MidPoint 4.9.3 Binary Distribution

https://evolveum.com/downloads/midpoint/4.9.3/midpoint-4.9.3-dist.zip
https://evolveum.com/downloads/midpoint/4.9.3/midpoint-4.9.3-dist.tar.gz

Unpack the archive file to a convenient location. The following instructions refer to relative paths inside this archive.

Installation

Installing the Files

Copy the files to the installation directory. The following directory locations are recommended:

Operating system Installation directory

Linux and other UNIX systems

/opt/midpoint

Windows

C:\Program Files\midpoint

The following instructions refer to relative paths inside the installation directory.

MidPoint Home Directory

MidPoint Home Directory is a filesystem directory that midPoint uses to store the initial configuration, cryptographic keys, log files and similar "variable" content. MidPoint home directory is located in the var subdirectory by default (e.g. /opt/midpoint/var). This location is acceptable for many installations.

However, some installations may want to separate the static (read-only) parts from the dynamic (read-write) parts of the installation. To do that, move the midPoint home directory to a suitable location by setting the MIDPOINT_HOME environment variable (on UNIX systems) or by configuring the JVM options. You can move the midPoint home directory even after installing midPoint. However, it is recommended to set the directory correctly during installation to save time.

For details, refer to:

MidPoint Repository

MidPoint comes with two repository implementations:

  • Native PostgreSQL repository (preferred)

  • Generic repository that supports multiple DB vendors (Oracle, SQL Server, PostgreSQL)

The generic repository is deprecated and not recommended.

A PostgreSQL database with a native repository has to be used for any production midPoint deployment.

For installation details, see Using Native PostgreSQL Repository.

Post-Installation

Manual Run Control

MidPoint distribution packages provide convenient scripts that allow you to start and stop the midPoint service manually. Those scripts are located in the bin directory. Those scripts are not interacting with any service control facility on operating systems, such as systemd. Those scripts only start and stop the midPoint process.

Linux (UNIX)

Starting midPoint (Linux)
./bin/start.sh
Stopping midPoint (Linux)
./bin/stop.sh

The start.sh and stop.sh scripts are simple wrappers for the midpoint.sh script. The midpoint.sh script is where all the action happens. You can also invoke this script directly:

Using midpoint.sh script (Linux)
./bin/midpoint.sh start
./bin/midpoint.sh stop

The midpoint.sh script will process the setenv.sh script if it exists in the same directory (bin), or in the midPoint home directory. In this script, you can conveniently customize JVM properties, for example:

#!/bin/sh
export JAVA_OPTS="$JAVA_OPTS -Dmidpoint.nodeId=My_Node1"
For more information on midpoint.sh, refer to Start script.

Windows

Starting midPoint (Windows)
bin\start.bat
Stopping midPoint (Windows)
bin\stop.bat

The start.bat and stop.bat scripts are simple wrappers for the midpoint.bat script. The midpoint.bat script is where all the action happens.

The midpoint.bat script will process the setenv.bat script if it exists in the same directory (bin). In this script, you can conveniently customize JVM properties.

Changing Keystore Password

Do not forget to change the initial keystore password!

It is strongly recommended to perform this step right after the initial startup of midPoint for all non-test environments.

To see how to change the initial keystore password, refer to Change Keystore Password.

Setting Up a Service

The 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 the operating system. The following pages provide specific instructions for the individual operating systems:

Was this page helpful?
YES NO
Thanks for your feedback