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 ## 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.