Note that you need to edit third-party/LuaJIT-X.Y.Z/src/Makefile and change "CC= gcc" into "CC= cc" prior to start the compilation.

pkg install git autoconf autoconf-wrapper automake automake-wrapper fontconfig libtool sqlite3 mysql56-client libxml2 glib gmake bash rrdtool redis pkgconf flex bison sudo GeoIP geoip

echo 'redis_enable="YES"' >> /etc/rc.conf
service redis start

mkdir ~/build
cd ~/build
git clone https://github.com/ntop/nDPI.git
git clone https://github.com/ntop/PF_RING.git
git clone https://github.com/ntop/ntopng.git
cd nDPI
./autogen.sh
gmake
cd ../PF_RING/userland
./configure
cd nbpf
cd ../../../ntopng/
./autogen.sh
./configure
gmake geoip
gmake
gmake install
sysctl net.inet6.ip6.v6only=0
ntopng

Courtesy of Joe Rizzo <jrizzo@rizzos.net>

## Configuring ntopng

ntopng configuration options go in file /etc/rc.conf. Variable ``ntopng_enable` is used to enable/disable the service while variable `ntopng_flags` can be used to specify custom startup options as well as to indicate the absolute path of an ntopng configuration file.

For example, valid ntopng_flags are:
$ cat /etc/rc.conf | grep ntopng_flags
ntopng_flags="-i vtnet0 --dns-mode 1 -w 3001 -W 3002"
ntopng_flags="/etc/ntopng/ntopng.conf"

To make sure the execution is consistent with what is declared into the Makefile, ntopng is always run with user "ntopng" and this user cannot be overridden.

The pid file is always assumed to be that declared in ntopng_pidfile.

Directories scripts/ httpdocs/ and callbacks/ are assumed to be those installed by the package manager.

Attempts to change the forementioned user, pid file, or directories will not have any effect.
