Server casalingo (SOHO): differenze tra le versioni

Da Guide@Debianizzati.Org.
Vai alla navigazione Vai alla ricerca
mNessun oggetto della modifica
m (compatibile per tutte le versioni, guida quasi esclusivamente teorica con rimandi ad altre guide)
 
(24 versioni intermedie di 8 utenti non mostrate)
Riga 1: Riga 1:
==Introduzione==
{{Versioni compatibili}}
[http://www.cacti.net Cacti] � un completo strumento per monitorare il sistema che si poggia su snmpd (lo stesso usato anche da mrtg).
__TOC__
Uno dei punti di forza di cacti � l'elevata facilit� di configurazione, senza per questo non garantire una elevata flessibilit�.


==Installazione==
= Introduzione =
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].


Se, quindi, queste cose non sono presenti, consiglio di installarle:
Avete un PC collegato 24 ore su 24 a Internet? Bene, potete sfruttarlo in molti modi.
<pre>
* Farlo diventare 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 comodità 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.
# apt-get install snmpd mysql-server
* Usarlo come file server.
</pre>
* Usarlo come mail server.
* Usarlo come "muletto" per far girare programmi di p2p
* Ecc.
In questa guida si offre un elenco degli strumenti più utili per gestire un piccolo server casalingo, a seconda degli usi che si desidera farne.


nella sezione ''configurazione'' analizzeremo la configurazione di questi due server.
= Accedere al PC da internet =


Ora installiamo cacti (che installer� anche ''apache'', ''php4'', ''php4-mysql'', ''php4-cli'', e altre applicazioni necessarie al suo funzionamento):
Se volete installare servizi come web server, mail server, ecc. o semplicemente volete poter amministrare la vostra macchina dall'esterno della vostra LAN dovrete necessariamente associare un [[FQDN]] ("dominio" semplificando) all'IP pubblico della vostra macchina (che non ha nulla a che vedere con gli IP che voi attribuite ai dispositivi della vostra LAN), a meno che il vostro ISP non vi garantisca un IP statico (improbabile, e comunque può sempre essere più comodo ricordarsi un [[FQDN]]).
<pre>
Esistono diversi servizi che permettono di trasformare un indirizzo IP dinamico "quasi" in uno statico, senza bisogno di registrare (e quindi pagare) alcun dominio. Si veda ad esempio [[DNS dinamici: come ottenerli e configurarli]].
# apt-get install cacti
</pre>


