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.