Qualche giorno fa ho avuto la necessità di aggiungere un menù custom nella Web Gui di LibreNMS per poter aggiungere della documentazione.
Analizzando i file di configurazione dell’applicativo ho trovato il file con le indicazioni da seguire.
Infatti esiste già il codice per aggiungere una menù custom e lo troviamo all’interno del file /opt/librenms/html/includes/print-menubar.php
Se apriamo il file verso il fondo dovremmo vedere queste due righe
0 1 2 3 |
// Custom menubar entries. if (is_file("includes/print-menubar-custom.inc.php")) { require 'includes/print-menubar-custom.inc.php'; } |
Creiamo quindi la pagina PHP print-menubar-custom.inc.php nel path /opt/librenms/html/includes/ con il comando:
0 |
sudo nano /opt/librenms/html/includes/print-menubar-custom.inc.php |
Quindi incolliamo il seguente codice:
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
<?php use LibreNMS\Authentication\Auth; ?> <li class="dropdown"> <a href="#" class="dropdown-toggle" data-hover="dropdown" data-toggle="dropdown"><i class="fa fa-star fa-fw fa-lg fa-nav-icons hidden-md" aria-hidden="true"></i> <span class="hidden-sm">Custom Menu</span></a> <ul class="dropdown-menu"> <?php if (Auth::user()->hasGlobalAdmin()) { ?> <li><a href="WIFI-Map.html"><i class="fa fa-wifi fa-fw fa-lg" aria-hidden="true"></i> WIFI-Map</a></li> <li role="presentation" class="divider"></li> <li><a href="Router-Map.html"><i class="fa fa-wifi fa-fw fa-lg" aria-hidden="true"></i> Router-Map</a></li> <li role="presentation" class="divider"></li> <?php } else { echo(' <li><a href="#">You need admin rights to see this</a></li>'); } ?> </ul> </li> |
Quindi settiamo i permessi per l’utenza librenms alla pagina appena creata con il comando:
0 |
chown librenms:librenms /opt/librenms/html/includes/wifi-menubar-maps.inc.php |
A questo punto dobbiamo creare i due file HTML citati nella pagina PHP appena creata WIFI-Map.html e Router-Map.html all’interno della cartella /opt/librenms/html
Dopo aver creato o copiato i file Html dobbiamo assegnare i permessi all’utenza librenms con il comando:
0 1 |
chown librenms:librenms /opt/librenms/html/WIFI-Map.html chown librenms:librenms /opt/librenms/html/Router-Map.html |
Se proviamo a fare un refresh della pagina web noteremo che dopo il menù Alerts è comparso il Custom Menu con all’interno i sotto menù che abbiamo creato.
Sono Raffaele Chiatto, un appassionato di informatica a 360 gradi.
Tutto è iniziato nel 1996, quando ho scoperto il mondo dell'informatica grazie a Windows 95, e da quel momento non ho più smesso di esplorare e imparare.
Ogni giorno mi dedico con curiosità e passione a scoprire le nuove frontiere di questo settore in continua evoluzione.
se volessi aggiungere una nuova tab in device come dovrei fare? oltre overview etc?