Durante l'installazione di cacti, verranno poste delle domande (che qui riporto con delle risposte di esempio):
= File server =
* '''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.


{{Box|Nota Bene|durante la configurazione ci viene ricordato che la configurazione di mysql deve essere fatta manualmente, come vedremo in seguito}}
Se volete condividere file tra macchine differenti o semplicemente rendere accessibili certi file è necessario installare uno o più file server.


==Configurazione==
== In LAN ==
===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>


Una volta impostata, procediamo con la creazione del database e dell'utente che avr� accesso al database ''cacti'';
Per ambienti unix puri può essere comodo usare [[nfs-kernel-server: condividere risorse tra macchine GNU/Linux | NFS]], mentre in ambienti misti Samba ([[Samba: guida rapida | guida rapida]], [[Samba: guida estesa | guida estesa]]). Entrambi gli strumenti possono essere configurati per l'utilizzo fuori LAN, tuttavia l'utilizzo di NFS in tal caso è fortemente sconsigliato per questioni di sicurezza.
<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:
== Fuori LAN ==
<pre>
# zcat /usr/share/doc/cacti/cacti.sql.gz | mysql -u root -p cacti
</pre>


Bene, la configurazione di MySql � terminata.
Il protocollo più noto è sicuramente [[Installare un server FTP con ProFTPD | FTP]]/SFTP, tuttavia se si desidera avere un accesso più completo (come se fossero condivisi tramite nfs o samba) può essere interessante usare [[SSHFS: montare una risorsa remota sfruttando FUSE ed SSH | SSHFS]].


===Snmpd===
= P2P =
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:
Si vedano per esempio le seguenti guide:
<pre>
com2sec paranoid  default        public
#com2sec readonly  default        public
#com2sec readwrite default        private
</pre>
diventino:
<pre>
#com2sec paranoid  default        public
com2sec  readonly  127.0.0.1      public
#com2sec readwrite default        private
</pre>


Una volta salvato il tutto, riavviamo snmpd con un semplice:
* [[aMule]]
<pre>
* [[Transmission]]
# /etc/init.d/snmpd restart (oppure reload)
</pre>


===Php===
= SSH =
Cacti utilizza php sia come estensione di apache, sia come ''cli'' (common line interpreter).
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:
È lo strumento principe per avere accesso tramite terminale al vostro computer da remoto, sia da dentro che fuori la vostra LAN. Si veda per esempio [[SSH | questa pagina]].
<pre>
;extension=mysql.so
</pre>


===Cacti===
= Web server Apache =
Per terminare la configurazione base del sistema, rechiamoci al seguente indirizzo:


http://localhost/cacti (se � stato scelto Apache/Apache2)<br/>
Iniziamo come prima cosa a scaricare i pacchetti che ci servono. Il primo pacchetto che ci serve è Apache. [http://www.apache.org Apache] è un noto webserver, usato da moltissimi siti in tutto il mondo. Procediamo quindi con l'installazione, dando:
https://localhost/cacti (se � stato scelto Apache-SSL)
<pre># apt-get install apache2</pre>


per completare l'installazione.
Lasciamo il tempo ad apt-get di scaricare il necessario ed installarlo. Se ora andiamo in <code>/var/www/</code> noteremo una pagina, <code>index.html</code>. Per testare il corretto funzionamento del web server aprite un browser e digitate nella barra degli indirizzi <code>indirizzo_server</code>, per esempio <code>localhost</code> se apache è installato sul PC che avete davanti. Si aprirà la pagina <code>index.html</code> (quella che abbiamo visto in <code>/var/www/</code>). Bene, il nostro server è pronto all'uso. Se non modificate la porta standard usata da apache, cioè la 80, non dovreste aver bisogno di fare null'altro, in caso contrario se il vostro PC è all'interno di una LAN e siete dietro un router, allora dovrete impostare il port forwarding della suddetta porta, altrimenti il server web non sarà accessibile dall'esterno.


Premiamo ''Next>>'' dopo la prima schermata di presentazione;<br/>
Per informazioni più estese vedere:
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/>
* [[Installare un ambiente LAMP: Linux, Apache2, SSL, MySQL, PHP5]]
I dati per la prima autenticazione sono:<br/>
* [[Apache e Virtual Hosts: configurare Apache2 per ospitare più siti web]]
'''Username:''' ''admin''<br/>
'''Password:''' ''admin''


verremo obbligati a cambiare password: facciamolo!!!
{{Autori
 
|Autore = [[Utente:Bedo|Bedo]]
==Aggiunta di Monitor==
|Estesa_da =
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'').
: [[Utente:Wtf|Wtf]]
 
|Verificata_da =
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).
: [[Utente:Wtf|Wtf]]
 
|Numero_revisori = 1
==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).
[[Categoria:Web server]]
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.
 
====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.
 
 
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''.
[[Categoria:Networking]][[Categoria:Sicurezza]]

Versione attuale delle 21:10, 18 ott 2019

Debian-swirl.png Versioni Compatibili

Tutte le versioni supportate di Debian

Introduzione

Avete un PC collegato 24 ore su 24 a Internet? Bene, potete sfruttarlo in molti modi.

  • Farlo diventare 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 comodità 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.
  • Usarlo come file server.
  • Usarlo come mail server.
  • Usarlo come "muletto" per far girare programmi di p2p
  • Ecc.

In questa guida si offre un elenco degli strumenti più utili per gestire un piccolo server casalingo, a seconda degli usi che si desidera farne.

Accedere al PC da internet

Se volete installare servizi come web server, mail server, ecc. o semplicemente volete poter amministrare la vostra macchina dall'esterno della vostra LAN dovrete necessariamente associare un FQDN ("dominio" semplificando) all'IP pubblico della vostra macchina (che non ha nulla a che vedere con gli IP che voi attribuite ai dispositivi della vostra LAN), a meno che il vostro ISP non vi garantisca un IP statico (improbabile, e comunque può sempre essere più comodo ricordarsi un FQDN). Esistono diversi servizi che permettono di trasformare un indirizzo IP dinamico "quasi" in uno statico, senza bisogno di registrare (e quindi pagare) alcun dominio. Si veda ad esempio DNS dinamici: come ottenerli e configurarli.

File server

Se volete condividere file tra macchine differenti o semplicemente rendere accessibili certi file è necessario installare uno o più file server.

In LAN

Per ambienti unix puri può essere comodo usare NFS, mentre in ambienti misti Samba ( guida rapida, guida estesa). Entrambi gli strumenti possono essere configurati per l'utilizzo fuori LAN, tuttavia l'utilizzo di NFS in tal caso è fortemente sconsigliato per questioni di sicurezza.

Fuori LAN

Il protocollo più noto è sicuramente FTP/SFTP, tuttavia se si desidera avere un accesso più completo (come se fossero condivisi tramite nfs o samba) può essere interessante usare SSHFS.

P2P

Si vedano per esempio le seguenti guide:

SSH

È lo strumento principe per avere accesso tramite terminale al vostro computer da remoto, sia da dentro che fuori la vostra LAN. Si veda per esempio questa pagina.

Web server Apache

Iniziamo come prima cosa a scaricare i pacchetti che ci servono. Il primo pacchetto che ci serve è Apache. Apache è un noto webserver, usato da moltissimi siti in tutto il mondo. Procediamo quindi con l'installazione, dando:

# apt-get install apache2

Lasciamo il tempo ad apt-get di scaricare il necessario ed installarlo. Se ora andiamo in /var/www/ noteremo una pagina, index.html. Per testare il corretto funzionamento del web server aprite un browser e digitate nella barra degli indirizzi indirizzo_server, per esempio localhost se apache è installato sul PC che avete davanti. Si aprirà la pagina index.html (quella che abbiamo visto in /var/www/). Bene, il nostro server è pronto all'uso. Se non modificate la porta standard usata da apache, cioè la 80, non dovreste aver bisogno di fare null'altro, in caso contrario se il vostro PC è all'interno di una LAN e siete dietro un router, allora dovrete impostare il port forwarding della suddetta porta, altrimenti il server web non sarà accessibile dall'esterno.

Per informazioni più estese vedere:




Guida scritta da: Bedo Swirl-auth40.png Debianized 40%
Estesa da:
Wtf
Verificata da:
Wtf

Verificare ed estendere la guida | Cos'è una guida Debianized