./bin/start.sh
Installing MidPoint Server From Distribution Package
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:
-
Make sure to see the Release Notes for the list of environments that are known to work and for the list of known issues in the current release.
-
Make sure the System Requirements are met.
-
Make sure you are using a supported version of midPoint. When in doubt, use the latest midPoint release (4.9.3)
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 |
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 |
|
Windows |
|
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)
./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:
./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
bin\start.bat
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: