Install and configure IPLM Server and Neo4j
Overview
Follow the instructions below to install IPLM Server for the latest IPLM Server release and Neo4j.
Considerations
-
If a pre-2024.1 version of IPLM Server is installed already, please refer to Migrating to IPLM Core 2024.1.
Installation environment variables
The following variables exist in a file that is created after the initial installation at /etc/mdx/envvars. To make these changes take effect before installation, you can specify them in advance before installing IPLM Server. This can either be done by creating the /etc/mdx/envvars yourself before installation, or by specifying the environment variables on the command line before running the installation command.
IPLM_SERVICE_USER="svc-mdx" yum install iplm-server
| Variable | Default | Description |
|---|---|---|
| IPLM_SERVICE_USER | mdxadmin | This variable designates the system user that will be utilized for the IPLM Server. |
| IPLM_SERVICE_GROUP | mdxadmin | This variable identifies the system group that will be employed for the IPLM Server. |
| IPLM_SERVER_INSTALL_NEO4J | If not set, defaults to old variable | This variable specifies whether or not to install Neo4j. It is a renamed version of MDX_SERVER_INSTALL_NEO4J. |
Step 1: Install IPLM Server and Neo4j
By default, the IPLM Server package will automatically download, install and configure Neo4j alongside IPLM Server. This is suitable for a small or test instance. If your instance grows over time, it is possible to move Neo4j to its own server at a later point.
Run the following command to install IPLM Server:
sudo yum install -y iplm-server
Neo4j is automatically downloaded and installed into /usr/share/mdx/neo4j. Both it and Neo4j will be configured so that IPLM Server will communicate with the local Neo4j, including setting a database password.
Install Neo4j from an existing download
Alternatively, the variable can be set to point to an already downloaded tgz file for the Neo4j installation. If this is done, then this file will be used instead of downloading a new file. e.g.:
IPLM_SERVER_INSTALL_NEO4J=/tmp/neo4j-4.4.44-enterprise.tgz yum install -y iplm-server
Step 2: Configure IPLM Server
After IPLM Server has been installed, you will need to configure it with the correct connection details for Neo4J. If Neo4j is running on the same machine, then it can continue to talk to localhost, otherwise it will need to be updated to connect to the remote database server.
In /etc/mdx/piserver.yml change details in the following section:
neo4jDriver:
# URI of the Neo4j server.
uri: "bolt://localhost:7687"
# Neo4j credentials
# Note that both username and password can be read from an external file.
# The external file can have more restricted access. But it needs to be
# readable by piserver, which by default is owned by mdxadmin.
username: neo4j
# If the password is not defined, then a default password will be used.
password: mysecurepassword
Step 3: Start and enable IPLM Server
To start IPLM Server, use:
sudo systemctl start piserver
To enable IPLM Server to automatically start on boot, run:
sudo systemctl enable piserver
Step 4: Test IPLM Server
Run the following command to verify that IPLM Server is running:
curl http://localhost:8080/public/v1/system/info
This assumes that IPLM Server is running on localhost on port 8080. This should return JSON data that lists the version of IPLM Server, and also the version of Neo4j that it is connected to.
When IPLM Server is installed in this way, then neo4j-local=yes option will be set in the /etc/mdx/piserver.conf file. To prevent neo4j from being automatically started, then comment out this option or set it to no.
In this situation, Neo4j is installed into /usr/share/mdx/neo4j/current. Tools such as the neo4j executable to start and stop the database, neo4j-admin for administration tasks and cypher-shell for running cypher commands are all in the bin directory under this location.
The database content files themselves are located in /var/lib/mdx-neo4j.
Step 5: Install Global Search Analyzer (Optional)
An optional global search analyzer is provided that changes the way that Neo4j searches for content. This is included in the installation of the iplm-server package (or the server .run installation file), and can be found in the products /piserver/plugins directory.
If Neo4j is installed as part of the IPLM Server installation, then a symbolic link will be automatically created in the neo4j plugins directory to the file in the piserver install.
If you are installing Neo4j yourself, then any jar files in /piserver/plugins should be copied manually into the plugins directory for each Neo4j node.
Currently, the available options are:
-
iplm-analyzer.jar - Provide a new search analyzer that treats hyphen (“-”) characters as a normal alphabetic character. The standard analyzer treats it as white space so words with hyphens in will be treated as multiple words.
Once the jar file has been placed in the Neo4j plugins directory, it is picked up the next time that Neo4j is started. If you have access to the database, then the following Cypher command can be used to list all current analyzers:
call db.index.fulltext.listAvailableAnalyzers()
The iplm-analyzer is listed as “iplm”.
Once installed, the analyzer can be enabled using the pi-admin settings command. See the documentation for pi-admin for details.
Updating an analyzer
If an analyzer is in use, the database should be shutdown before updating. It is also possible to get errors when listing the analyzer if the jar file has been changed since the database was started
Next steps
Once you have completed the IPLM Server installation, follow the instructions to install IPLM CLI.