Installing the Gentics Content Management Platform using Linux

Table of Contents

Preparation

Please make sure that the required network connectivity between the applications and components is guaranteed. 

Gentics CMS

For installation of Gentics CMS in a Linux enviroment please refer to the Gentics CMS Install Guide

Gentics Mesh Content Repository

As described in the administration guide, Gentics Mesh does not need a dedicated installation procedure.

To make sure Gentics Mesh is started automatically it is usually started as a systemd service. Assuming the Gentics Mesh JAR file is located in /opt/mesh/ the respective service​[1] file will look similar to this:

mesh.service
[Unit]
Description=Gentics Mesh
Wants=basic.target
After=basic.target network.target syslog.target

[Service]
User=node
Restart=on-failure
ExecStart=/usr/bin/java -Xms1500m -Xmx1500m -XX:MaxDirectMemorySize=212m -Dstorage.diskCache.bufferSize=212 -jar mesh-server.jar
WorkingDirectory=/opt/mesh
LimitMEMLOCK=infinity
LimitNOFILE=65536
LimitAS=infinity
LimitRSS=infinity
LimitCORE=infinity

[Install]
WantedBy=multi-user.target
The actual filename of the Gentics Mesh JAR file can vary.

Gentics Portal | php

Gentics Portal | php requires a proper web server environment with PHP support. Please check the requirements at Requirements / tool configuration.

Consult the Demo installation steps, which should be similar or extended by the projects. 

Gentics Portal | java

Gentics Portal | java is also typically started as a systemd service, and the directory structure will look similar to this:

/opt/portal/
  config/
  templates/
  queries/
  waitForMesh.sh
  portal.jar

Configuration files for the portal, logging, caching, etc.

The Handlebars templates.

Project specific GraphQL queries.

A script that makes sure Gentics Mesh is available before the portal actually starts​[2].

In the mentioned setup, this would be the service file for the portal​[3]

[Unit]
Description=Gentics Portal java
Wants=basic.target
After=basic.target network.target syslog.target mesh.service

[Service]
User=node
Restart=on-failure
ExecStartPre=./waitForMesh.sh localhost:8080 200
ExecStart=/usr/bin/java -Xmx512m -jar portal.jar
WorkingDirectory=/opt/portal
LimitMEMLOCK=infinity
LimitNOFILE=65536
LimitAS=infinity
LimitRSS=infinity
LimitCORE=infinity

[Install]
WantedBy=multi-user.target

The Gentics Mesh service must be started before the portal.

Wait up to 200 seconds for Mesh to be available before starting the portal.

The actual filename of the portal JAR may vary.

Both services can then be enabled with the systemctl enable command:

$ sudo systemctl enable /opt/mesh/mesh.service
$ sudo systemctl enable /opt/portal/portal.service

1. An example file is available here: mesh.service.
2. The script is available here: waitForMesh.sh.
3. An example file is available here: portal.service