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 Configuration file '/etc/ntopng/ntopng.conf' |
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.