RHEL: 3. Install Graphlytic

Deploy plugin into Neo4j

Graphlytic requires some advanced features which are not delivered with Neo4j but are deployed as a plugin for Neo4j delivered with Graphlytic installation package. To know more about the functionality of the plugin please see Architecture.

The Graphlytic Neo4j plugin has to be copied into Neo4j:

  • Stop Neo4j if it is running

  • Copy the file "neo4j-gl-plugin-<version>.jar" into the directory <NEO4J_HOME>/plugins/ (this directory can be changed in the Neo4j configuration file)

    • Alternativelly use the "legacy-neo4j-gl-plugin-<version>.jar" when you want to use Neo4j version 3.3 or 3.4


$ sudo cp /tmp/neo4j-gl-plugin-<version>.jar /usr/share/neo4j/plugins/

To see what is the functionlity of plugin see Architecture.

Install Graphlytic

Install Graphlytic as service

After this installation Graphlytic will start automatically after operating system is started. Neo4j is required by Graphlytic so there is also need to install Neo4j as a service (see RHEL: 2. Install Neo4j)

Graphlytic application will be started by user 'graphlytic'. Create this user with home directory (home directory is used by neo4j drivers to store known hosts <home>/.neo4j/known_hosts):

$ sudo useradd -m graphlytic
$ sudo usermod -L graphlytic

Copy Graphlytic installation file "graphlytic-<version>.tar.gz" into /tmp/.

Create directory structure:

$ sudo mkdir -p /usr/share/graphlytic /var/log/graphlytic
$ sudo chown -R graphlytic:graphlytic /usr/share/graphlytic /var/log/graphlytic

Copy installation file and unpack it:

$ sudo su graphlytic
graphlytic:$ cp /tmp/graphlytic-<version>.tar.gz /usr/share/graphlytic
graphlytic:$ cd /usr/share/graphlytic
graphlytic:$ tar zxvf graphlytic-<version>.tar.gz

Graphlytic's configuration is stored in the "conf/graphlytic.conf" file.

To configure Graphlytic run this command:

graphlytic:$ vi /usr/share/graphlytic/conf/graphlytic.conf

Default configuration is as follows:

# where Graphlytic stores its data
# where Graphlytic stores log files
# where Graphlytic stores external widgets
# where Graphlytic stores external icons
# login page logo title
# url for HTTP or HTTPS connection to Neo4j REST
# do not comment this line. HTTP/HTTPS connection is mandatory for communication with Graphlytic Neo4j plugin
# you can use HTTPS url to use SSL but you need import Neo4j certificate into Java default truststore
# url for Bolt connection to Neo4j
# comment this line to disable Bolt protocol communication and HTTP/HTTPS will be used for all communication with Neo4j
# username for Neo4j connection
# password for Neo4j connection

Configure starting script:

graphlytic:$ chmod a+x /usr/share/graphlytic/bin/graphlyticd
graphlytic:$ vi /usr/share/graphlytic/bin/graphlyticd

Edit this configuration file to use HTTP or HTTPS or both:

# use this script with created service
# disable or enable HTTP/HTTPS. To disable comment od remove line

Copy init script and enable service:

$ sudo cp /usr/share/graphlytic/bin/graphlytic-init-rhel /etc/init.d/graphlytic
$ sudo chmod a+x /etc/init.d/graphlytic
$ sudo systemctl enable graphlytic.service

Check if service was enabled:

$ sudo find /etc/rc?.d/ -name "*graphlytic*"
expected result: