-
Notifications
You must be signed in to change notification settings - Fork 630
Build Guide
This document is a step-by-step guide to build TheHive from sources.
The following softwares are required to download and build TheHive.
- Java Development Kit 8 (JDK)
- downloadable from http://www.oracle.com/technetwork/java/javase/downloads/index.html
- git
- Use the system package or downloadable it from http://www.git-scm.com/downloads
- ElasticSearch 2.3
- downloadable from https://www.elastic.co/downloads/past-releases/elasticsearch-2-3-5
- NodeJs with its package manager (NPM)
- downloadable from https://nodejs.org/en/download/
- Grunt
- After NodeJs installation, run
sudo npm install -g grunt-cli
- After NodeJs installation, run
- Bower
- After NodeJs installation, run
sudo npm install -g bower
- After NodeJs installation, run
Here is the way to install requirements and build the application from sources.
sudo apt-get install git wget
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
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
sudo apt-get install wget
wget -qO- https://deb.nodesource.com/setup_4.x | bash -
sudo apt-get install nodejs
sudo npm install -g bower grunt-cli
git clone https://github.com/CERT-BDF/TheHive.git
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.
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
Follow 4.3. First start in the Installation guide to start using TheHive.
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.