mirror of
https://github.com/ntop/ntopng.git
synced 2026-04-28 23:19:33 +00:00
213 lines
6.8 KiB
Text
213 lines
6.8 KiB
Text
Before you Compile ntopng
|
|
-------------------------
|
|
|
|
If you want to use binary packages instead of compiling ntopng from source you can
|
|
download them for various platforms at http://packages.ntop.org/
|
|
|
|
Prerequisites for Compilation
|
|
-----------------------------
|
|
|
|
Prerequisites
|
|
- glib2
|
|
- GNU autotools/libtool
|
|
- libmaxminddb
|
|
- libpcap-dev and PF_RING (optional but recommended)
|
|
- redis (redis server) 2.2 or newer
|
|
- wget (for 'make geoip')
|
|
- libxml2-dev
|
|
- libglib2.0-dev
|
|
- libsqlite3-dev
|
|
- libcurl-dev
|
|
- uglify-es
|
|
- npm (optional - JS/CSS compilation)
|
|
- curl jq (optional)
|
|
|
|
|
|
On Ubuntu/Debian
|
|
~~~~~~~~~~~~~~~~
|
|
|
|
apt install build-essential git bison flex libxml2-dev libpcap-dev libtool libtool-bin rrdtool librrd-dev autoconf pkg-config automake autogen redis-server wget libsqlite3-dev libhiredis-dev libmaxminddb-dev libcurl4-openssl-dev libpango1.0-dev libcairo2-dev libnetfilter-queue-dev zlib1g-dev libssl-dev libcap-dev libnetfilter-conntrack-dev libreadline-dev libjson-c-dev libldap2-dev rename libsnmp-dev libexpat1-dev libmaxminddb-dev libradcli-dev libjson-c-dev libzmq3-dev curl jq libnl-genl-3-dev libgcrypt20-dev cmake libzstd-dev
|
|
|
|
If you plan to manipulate javascript you also need to do
|
|
- apt install npm
|
|
- npm install -g uglify-es
|
|
- npm install -g clean-css-cli
|
|
|
|
If you plan to build packages you should also install:
|
|
- apt install debhelper dkms
|
|
|
|
On Ubuntu/Debian (up to Debian 11) do
|
|
- apt install dpkg-sig
|
|
|
|
oo Debian 12
|
|
- apt install debsigs
|
|
|
|
If you want to optimize memory usage please consider installing jemalloc
|
|
- git clone https://github.com/jemalloc/jemalloc.git
|
|
|
|
If you plan to build ntopng dependencies you should also install:
|
|
- apt install libzstd-dev cmake librdkafka-dev libbpfcc-dev libjson-c-dev
|
|
|
|
if you plan to use Kafka you can also install
|
|
- apt install librdkafka-dev
|
|
|
|
On Ubuntu 16/18
|
|
~~~~~~~~~~~~~~~
|
|
|
|
You also need to do "apt install libtool-bin"
|
|
|
|
On Ubuntu20
|
|
~~~~~~~~~~~~~~
|
|
|
|
You also need to do "apt install libzmq3-dev"
|
|
|
|
On Debian 9/10/11/12
|
|
~~~~~~~~~~~~~~~~~~~~
|
|
|
|
You need to do add the `contrib` component to /etc/apt/sources.list entries, then
|
|
|
|
apt install libpng-dev libzmq5-dev libgcrypt20-dev
|
|
|
|
On Other Debian
|
|
~~~~~~~~~~~~~~~
|
|
|
|
apt install libzmq3-dev libgcrypt20-dev
|
|
|
|
On Raspbian 10
|
|
~~~~~~~~~~~~~~
|
|
|
|
apt install libzmq3-dev
|
|
|
|
On CentOS Stream (8)
|
|
~~~~~~~~~~~~~~~~~~~~
|
|
|
|
dnf install http://rpms.remirepo.net/enterprise/remi-release-8.rpm
|
|
dnf config-manager --set-enabled powertools
|
|
dnf config-manager --set-enabled remi
|
|
dnf group install "Development Tools"
|
|
dnf clean all
|
|
dnf update
|
|
dnf install openldap-devel libpcap-devel openssl-devel libcurl-devel libmaxminddb-devel sqlite-devel radcli-devel librdkafka-devel libcap-devel zeromq-devel rrdtool-devel json-c-devel expect hiredis-devel readline-devel expat-devel npm net-snmp-devel
|
|
npm install -g uglify-es
|
|
|
|
On CentOS/Rocky 8
|
|
~~~~~~~~~~~~~~~~~
|
|
|
|
dnf group install "Development Tools"
|
|
dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
|
|
Set "enabled=1" in file /etc/yum.repos.d/CentOS-PowerTools.repo [CentOS]
|
|
Set "enabled=1" in file /etc/yum.repos.d/Rocky-PowerTools.repo [Rocky]
|
|
yum install http://rpms.remirepo.net/enterprise/remi-release-8.rpm
|
|
yum config-manager --set-enabled remi
|
|
yum clean all
|
|
yum update
|
|
yum install openldap-devel libpcap-devel openssl-devel libcurl-devel libmaxminddb-devel sqlite-devel radcli-devel librdkafka-devel libcap-devel zeromq-devel rrdtool-devel json-c-devel expect expat-devel npm net-snmp-devel
|
|
npm install -g uglify-es
|
|
|
|
Then list the streams which provide Redis (dnf module list redis) and install it. For example, to install it from stream 5 run: sudo dnf module install redis:5
|
|
|
|
yum install hiredis-devel
|
|
|
|
|
|
On Rocky 9
|
|
~~~~~~~~~~~~~~~~~
|
|
dnf group install "Development Tools"
|
|
dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm
|
|
yum install http://rpms.remirepo.net/enterprise/remi-release-9.rpm
|
|
yum config-manager --set-enabled remi
|
|
dnf config-manager --set-enabled crb
|
|
yum clean all
|
|
yum install openldap-devel libpcap-devel openssl-devel libcurl-devel libmaxminddb-devel sqlite-devel radcli-devel librdkafka-devel libcap-devel zeromq-devel rrdtool-devel json-c-devel expect expat-devel npm numactl-devel net-snmp-devel
|
|
yum update
|
|
npm install -g uglify-es
|
|
|
|
|
|
On Fedora 30/31/32
|
|
~~~~~~~~~~~~~~~~~~
|
|
|
|
dnf install libtool m4
|
|
dnf install autoconf automake
|
|
dnf group install "Development Tools"
|
|
dnf install libpcap-devel openssl-devel libcurl-devel libmaxminddb-devel sqlite-devel radcli-devel librdkafka-devel libcap-devel zeromq-devel rrdtool-devel json-c-devel expect readline-devel net-snmp-devel
|
|
dnf install redis
|
|
|
|
On (Older) Fedora/CentOS 6-7
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
yum groupinstall "Development tools"
|
|
yum install git autoconf automake autogen bison flex libpcap-devel libmaxminddb-devel hiredis-devel redis glib2-devel libxml2-devel sqlite-devel gcc-c++ libtool wget libcurl-devel pango-devel cairo-devel libpng-devel libnetfilter_queue-devel zlib-devel which libcap-devel readline-devel zeromq-devel json-c-devel net-snmp-devel
|
|
|
|
On MacOS
|
|
~~~~~~~~
|
|
|
|
Using Brew (http://brew.sh):
|
|
|
|
brew install redis hiredis autoconf automake libtool rrdtool wget pkg-config git son-c libmaxminddb zmq openssl
|
|
|
|
Using MacPorts:
|
|
|
|
sudo port install redis hiredis autoconf automake libtool rrdtool wget pkgconfig git openssl zlib json-c libmaxminddb zmq libgcrypt
|
|
|
|
On FreeBSD
|
|
~~~~~~~~~~
|
|
|
|
All versions:
|
|
sudo pkg install gcc git autoconf automake libtool pkgconf gmake sudo libmaxminddb libsodium rrdtool lua53 zip json-c libzmq4 sqlite3 libgcrypt librdkafka bison flex libpcap rename cmake redis hiredis bash
|
|
|
|
|
|
On OpenSuse
|
|
~~~~~~~~~~~
|
|
|
|
zypper install flex bison libpcap-devel libmaxminddb-devel libsqlite3-0-devel sqlite3-devel czmq-devel
|
|
|
|
On Windows
|
|
~~~~~~~~~~
|
|
|
|
You can download the Redis server from
|
|
https://github.com/rgl/redis/downloads
|
|
|
|
Additional Notes
|
|
~~~~~~~~~~~~~~~~
|
|
|
|
Compilation of Javascript/CSS scripts to produce httpdocs/dist require npm and the installation of
|
|
npm packages defined in package.json (devDependencies). npm 12 or later is required and can be installed
|
|
by configuring the repository:
|
|
|
|
curl -sL https://deb.nodesource.com/setup_12.x | sudo bash -
|
|
sudo apt install -y nodejs npm
|
|
npm rebuild node-sass
|
|
|
|
Installation of the required npm packages:
|
|
|
|
npm install --save-dev @babel/core
|
|
jq -c '.devDependencies' package.json | jq -r -M | grep ':' | sed 's/:/@/' | sed 's|[", ^]||g' | xargs -L1 npm install --save-dev
|
|
|
|
Building JS/CSS in dist:
|
|
|
|
npm run build:dev
|
|
|
|
ZMQ Version
|
|
~~~~~~~~~~~
|
|
|
|
You can use ZMQ 4.x as alternative to 3.x (but not 2.x)
|
|
|
|
Source Code Compilation
|
|
-----------------------
|
|
|
|
Once you have installed all the prerequisites do
|
|
|
|
cd <compilation directory>
|
|
git clone https://github.com/ntop/nDPI.git
|
|
cd nDPI; ./autogen.sh; ./configure; make; cd ..
|
|
git clone https://github.com/ntop/ntopng.git
|
|
cd ntopng
|
|
./autogen.sh
|
|
./configure
|
|
make
|
|
|
|
Binary Packages
|
|
---------------
|
|
|
|
Debian/CentOS/Rocky/Windows/MacOS/Raspberry
|
|
Go to http://packages.ntop.org
|
|
|