Server casalingo (SOHO): differenze tra le versioni

Vai alla navigazione Vai alla ricerca
(primo inserimento)
mNessun oggetto della modifica
Riga 1: Riga 1:
==Introduzione==
==Introduzione==
[http://www.cacti.net Cacti] un completo strumento per monitorare il sistema che si poggia su snmpd (lo stesso usato anche da mrtg).
Uno dei punti di forza di cacti l'elevata facilit di configurazione, senza per questo non garantire una elevata flessibilit.


Avete un PC collegato 24 ore su 24 a internet? Beh, potrebbe trasformarsi in uno splendido server web per tutte le vostre prove. Come si sa, al giorno d'oggi ci sono molti siti che offrono spazio web, anche con supporto php, ma volete mettere la comodita di avere questo spazio nel nostro PC? I vantaggi sono molti, uno su tutti il fatto che possiamo essere amministratori della nostra macchina, quindi personalizzare anche parecchio il nostro spazio. D'altro canto, ci può essere la difficolà iniziale di settare il tutto, ma questa guida è fatta apposta per ridurre al minimo questa fatica.
==Installazione==
Cacti � gi� disponibile nei repository Debian, e quindi installabile tramite apt-get...
Per il suo funzionamento richiede un database [http://www.mysql.com mysql] a cui appoggiarsi per memorizzare i dati e il [http://geekcorp.com/snmpd/ server snmpd] per accedere ai dati da elaborare, oltre a questi programmi, inoltre, � necessario installare (o avere gi� configurato) il webserver [http://www.apache.org Apache] con l'estensione [http://www.php.net PhP].


==Installazione==
Se, quindi, queste cose non sono presenti, consiglio di installarle:
<pre>
# apt-get install snmpd mysql-server
</pre>


Bene, iniziamo come prima cosa a scaricare i pacchetti che ci servono. Il primo pacchetto che ci serve è apache. Apache(www.apache.org) è un noto webserver, usato da moltissimi siti in tutto il mondo. Procediamo quindi con l'installazione, dando:
nella sezione ''configurazione'' analizzeremo la configurazione di questi due server.


Ora installiamo cacti (che installer anche ''apache'', ''php4'', ''php4-mysql'', ''php4-cli'', e altre applicazioni necessarie al suo funzionamento):
<pre>
<pre>
# apt-get install apache
# apt-get install cacti
</pre>
</pre>


Lasciamo il tempo ad apt di scaricare il necessario ed installarlo. Se ora andiamo in /var/www/ noteremo una pagina, index.html. E il segno che apache è stato correttamente installato ed e funzionante. Per testarlo, apriamo un browser e digitiamo localhost . Si aprira la pagina index.html (quella che abbiamo visto in /var/www/). Bene, il nostro server è pronto all'uso. Da notare che se il nostro pc è all'interno di una lan e siamo dietro un router, dovremo impostare il port forwarding, altrimenti il nostro server web non sara accessibile dall'esterno. La porta in questione è la porta 80, quella appunto del protocollo HTTP.
Durante l'installazione di cacti, verranno poste delle domande (che qui riporto con delle risposte di esempio):
* '''MySQL server host name ''': ''localhost'';
* '''Database name for cacti ''': ''cacti'';
* '''Cacti database username''': ''cacti'';
* '''Cacti user password''': ''cactipass'';
* '''Webserver type''': nel nostro caso selezioniamo ''Apache-SSL'', ma � possibile effettuare la scelta pi� conveniente per il proprio sistema.


==Il dominio==
{{Box|Nota Bene|durante la configurazione ci viene ricordato che la configurazione di mysql deve essere fatta manualmente, come vedremo in seguito}}


Bene, fatto questo abbiamo un nostro server accessibile dall'esterno. Ma come fanno gli utenti ad arrivare a noi? Nessun problema, esiste un servizio, Dyndns, che permette di trasformare un indirizzo IP dinamico "quasi" in uno statico. Tramite un programma da installare sul nostro server, il nostro indirizzo IP verra comunicato a dyndns.org, che provvederà ad aggiornare il nostro dominio (ad esempio bedo.homelinux.org).
==Configurazione==
Procediamo quindi a registrarci su www.dyndns.org. Scegliamo il nome utente che vogliamo, sapendo che comunque il dominio che sceglieremo potrà essere diverso dal nome utente. Una volta registrati, torniamo sul server perche dobbiamo installare il programma per l'aggiornamento dell'IP.
===MySql===
Se � la prima installazione di MySql sulla macchina, � consigliato cambiare la password di root in quanto, di default, non � impostata:
<pre>
#/usr/bin/mysql
mysql> set password for root@localhost=password('rootpw');
mysql> exit
</pre>


Il programma che consiglio è ddclient, che si installa mediante:
Una volta impostata, procediamo con la creazione del database e dell'utente che avr� accesso al database ''cacti'';
<pre>
mysql> create database cacti;
mysql> GRANT ALL ON cacti.* TO cactiuser@localhost IDENTIFIED BY 'cactipass';
mysql> flush privileges;
mysql> exit
</pre>


Ora non ci resta che sistemare il database, creando le tabelle ed inserendo i dati necessari:
<pre>
<pre>
# apt-get install ddclient
# zcat /usr/share/doc/cacti/cacti.sql.gz | mysql -u root -p cacti
</pre>
</pre>


In fase di installazione ci verrà chiesto il servizio, il nome utente e altre domande di facile risposta. Dobbiamo porre attenzione alla domanda dell'interfaccia che dovrà aggiornare l'IP. Se il nostro pc ha un'interfaccia direttamente collegata a internet, ad esempio la ppp0, allora alla domanda rispondiamo ppp0. Se invece, come me, siamo dietro a un router, quindi abbiamo solamente un'interfaccia di rete con un indirizzo interno, dobbiamo andare a modificare il file /etc/ddclient.conf, nel modo seguente:
Bene, la configurazione di MySql � terminata.


===Snmpd===
La configurazione di snmpd, se cacti installato sulla stessa macchina che si vuole monitorare,  limitata a dare l'accesso in lettura a snmpd, cos da permetterne l'interrogazione da parte di cacti.
Per fare questo, modifichiamo il file '''/etc/snmp/snmpd.conf''' con il nostro editor di testo preferito, e facciamo in modo che le righe:
<pre>
com2sec paranoid  default        public
#com2sec readonly  default        public
#com2sec readwrite default        private
</pre>
diventino:
<pre>
<pre>
root@crogiuolo:/home/bedo$ cat /etc/ddclient.conf
#com2sec paranoid  default        public
# Configuration file for ddclient generated by debconf
com2sec  readonly  127.0.0.1      public
#
#com2sec readwrite default        private
# /etc/ddclient.conf
</pre>


pid=/var/run/ddclient.pid
Una volta salvato il tutto, riavviamo snmpd con un semplice:
protocol=dyndns2
<pre>
use=web, web=dyndns
# /etc/init.d/snmpd restart (oppure reload)
server=members.dyndns.org
login=tuo_nome_utente
password=tua_password
tuo_dominio (es. bedo.homelinux.org)
root@crogiuolo:/home/bedo$
</pre>
</pre>


Poniamo particolare attenzione alla riga use=web, web=dyndns. Abbiamo detto a ddclient di usare il web, tramite dyndns, per ottenere un indirizzo ip valido.
===Php===
 
Cacti utilizza php sia come estensione di apache, sia come ''cli'' (common line interpreter).
Possiamo testare il tutto dando:
Per evitare problemi, � necessario controllare che l'estensione per mysql sia abilitata nei seguenti file:
* '''/etc/php4/cli/php.ini''' per quanto riguarda php4-cli;
* '''/etc/php4/apache/php.ini''' per quanto riguarda php e apache.


La modifica di questi file consiste, in pratica, nella rimozione del ''';''' di commento alla seguente riga:
<pre>
<pre>
root@crogiuolo:/home/bedo$ ddclient
;extension=mysql.so
</pre>
</pre>


Andiamo a controllare nel sito di dyndns. Se l'IP che ci propone nella pagina di modifica del dominio corrisponde a quello nel database di dyndns, allora siamo a posto. Un'ulteriore test può essere quello di assegnare un ip fasullo, del tipo 1.1.1.1, poi sul nostro server dare ddclient, per vedere che si aggiorna correttamente.
===Cacti===
Per terminare la configurazione base del sistema, rechiamoci al seguente indirizzo:
 
http://localhost/cacti (se � stato scelto Apache/Apache2)<br/>
https://localhost/cacti (se � stato scelto Apache-SSL)
 
per completare l'installazione.
 
Premiamo ''Next>>'' dopo la prima schermata di presentazione;<br/>
Selezioniamo ''New Install'' e controlliamo che i dati riportati siamo corretti, altrimenti � possibile modificarli nel file '''/etc/cacti/debian.php''', dopo di che andiamo avanti;<br/>
Nella pagina di riepilogo degli eseguibili, controlliamo che siano stati rilevati tutti, altrimenti � necessario installarli manualmente, come  '''SNMP Utility Version''' selezioniamo la 2�: ''NET-Smtp .x'';<br/>
 
Ora siamo davanti alla schermata di LogIn.<br/>
I dati per la prima autenticazione sono:<br/>
'''Username:''' ''admin''<br/>
'''Password:''' ''admin''
 
verremo obbligati a cambiare password: facciamolo!!!
 
==Aggiunta di Monitor==
Ora il sistema � pronto per essere configurato: dopo aver effettuato il login, infatti, potremo accedere a due aree distinte: ''Console'' e ''Graphs''; la prima rappresenta il centro di controllo, da dove � possibile aggiungere nuovi monitor (''New Graphs'') od aggiungere nuovi computer, router o altro (''Devices'').
 
L'aggiunta � molto intuitiva, per quanto riguarda l'utilizzo dei monitor gi� presenti, e normalmente non necessita di modifiche se non riguardanti l'aspetto (colori, unit� di misura).
 
==Gestione Utenti==
Cacti permette la gestione degli utenti, in modo da rendere possibile la visualizzazione delle statistiche ad utenti anonimi (opzione abilitata di default) tramite la pagina https://localhost/cacti/graph_view.php?action=tree, oltre alla definizione di utenti con facolt� ristrette (limitazioni a determinate aree e/o funzioni).
Tutte le opzioni sono modificabili tramite la voce ''User Management'' presente nel men� di sinistra della sezione ''Console''. Le opzioni disponibili sono autoesplicative, e di facile gestione.
L'utente ''guest'' � quello utilizzato per l'accesso anonimo.
 
==Personalizzazione==
Cacti permette una vasta gamma di personalizzazioni, che vanno dall'aggiunta di macchine da monitorare, alla definizione di nuove sorgenti di dati, ottenibili tramite snmp o script ad hoc.
 
Vediamo nel dettaglio come implementare queste soluzioni.
 
==Utilizzo Avanzato==
===Monitorare pi� macchine===
Se siamo in una rete dove sono presenti pi� macchine, risulta utile e comodo avere sotto controllo il loro funzionamento...
Cacti ci viene in contro anche in questo, permettendo di monitorare diverse macchine (definite ''Devices''), il tutto in modo semplice e molto intuitivo.
 
====Configurazione della macchina====
Prenderemo in esame il caso in cui la macchina da monitorare sia un computer con linux (per router, switch ed altri dispositivi simili, si rimanda al manuale specifico).
Per permettere l'accesso al server snmpd, � sufficiente effettuare la modifica che � stata apportata precedentemente alla macchina su cui � stato installato cacti.


La guida termina qua. In futuro ci sara anche una guida per configurare apache con il supporto per il php, ma gia seguendo quello che c'è scritto sopra avremo un web-server completamente funzionante :)
====Configurazione di Cacti====
Per aggiungere un nuovo ''Device'', � necessario seguire i seguenti passi:
* posizionarsi nella sezione '''console''';
* selezionare '''Devices''' dalla sezione '''Management''' nella barra di sinistra;
* selezionare il bottone '''Add''' dalla barra in alto;
* completare il form inserendo i dati richiesti:
:; Description : Il nome che si vuole dare al Device;
:; Hostname : l'indirizzo ip o il [[ FQDN ]] del Device;
:; Host Template : il tipo di dispositivo (in questo caso ''Linux Local Machine'');
:; SNMP Options : le opzioni per la connessione al server snmpd del device; sono corretti (nella maggioranza dei casi) i valori di default;
* nella pagina che segue � possibile selezionare ''Create Graphs for this Host'', per accedere alla sezione dove indicare quali monitor attivare;
* da quel momento, inizier� il monitoraggio del device appena aggiunto.


Alla prossima.


----
Per aggiungere il device alla ''Visualizzazione ad Albero'', � necessario andare in Console->Graph Trees->Default Tree->Add e aggiungere il device, impostando '''Host''' come ''Tree Item Type''.
Autore: Bedo
[[Categoria:Networking]][[Categoria:Sicurezza]]