Skip to content

Build Guide

Jerome Leonard edited this page Nov 7, 2016 · 16 revisions

Build from sources

This document is a step-by-step guide to build TheHive from sources.

1. Pre-requisites

The following softwares are required to download and build TheHive.

2. Quick build guide

Here is the way to install requirements and build the application from sources.

2.1. Packages

sudo apt-get install git wget

2.2. Installation of Oracle JDK

sudo echo 'deb http://ppa.launchpad.net/webupd8team/java/ubuntu trusty main' | sudo tee -a /etc/apt/sources.list.d/java.list
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-key EEA14886
sudo apt-get update
sudo apt-get install oracle-java8-installer

2.3. Installation of ElasticSearch

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-key D88E42B4
echo "deb https://packages.elastic.co/elasticsearch/2.x/debian stable main" | sudo tee -a /etc/apt/sources.list.d/elasticsearch-2.x.list
sudo apt-get update && sudo apt-get install elasticsearch

2.4. Installation of NodeJs

sudo apt-get install wget
wget -qO- https://deb.nodesource.com/setup_4.x | bash -
sudo apt-get install nodejs

2.5. Installation of bower and grunt

sudo npm install -g bower grunt-cli

2.6. TheHive

Download sources

git clone https://github.com/CERT-BDF/TheHive.git

Build the projects

cd TheHive/bin
./activator clean stage

It will download all dependencies (could be long) then build the back-end. This command clean previous build files and create an autonomous package in target/universal/stage directory. This packages contains TheHive binaries with required libraries (/lib), analyzers (/analyzers), configuration files (/conf), startup scripts (/bin).

Binaries are built and stored in TheHive/target/universal/stage/. Install them in /opt/thehive for example.

sudo cp TheHive/target/universal/stage /opt/thehive

and following the configuration part of the installation guide to run TheHive.

Configure and start elasticsearch

Edit /etc/elasticsearch/elasticsearch.yml and add the following lines:

network.host: 127.0.0.1
script.inline: on
cluster.name: hive
threadpool.index.queue_size: 100000
threadpool.search.queue_size: 100000
threadpool.bulk.queue_size: 1000

Start the service :

service elasticsearch restart

First start

Follow 4.3. First start in the Installation guide to start using TheHive.

Build the front-end only

Go to front-end directory :

cd TheHive/ui

Install NodeJs libraries (required by building step), bower libraries (javascript libraries downloaded by browser). Then build the front-end :

npm install
bower install
grunt build

This step generates static files (html, javascript and related resources) in dist directory. These files are ready to be imported in http server.

Documentation has been moved here

Clone this wiki locally