NtopNG : version 3.5

Compilation de NTOPNG 3.5, derniĂšre version issue du git du projet (2018/03). 
Mon installation est toujours en version 3.3, mais Ă  chaque connexion sur l'interface je reçois un message m'invitant Ă  installer la version 3.4 stable. J'ai donc dĂ©cidĂ© d'installer la derniĂšre version, je dĂ©cris ci-aprĂšs les opĂ©rations exĂ©cutĂ©es. 

CrĂ©er un rĂ©pertoire "ntopng-3.5". 
cd ntopng-3.5

ExĂ©cuter le script en annexe (ici), d'abord en mode "LOAD", effectuer les modifications nĂ©cessaires (Makefile). 
Dans ntopng-3.5/ntopng/packages/ubuntu je modifie le fichier "Makefile" en commentant les appels Ă  "dpkg-sig" pour Ă©viter les problĂšmes de signature d'un package "officiel". 
On peut ensuite lancer le script en mode "COMPILE". 
En fin de compilation un warning sur les librairies "ssl" et "crypto" car NtopNG utilise encore des version "anciennes" :

/usr/bin/ld: warning: libssl.so.1.0.2, needed by /usr/lib/x86_64-linux-gnu/libcurl.so, may conflict with libssl.so.1.1 
/usr/bin/ld: warning: libssl.so.1.0.2, needed by /usr/lib/x86_64-linux-gnu/libcurl.so, may conflict with libssl.so.1.1 
/usr/bin/ld: warning: libcrypto.so.1.0.2, needed by /usr/lib/x86_64-linux-gnu/libcurl.so, may conflict with libcrypto.so.1.1

Vérifier que les versions 1.0.2 et 1.1 sont bien présentes sur mon systÚme :

cd /usr/lib/x86-64 
find ./ -name 'libssl*so*1.0.2' 
./libssl.so.1.0.2 
find ./ -name 'libcrypto*so*1.0.2' 
./libcrypto.so.1.0.2

Ne pas oublier de faire un :

cd ntopng-3.5/ntopng 
make geoip

avant de lancer la crĂ©ation du package. 
Ah, j'oubliais, corriger le fichier 'ntopng.service' du rĂ©pertoire "ntopng-3.5/ntopng/packages/ubuntu/debian.ntopng/ntopng/etc/systemd/system"  (car le standard "traĂźne" Ă  l'arrĂȘt durant au moins 1 minute 30) : 
Avant :

[Service] 
Type=simple 
ExecStartPre=/bin/sh -c '/bin/sed "/-e.*$\\|-G.*\\|--daemon.*\\|--pid.*/s/^/#/" /etc/ntopng/ntopng.conf > /run/ntopng.conf' 
ExecStart=/usr/local/bin/ntopng /run/ntopng.conf 
ExecStopPost=-/bin/rm -rf /run/ntopng.conf 
Restart=on-abnormal 
RestartSec=5

AprĂšs :

[Service] 
Type=simple 
ExecStartPre=/bin/sh -c '/bin/sed "/-e.*$\\|-G.*\\|--daemon.*\\|--pid.*/s/^/#/" /etc/ntopng/ntopng.conf > /run/ntopng.conf' 
ExecStart=/usr/local/bin/ntopng /run/ntopng.conf 
ExecStopPost=-/bin/rm -rf /run/ntopng.conf 
Restart=always 
RestartSec=5 
TimeoutStartSec=10 
TimeoutStopSec=10

On peut maintenant gĂ©nĂ©rer les paquets Debian, il doit en ĂȘtre de mĂȘme pour d'autres distributions mais le fichier "ntopng.service" n'est pas placĂ© dans le mĂȘme rĂ©pertoire. Il faut aussi commenter les appels Ă  "dpkg-sig" dans le fichier "ntopng-3.5/ntopng/packages/debian/Makefile.in" car nous ne disposons pas de clefs Debian/Ubuntu.

cd package/debian 
./configure 
make 2>&1 | tee MAKE.LOG

AprĂšs quelques instants deux paquets sont disponibles dans "ntopng-3.5/ntopng/packages/debian" :

ls -al ntop* 
-rw-r--r-- 1 jppRR jppRR  4937636 avril 24 11:29 ntopng_3.5.180424-4347_amd64.deb 
-rw-r--r-- 1 jppRR jppRR 23997248 avril 24 11:29 ntopng-data_3.5.180424_all.deb

Il ne resta plus qu'à les installer ... avec sudo bien sûr :

sudo dpkg -i ntopng*deb 
(Reading database ... 305480 files and directories currently installed.) 
Preparing to unpack ntopng_3.5.180424-4347_amd64.deb ... 
Unpacking ntopng (3.5.180424-4347) over (3.3.171219-3926) ... 
Preparing to unpack ntopng-data_3.5.180424_all.deb ... 
Unpacking ntopng-data (3.5.180424) over (3.3.171219) ... 
Setting up ntopng (3.5.180424-4347) ...

Configuration file '/etc/ntopng/ntopng.conf' 
 ==> File on system created by you or by a script. 
 ==> File also in package provided by package maintainer. 
   What would you like to do about it ?  Your options are: 
    Y or I  : install the package maintainer's version 
    N or O  : keep your currently-installed version 
      D     : show the differences between the versions 
      Z     : start a shell to examine the situation 
 The default action is to keep your current version. 
*** ntopng.conf (Y/I/N/O/D/Z) [default=N] ? n 
Rebuilding ld cache... 
(Re)Starting ntopng... 
Setting up ntopng-data (3.5.180424) ... 
Processing triggers for man-db (2.7.6.1-2) ...

Et maintenant le moment de vĂ©ritĂ© ! Je lance un browser sur "localhost:3002" (3002 chez moi, voir paramĂ©trage du fichier /etc/ntopng/ntopng.conf) et magnifique ... tout apparaĂźt normal, mĂȘme les alertes gĂ©nĂ©rĂ©es par la version prĂ©cĂ©dente sont prĂ©sentes et un petit tour dans le panneau hosts/hosts montre une liste complĂšte.  
Du cotĂ© de la base de donnĂ©es les nouvelles connexions sont bien enregistrĂ©es. 
Tout ceci a Ă©tĂ© rĂ©alisĂ© sur une machine de test, il ne reste plus qu'Ă  installer les deux paquets sur une "vraie" machine ... et cela fonctionne aussi bien. 
Autre vĂ©rification : le plugin NtopNG de Grafana fonctionne normalement. 
Version parfaitement compatible, au niveau des donnĂ©es, avec les prĂ©cĂ©dentes de la sĂ©rie 3.x. 
Télécharger mon script de compilation.