<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Mia mamma usa Linux!</title>
	<atom:link href="http://www.miamammausalinux.org/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.miamammausalinux.org</link>
	<description>Perché niente è impossibile da capire... Se lo spieghi bene !</description>
	<lastBuildDate>Thu, 09 May 2013 12:52:17 +0000</lastBuildDate>
	<language>it-IT</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<item>
		<title>EGroupware, un sistema di collaborazione enterprise: introduzione ed installazione</title>
		<link>http://www.miamammausalinux.org/2013/05/egroupware-un-sistema-di-collaborazione-enterprise-introduzione-ed-installazione/</link>
		<comments>http://www.miamammausalinux.org/2013/05/egroupware-un-sistema-di-collaborazione-enterprise-introduzione-ed-installazione/#comments</comments>
		<pubDate>Thu, 09 May 2013 10:39:50 +0000</pubDate>
		<dc:creator>Stefano Bortolato</dc:creator>
				<category><![CDATA[Generale]]></category>

		<guid isPermaLink="false">http://www.miamammausalinux.org/?p=2052</guid>
		<description><![CDATA[EGroupware è un sistema di collaborazione online, di livello enterprise, adatto per grosse, medie e piccole aziende. Necessita di PHP e di un DBMS, gira su molti sistemi operativi e supporta, riferendosi a quanto afferma Stylite (la compagnia che sviluppa Egroupware) diversi prodotti: Linux, Windows, *NIX Nginx, Apache, IIS, PHP MySQL, MaxDB, Postgres, MsSQL Egroupware [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.miamammausalinux.org/wp-content/uploads/2013/02/egroupware.jpg"><img src="http://www.miamammausalinux.org/wp-content/uploads/2013/02/egroupware.jpg" alt="egroupware" width="207" height="75" class="alignnone size-full wp-image-1835" /></a></p>
<p>EGroupware è un sistema di collaborazione online, di livello enterprise, adatto per grosse, medie e piccole aziende. Necessita di PHP e di un DBMS,  gira su molti sistemi operativi e supporta, riferendosi a quanto afferma <a href="http://www.egroupware.org/" title="Stylite" target="_blank">Stylite</a> (la compagnia che sviluppa Egroupware) diversi prodotti:</p>
<ul>
<li>Linux, Windows, *NIX</li>
<li>Nginx, Apache, IIS, PHP</li>
<li>MySQL, MaxDB, Postgres, MsSQL</li>
</ul>
<p>Egroupware supporta il multidominio, cioè una installazione fisica, ma con diversi siti, ciascuno con uno specifico DB e configurazione individuali.<br />
Questo articolo spiega come sia possibile installare manualmente EGroupware partendo dai pacchetti tarball/SVN. A installazione completata spiegherò, con un esempio pratico, l&#8217;aggiunta di due domini indipendenti in EGroupware.<br />
L&#8217;installazione è possibile tramite pacchetti rpm o deb in modo totalmente automatico, ma ci possono essere situazioni particolari in cui è preferibile procedere manualmente. Questa guida si rivolge a quest&#8217;ultima casistica.</p>
<p><strong>Introduzione</strong></p>
<p>Questa guida si limita all&#8217;esposizione dell&#8217;installazione di EGroupware da tarball/SVN.<br />
Farò un accenno sistemistico in merito ai pacchetti richieste e normalmente non installati dalle procedure automatiche della propria distro.<br />
In merito alla gestione e alla personalizzazione di EGroupware farò solo un accenno come test e prova dalla corretta installazione. Per l&#8217;uso e la configurazione rimando alla documentazione di EGroupware.<br />
La guida suppone un ambiente CentOS 6.3. Dovrebbe essere completamente valida anche per RedHat 6.3 e altre distro basate su RedHat come la Scientific Linux. Per completezza le istruzioni sono state testate su una installazione CentOS 6.3 con il set software predefinito &#8220;web server&#8221; e SELinux disattivato.<br />
In fine i requisiti di sistema, richiesti da EGroupware, si possono trovare a questa URL: http://community.egroupware.org/index.php?page_name=wiki&#038;lang=&#038;wikipage=ManualSetupRequirements</p>
<p><strong>Obiettivi</strong></p>
<p>Voglio ottenere un&#8217;unica installazione di EGroupware con più domini. Il domini sono</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="console" style="font-family:monospace;">stefano
luca
davide</pre></td></tr></table></div>

<p>La webroot dei file è</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="console" style="font-family:monospace;">/srv/www/egroupware</pre></td></tr></table></div>

<p>la directory per i backup ed il virtual file system  sarà</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="console" style="font-family:monospace;">/srv/bak/egroupware</pre></td></tr></table></div>

<p>L&#8217;utente ed il gruppo con cui gira Apache sono &#8220;apache&#8221; (user) e &#8220;apache&#8221; (gruppo).<br />
Come DBMS uso MySQL ed il database, il relativo utente e password per ciascun dominio EGroupware sono:</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="console" style="font-family:monospace;">dominio EGroupware: stefano
DB nome: stefano
DB user: stefano
DB password: st13_FA!5</pre></td></tr></table></div>


<div class="wp_syntax"><table><tr><td class="code"><pre class="console" style="font-family:monospace;">dominio EGroupware: luca
DB nome: luca
DB user: luca
DB password: lu31-RL$8</pre></td></tr></table></div>


<div class="wp_syntax"><table><tr><td class="code"><pre class="console" style="font-family:monospace;">dominio EGroupware: davide
DB nome: davide
DB user: davide
DB password: da62=PZ&amp;3</pre></td></tr></table></div>

<p>L&#8217;URL dell&#8217;installazione sarà <em>http://www.example.com/egroupware</em>.</p>
<p>Infine la procedura che descrivo viene svolta da terminale, come utente root, e da un web browser grafico.</p>
<p><strong>Preparazione server</strong></p>
<p>La personalizzazione consiste nell&#8217;installazione di alcune librerie PHP, di un programma di servizio e la personalizzazione di Apache.</p>
<p>Creazione directory base:</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="console" style="font-family:monospace;"># mkdir /srv/bak
# mkdir /srv/bak/egroupware
# mkdir /srv/bak/egroupware/stefano
# mkdir /srv/bak/egroupware/stefano/files
# mkdir /srv/bak/egroupware/stefano/backup
# mkdir /var/lib/egroupware
# mkdir /srv/www
# chown apache:apache -R /srv/bak/egroupware</pre></td></tr></table></div>

<p>Creazione di una directory temporanea in srv. Servirà per alcune lavorazioni</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="console" style="font-family:monospace;"># mkdir /srv/tmp</pre></td></tr></table></div>

<p>Installazione repository epel e PhpMyAdmin</p>
<p>Visto la grande utilità dei repository epel lo farò tramite il pacchetto offerto da questo repository.</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="console" style="font-family:monospace;"># cd /srv/tmp
# rpm --import https://fedoraproject.org/static/0608B895.txt
# wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-7.noarch.rpm
# rpm -ivh epel-release-6-7.noarch.rpm
# rpm update -y
# yum install -y phpmyadmin php-mysql php-mbstring</pre></td></tr></table></div>

<p>Installazione di MySQL</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="console" style="font-family:monospace;"># yum install mysql-server</pre></td></tr></table></div>

<p>Installazione librerie PHP necessarie</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="console" style="font-family:monospace;"># yum install -y php-devel php-gd php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc php-pecl-apc php-mcrypt php-mssql php-snmp php-soap php-tidy curl curl-devel perl-libwww-perl libxml2 libxml2-devel php-cli
# pear update-channels
# pear upgrade-all 
# pear install Archive_Tar Auth_SASL Console_Getopt Log Net_Sieve Net_Socket PEAR Structures_Graph XML_Feed_Parser XML_Parser XML_RPC XML_RSS XML_Util Net_IMAP
# yum install -y mcrypt php-mcrypt</pre></td></tr></table></div>

<p>Installazione di tnef:</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="console" style="font-family:monospace;"># yum install -y tnef</pre></td></tr></table></div>

<p>Creazione del file /etc/httpd/conf.d/egroupware.conf</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="console" style="font-family:monospace;"># vi /etc/httpd/conf.d/egroupware.conf
&nbsp;
Con il seguente contenuto (il file originale è in egroupware/doc/rpm-build/apache.conf)
&nbsp;
&lt;pre lang=&quot;console&quot;&gt;
# Apache and PHP configuration for EGroupware 
# 
# Many settings are required to have a # certain value for eGroupWare 
# to function reasonably, so only change something if you are sure. 
&nbsp;
# this makes EGroupware available for all vhosts 
Alias /egroupware /srv/www/egroupware 
&nbsp;
RedirectMatch ^/.well-known/(caldav|carddav)$ /egroupware/groupdav.php/ 
# iOS 4.3+ calendar requires that to autodetect accounts 
RedirectMatch ^(/principals/users/.*)$ /egroupware/groupdav.php$1 
&nbsp;
&lt;Directory /srv/www/egroupware/&gt; 
  Options FollowSymLinks ExecCGI 
  AllowOverride None 
  Order allow,deny 
  Allow from all 
  DirectoryIndex index.html index.php 
  AddHandler cgi-script .cgi 
  AddDefaultCharset Off 
  php_flag file_uploads on 
  php_flag log_errors on 
  php_flag magic_quotes_gpc off 
  php_flag magic_quotes_runtime off 
  php_flag register_globals off 
  php_flag short_open_tag on 
  php_flag track_vars on 
  php_flag display_errors off 
  # E_ALL &amp; ~E_NOTICE &amp; ~E_STRICT = 8191 - 8 - 2048 = 6135 
  php_value error_reporting 6135 
  php_value max_execution_time 90 
  php_admin_value mbstring.func_overload 7 
  php_value memory_limit 128M 
  php_value session.gc_maxlifetime 14400 
  php_value include_path .:/usr/share/pear 
  php_admin_value open_basedir /srv/www/egroupware:/srv/bak/egroupware:/var/lib/egroupware:/tmp:/usr/share/pear:/usr/bin/zip:/srv/www/jpgraph:/usr/bin/tnef:/usr/bin/aspell:/usr/bin/crontab:/usr/share/fonts 
  php_value upload_max_filesize 64M 
  php_admin_value upload_tmp_dir /tmp 
  php_value post_max_size 65M 
  php_value max_input_vars 3000 
  &lt;Files ~ &quot;\.inc\.php$&quot;&gt; 
    Order allow,deny 
    Deny from all 
  &lt;/Files&gt; 
&lt;/Directory&gt; 
&nbsp;
&lt;Directory /srv/www/egroupware/phpsysinfo/&gt; 
    php_admin_value open_basedir / 
&lt;/Directory&gt; 
&nbsp;
&lt;Directory /srv/www/egroupware/gallery/&gt; 
    php_admin_value open_basedir /srv/www/egroupware:/var/lib/egroupware:/tmp:/usr/share/pear:/usr/bin:/bin 
&lt;/Directory&gt; 
&nbsp;
&lt;Location /egroupware/rpc.php&gt; 
    php_admin_value mbstring.func_overload 0 
    Order allow,deny 
    Allow from all 
&lt;/Location&gt;</pre></td></tr></table></div>

<p>Abilito la nuova configurazione</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="console" style="font-family:monospace;"># service httpd restart</pre></td></tr></table></div>

<p><strong>Installazione</strong></p>
<p><u>Fase 1: download</u></p>
<p>Questa prima fase comporta il download dei file dal repository, l&#8217;estrazione dei file ed il loro posizionamento nella webroot.<br />
Qui di seguito espongo lo scaricamento sia da SVN, sia dal repository standard per i tarball. Come ultimo passo espongo il download e l&#8217;installazione di JPgraph, un pacchetto per la creazione di grafici con PHP usato da EGroupware per disegnare i Gantt dei progetti.</p>
<p>Il download dei file può essere fatto attraverso due vie: </p>
<ol>
<li>Download dei tarball: sono aggiornati alla data di pacchettizzazione.
<p>Mi posiziono nella webroot</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="console" style="font-family:monospace;"># cd /srv/www/</pre></td></tr></table></div>

<p>Scarico i tarball</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="console" style="font-family:monospace;"># wget http://downloads.sourceforge.net/project/egroupware/eGroupware-1.8/eGroupware-1.8.004.20121024/eGroupware-1.8.004.20121024.tar.bz2
# wget http://downloads.sourceforge.net/project/egroupware/eGroupware-1.8/eGroupware-1.8.004.20121024/eGroupware-egw-pear-1.8.004.20121024.tar.bz2
# wget http://downloads.sourceforge.net/project/egroupware/eGroupware-1.8/eGroupware-1.8.004.20121024/eGroupware-gallery-1.8.004.20121024.tar.bz2
# wget http://downloads.sourceforge.net/project/egroupware/eGroupware-1.8/eGroupware-1.8.004.20121024/eGroupware-phpfreechat-1.8.004.20121024.tar.bz2</pre></td></tr></table></div>

<p>Estraggo i file dai tarball</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="console" style="font-family:monospace;"># tar xfj eGroupware-1.8.004.20121024.tar.bz2
# tar xfj eGroupware-egw-pear-1.8.004.20121024.tar.bz2
# tar xfj eGroupware-gallery-1.8.004.20121024.tar.bz2
# tar xfj eGroupware-phpfreechat-1.8.004.20121024.tar.bz2</pre></td></tr></table></div>

<p>Elimino i tarball</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="console" style="font-family:monospace;"># rm eGroupware-*</pre></td></tr></table></div>

<p>Imposto il corretto proprietario e gruppo</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="console" style="font-family:monospace;"># chown apache:apache -R egroupware</pre></td></tr></table></div>

</li>
<li>Download via SVN: i file sono aggiornati all&#8217;ultima versione disponibile.<br />
Mi posiziono nella webroot</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="console" style="font-family:monospace;"># cd /srv/www/</pre></td></tr></table></div>

<p>Scarico i file</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="console" style="font-family:monospace;"># svn checkout http://svn.egroupware.org/egroupware/branches/1.8/aliases/default .</pre></td></tr></table></div>

<p>Imposto i corretti proprietari</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="console" style="font-family:monospace;"># chown apache:apche -R egroupware</pre></td></tr></table></div>

</li>
</ol>
<p><em>Scaricamento di  JPgraph</em></p>
<p>Mi posiziono in /srv/www</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="console" style="font-family:monospace;"># cd /srv/www</pre></td></tr></table></div>

<p>Scarico il pacchetto</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="console" style="font-family:monospace;"># wget http://jpgraph.net/download/download.php?p=5</pre></td></tr></table></div>

<p>Estraggo i file dal pacchetto</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="console" style="font-family:monospace;"># tar xfz download.php\?p\=5</pre></td></tr></table></div>

<p>Correggo il nome della directory estratta</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="console" style="font-family:monospace;"># mv jpgraph-3.5.0b1 jpgraph</pre></td></tr></table></div>

<p>Imposto il corretto proprietario e gruppo</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="console" style="font-family:monospace;"># chown apache:apache -R jpgraph</pre></td></tr></table></div>

<p>Elimino il pacchetto scaricato</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="console" style="font-family:monospace;"># rm download.php\?p\=5</pre></td></tr></table></div>

<p>Nota: usando wget per lo scaricamento del tarball non viene automaticamente usato il nome del pacchetto, ma viene dato il nome dell&#8217;url passata a wget per il download. Il pacchetto ottenuto è corretto, ma il nome è poco significativo.</p>
<p><u>Fase 2: configurazione preliminare</u></p>
<p>A questo punto ho tutti i file/programmi necessari. Anche Apache è correttamente configurato. Manca solo il database. Procedo con la creazione del primo database e poi con l&#8217;installazione guidata proposta da EGroupware. Quest&#8217;ultima controllerà che tutto l&#8217;ambiente sia correttamente configurato, creerà il file base di configurazione (header) e, successivamente, procedo con la configurazione del primo dominio.</p>
<p><em>Creazione del database</em></p>
<p>Il database che creo ha i seguenti estremi:</p>
<p>DB nome: stefano<br />
DB user: stefano<br />
DB password: st13_FA!5</p>
<p>La creazione attraverso PhpMyAdmin è autoesplicante, mentre procedendo da linea di comando si possono lanciare i seguenti comandi:</p>
<p># mysql -u root -p<br />
mysql> CREATE DATABASE stefano;<br />
mysql> GRANT ALL PRIVILEGES ON stefano.* TO &#8220;stefano&#8221;@&#8221;localhost&#8221; IDENTIFIED BY &#8220;st13_FA!5&#8243;;<br />
mysql> FLUSH PRIVILEGES;<br />
mysql> EXIT</p>
<p>Il database e l&#8217;utente per il database sono pronti.</p>
<p><em>Installazione guidata</em></p>
<p>1. Da un desktop, o dalla console, apro un web browser e punto all&#8217;url http://www.example.com/egroupware . Seleziono la lingua e avvio il test di installazione</p>
<p><a href="http://www.miamammausalinux.org/wp-content/uploads/2013/05/egroupware_01.png"><img src="http://www.miamammausalinux.org/wp-content/uploads/2013/05/egroupware_01-300x135.png" alt="egroupware_01" width="300" height="135" class="alignnone size-medium wp-image-2060" /></a></p>
<p>2. Il risultato riporta una lunga lista di riscontri</p>
<p><a href="http://www.miamammausalinux.org/wp-content/uploads/2013/05/egroupware_02.png"><img src="http://www.miamammausalinux.org/wp-content/uploads/2013/05/egroupware_02-300x266.png" alt="egroupware_02" width="300" height="266" class="alignnone size-medium wp-image-2063" /></a></p>
<p>3. I vari warning li posso ignorare, ma è da correggere il &#8220;System/Locatime&#8221;. Edito il file /etc/php.ini</p>
<p># vi /etc/php.ini</p>
<p>4. Correggo il parametro date.timezone come segue</p>
<p>[...]<br />
date.timezone = &#8220;Europe/Rome&#8221;<br />
[...]</p>
<p>5. Effettuo un nuovo restart del servizio apache</p>
<p># service httpd restart</p>
<p>6. Rieseguo il test di EGroupware. Ora tutto è OK. Procedo cliccando su &#8220;Continue to the Header Admin&#8221;</p>
<p>7. Compilo la nuova form. Qui di seguito lo screeshot compilato coerentemente con l&#8217;howto. I campi sono ben commentati dalla Stylite stessa:</p>
<p><a href="http://www.miamammausalinux.org/wp-content/uploads/2013/05/egroupware_03.png"><img src="http://www.miamammausalinux.org/wp-content/uploads/2013/05/egroupware_03-300x237.png" alt="egroupware_03" width="300" height="237" class="alignnone size-medium wp-image-2065" /></a></p>
<p>Nota 1: a titolo di esempio ho impostato le due password ed i due username con le stesse credenziali. In una installazione reale potrebbe essere opportuno diversificarle.<br />
Nota 2: in questa fase ci possono essere dei problemi di scrittura automatica del file header. Se si verifica questo errore EGroupware automaticamente avverte e restituisce tutto il codice del file proponendo di scriverlo manualmente. Spesso, per ovviare il problema, è sufficiente correggere il proprietario e/o il gruppo della directory di EGroupware e impostare il permesso di scrittura per il proprietario. Il proprietario e il gruppo da assegnare sono quelli con cui si fa girare il webserver (per RedHat e le derivate è apache:apache).<br />
Procedo cliccando su &#8220;Scrivi&#8221;.</p>
<p>8. Segue una pagina di conferma dell&#8217;avvenuta creazione del file di header</p>
<p><a href="http://www.miamammausalinux.org/wp-content/uploads/2013/05/egroupware_04.png"><img src="http://www.miamammausalinux.org/wp-content/uploads/2013/05/egroupware_04-300x86.png" alt="egroupware_04" width="300" height="86" class="alignnone size-medium wp-image-2067" /></a></p>
<p>9. Clicco su &#8220;Continua&#8221; e accedo alla pagina di login per creare/gestire gli header ed il setup generale</p>
<p><a href="http://www.miamammausalinux.org/wp-content/uploads/2013/05/egroupware_05.png"><img src="http://www.miamammausalinux.org/wp-content/uploads/2013/05/egroupware_05-300x118.png" alt="egroupware_05" width="300" height="118" class="alignnone size-medium wp-image-2068" /></a></p>
<p>10. Metto username e password nella parte &#8220;Setup/Config Admin Login&#8221; e accedo alla  pagina di configurazione. EGroupware evidenzia subito che mancano tabelle valide nel database e ne propone la creazione . Clicco sul bottone &#8220;Installa&#8221;</p>
<p><a href="http://www.miamammausalinux.org/wp-content/uploads/2013/05/egroupware_06.png"><img src="http://www.miamammausalinux.org/wp-content/uploads/2013/05/egroupware_06-300x157.png" alt="egroupware_06" width="300" height="157" class="alignnone size-medium wp-image-2069" /></a></p>
<p>11. A fine creazione la pagina di configurazione mi comunica l&#8217;avvenuta creazione (a parte messaggi diversi). Clicco sul bottone &#8220;ricontrolla la mia installazione&#8221;</p>
<p><a href="http://www.miamammausalinux.org/wp-content/uploads/2013/05/egroupware_07.png"><img src="http://www.miamammausalinux.org/wp-content/uploads/2013/05/egroupware_07-300x142.png" alt="egroupware_07" width="300" height="142" class="alignnone size-medium wp-image-2070" /></a></p>
<p>12. A questo punto l&#8217;aggiornamento della pagina di setup mi conferma la creazione delle tabelle e mi comunica che manca la configurazione. Clicco sul bottone &#8220;Modifica la Configurazione Esistente&#8221;</p>
<p><a href="http://www.miamammausalinux.org/wp-content/uploads/2013/05/egroupware_08.png"><img src="http://www.miamammausalinux.org/wp-content/uploads/2013/05/egroupware_08-300x152.png" alt="egroupware_08" width="300" height="152" class="alignnone size-medium wp-image-2071" /></a></p>
<p>13. La nuova form è ricca di svariati parametri e presuppone una buona conoscenza dei parametri del server e di quello che si vuole ottenere. Le impostazioni del server IMAP ed SMTP si riferiscono al mailing globale del sistema. A titolo di esempio riporto una configurazione possibile. A fine impostazione clicco sul bottone &#8220;Salva&#8221;</p>
<p><a href="http://www.miamammausalinux.org/wp-content/uploads/2013/05/egroupware_09.png"><img src="http://www.miamammausalinux.org/wp-content/uploads/2013/05/egroupware_09-164x300.png" alt="egroupware_09" width="164" height="300" class="alignnone size-medium wp-image-2072" /></a></p>
<p>14. La nuova pagina mi informa che devo impostare l&#8217;account dell&#8217;amministratore del sito. Clicco sul bottone &#8220;Crea account amministratore&#8221;</p>
<p><a href="http://www.miamammausalinux.org/wp-content/uploads/2013/05/egroupware_10.png"><img src="http://www.miamammausalinux.org/wp-content/uploads/2013/05/egroupware_10-300x142.png" alt="egroupware_10" width="300" height="142" class="alignnone size-medium wp-image-2073" /></a></p>
<p>15. Imposto l&#8217;account dell&#8217;amministratore del dominio &#8220;stefano&#8221; e clicco sul bottone &#8220;Salva&#8221;</p>
<p><a href="http://www.miamammausalinux.org/wp-content/uploads/2013/05/egroupware_11.png"><img src="http://www.miamammausalinux.org/wp-content/uploads/2013/05/egroupware_11-300x118.png" alt="egroupware_11" width="300" height="118" class="alignnone size-medium wp-image-2074" /></a></p>
<p>16. A questo punto tutte le impostazioni base sono applicate. È possibile fare una selezione delle applicazioni disponibili all&#8217;interno di EGroupware. Cliccando su &#8220;Gestione Applicazioni&#8221; posso fare questa selezione, ma preferisco avere a disposizione tutte le applicazioni e agire, successivamente, attraverso i gruppi per selezionare le applicazioni a disposizione degli utenti.<br />
A questo punto clicco su &#8220;Esci&#8221;</p>
<p><a href="http://www.miamammausalinux.org/wp-content/uploads/2013/05/egroupware_12.png"><img src="http://www.miamammausalinux.org/wp-content/uploads/2013/05/egroupware_12-300x141.png" alt="egroupware_12" width="300" height="141" class="alignnone size-medium wp-image-2075" /></a></p>
<p>17. Ora clicco su &#8220;Indietro al Login Utente&#8221; per accedere alla pagina di login, lato utente, del nostro dominio</p>
<p><a href="http://www.miamammausalinux.org/wp-content/uploads/2013/05/egroupware_13.png"><img src="http://www.miamammausalinux.org/wp-content/uploads/2013/05/egroupware_13-300x113.png" alt="egroupware_13" width="300" height="113" class="alignnone size-medium wp-image-2076" /></a></p>
<p>18. Prima di procedere al login come amministratore voglio ottenere che nel menu a tendina dei domini disponibili compaia &#8220;stefano&#8221; al posto di &#8220;default&#8221;.<br />
Pertanto edito il file  header.inc.php</p>
<p># vi /srv/www/egroupware/header.inc.php</p>
<p>e modifico la riga &#8220;$GLOBALS['egw_domain']['default'] = array(&#8221; come segue</p>
<p>[...]<br />
$GLOBALS['egw_domain']['stefano'] = array(<br />
[...]</p>
<p>19. Ora, tramite il browser, accedo all&#8217;url  http://www.example.com/egroupware . Autenticandomi con l&#8217;utente administrator (quello inserito al punto 16) posso iniziare la creazione dei gruppi, l&#8217;inserimento degli utenti, la configurazione delle applicazioni.</p>
<p><strong>Conclusioni</strong></p>
<p>In questo primo articolo ho descritto tutte le fasi necessarie all&#8217;installazione di Egroupware, nei prossimi approfondirò l&#8217;aspetto di configurazione ed i test case di funzionamento.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.miamammausalinux.org/2013/05/egroupware-un-sistema-di-collaborazione-enterprise-introduzione-ed-installazione/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ganeti: gestire un cluster di macchine virtuali DRDB/Linux &#8211; Parte 1 &#8211; Introduzione</title>
		<link>http://www.miamammausalinux.org/2013/04/ganeti-gestire-un-cluster-di-macchine-virtuali-drbd-linux-parte-1-introduzione/</link>
		<comments>http://www.miamammausalinux.org/2013/04/ganeti-gestire-un-cluster-di-macchine-virtuali-drbd-linux-parte-1-introduzione/#comments</comments>
		<pubDate>Wed, 03 Apr 2013 10:10:27 +0000</pubDate>
		<dc:creator>Matteo Cappadonna</dc:creator>
				<category><![CDATA[Clustering]]></category>
		<category><![CDATA[DRBD]]></category>
		<category><![CDATA[KVM]]></category>
		<category><![CDATA[Virtualizzazione]]></category>
		<category><![CDATA[Ganeti]]></category>

		<guid isPermaLink="false">http://www.miamammausalinux.org/?p=1951</guid>
		<description><![CDATA[Nel panorama sistemistico attuale, il lavoro con macchine virtuali è oramai diventato prassi comune. Con lo sviluppo di piattaforme hardware sempre più potenti e cariche di risorse, unite all&#8217;estrema accessibilità di grosse quantità di spazio disco (siano esse fruibili via dischi locali, NAS o SAN), oramai è possibile far convivere diverse macchine virtuali su singoli [...]]]></description>
				<content:encoded><![CDATA[<p><img src="http://www.miamammausalinux.org/wp-content/uploads/2013/02/ganeti.png" alt="ganeti" width="55" height="55" class="alignnone size-full wp-image-1955" /></p>
<p>Nel panorama sistemistico attuale, il lavoro con macchine virtuali è oramai diventato prassi comune.<br />
Con lo sviluppo di piattaforme hardware sempre più potenti e cariche di risorse, unite all&#8217;estrema accessibilità di grosse quantità di spazio disco (siano esse fruibili via dischi locali, NAS o SAN), oramai è possibile far convivere diverse macchine virtuali su singoli hardware fisici, permettendoci -finalmente- una reale suddivisione macchina/servizio a costi contenuti.</p>
<p>L&#8217;ambiente IT è pieno di soluzioni più o meno commerciali, a costi (generalmente) medio-alti e con pregi e difetti.</p>
<p>Linux non è da meno ed anche lui fornisce differenti soluzioni di virtualizzazione, quali Xen e KVM.</p>
<p>Unito a sistemi di gestione dei volumi (LVM) e capacità di replica evolute (DRBD), citando alcuni esempi, ci fornisce tutto il necessario per &#8220;spaccare&#8221; il nostro hardware reale in risorse da assegnare a server virtuali multipli.</p>
<p>Il principale problema, quando si parla di virtualizzazione, è quello di assicurare continuità ai servizi erogati dalle macchine virtuali, indipendentemente dall&#8217;hardware in cui si trovano.</p>
<p>Già, perché se prima la rottura di un alimentatore o di una scheda madre ci bloccava, per esempio, il server DNS, adesso la rottura dello stesso hardware può, potenzialmente, bloccare il server DNS, qualche web server, e magari anche il server di posta, creando danni estremamente maggiori.</p>
<p>In questo quadro rientrano sistemi più evoluti di virtualizzazione, che permettono di &#8220;spostare&#8221; le macchine virtuali su diversi hardware fisici, assicurando continuità di servizio anche in caso di guasti gravi.</p>
<p>Ed è qui che entra in gioco <strong>Ganeti</strong>.</p>
<p><strong>Cos&#8217;è Ganeti</strong><br />
Riprendendo la definizione proposta dal sito del progetto <a href="https://code.google.com/p/ganeti/" title="Ganeti" target="_blank">Ganeti</a>:</p>
<p><em>Ganeti è un tool di gestione per cluster di macchine virtuali costruito sopra tecnologie di virtualizzazione esistenti come Xen o KVM ed altri software Open Source</em></p>
<p>All&#8217;atto pratico, altro non è che una serie di script (prevalentemente scritti in python) che, utilizzando software Open Source disponibili su Linux, permettono di gestire cluster di macchine sulle quali risiedono diverse macchine virtuali. Queste macchine virtuali possono essere accese/spente indipendentemente, spostate da un nodo all&#8217;altro, etc.</p>
<p><strong>Cosa utilizza Ganeti</strong><br />
Come dicevamo prima, Ganeti utilizza una serie di software e tecnologie Open Source già presenti su Linux per fornire un&#8217;interfaccia di semplice utilizzo che astrae le configurazioni e la gestione di questi tool.<br />
Esattamente utilizza:</p>
<ul>
<li><em>Xen</em> / <em>KVM</em>: questi due hypervisor vengono utilizzati per gestire le macchine e l&#8217;hardware virtuali;</li>
<li><em>Linux Bridge</em>: più che un tool è una feature del kernel Linux. Viene utilizzata per la gestione degli IP delle macchine virtuali, permettendo al sistema di rispondere tramite una singola interfaccia ethernet, a diversi IP relativi alle singole macchine;</li>
<li><em>LVM</em>: Logical Volume Manager. Viene utilizzato per gestire dei volumi che rappresentato i dischi delle macchine virtuali ed i dati interni di Ganeti stesso. E&#8217; possibile anche lavorare su file semplici invece che su volumi, ma è fortemente sconsigliato vista la scomodità di gestire semplici file come dischi virtuali;</li>
<li><em>DRBD</em>: Viene utilizzato per gestire i mirror sui diversi nodi del cluster di Ganeti ed è la tecnologia principale che permette lo spostamento delle macchine virtuali sui diversi nodi;</li>
</ul>
<p>E&#8217; giusto sapere bene cosa si trova alla base di Ganeti poiché, se per un utilizzo normale difficilmente andremo ad utilizzare direttamente questi tool, in modalità particolari (o per risolvere grossi problemi sull&#8217;infrastruttura) potrebbe essere necessario lavorare a livello più basso di Ganeti, interagendo direttamente con gli hypervisor, i volumi o i mirror di DRBD.</p>
<p><strong>Cosa posso fare con Ganeti?</strong><br />
Come vedremo una volta installato e configurato, Ganeti permette di eseguire una serie di operazioni quali:</p>
<ul>
<li>Creazione / Distruzione di macchine virtuali con risorse variabili</li>
<li>Avvio / Spegnimento di macchine virtuali, con possibilità di boot normali o con live cd</li>
<li>Spostamento di macchine virtuali tra diversi nodi, sia a caldo (macchina accesa) che a freddo (macchina spenta).</li>
<li>Creazione di snapshot per eseguire backup, così come importazione ed esportazione di macchine virtuali anche tra cluster differenti</li>
</ul>
<p>Alcune informazioni fondamentali su Ganeti che possono essere utili in fase di scelta della propria infrastruttura di virtualizzazione sono le seguenti:</p>
<ul>
<li>Tutti i software utilizzati da Ganeti, così come Ganeti stesso, sono Open Source. Questo vuol dire che non avremo costi di licenze e che potremo mettere mano (se necessario) al codice sorgente sia dell&#8217;insieme di script Ganeti, che dei singoli componenti che esso utilizza</li>
<li>Sempre per questo motivo, non esiste un supporto &#8220;ufficiale&#8221; a Ganeti, anche se bisogna far notare che la comunità è molto forte, sia quella di Ganeti che quella dei singoli tool che utilizza</li>
<li>Nonostante l&#8217;intera infrastruttura giri su Linux, con Ganeti è possibile sia creare macchine virtuali Linux che Windows, facendole coesistere nella stessa infrastruttura</li>
<li>Il cluster di Ganeti è formato da almeno due nodi, ma può essere esteso per utilizzare un qualsiasi numero di nodi; i nodi del cluster possono essere aggiunti e/o rimossi senza dare disservizio e senza dover &#8220;spegnere&#8221; l&#8217;intero cluster (e le macchine virtuali presenti su di esso)</li>
<li>Pur essendo consigliato, non è strettamente necessario che l&#8217;hardware dei vari nodi del cluster sia omogeneo; l&#8217;importante è che supporti le stesse tecnologie (a livello di Hypervisor almeno) e che se ne tenga conto in fase di distribuzione delle risorse sui vari nodi</li>
<li>Ogni macchina virtuale fa riferimento -al massimo- a due nodi del cluster. Questo vuol dire che ognuna ha un nodo primario ed un secondario sul quale è abilitata al funzionamento. Questi nodi possono essere comunque modificati a caldo, andando a ridistribuire le risorse sul cluster</li>
</ul>
<p><strong>Conclusioni</strong></p>
<p>Questa è solo un&#8217;introduzione all&#8217;argomento, nei successivi articoli della serie verranno approfonditi tutti gli aspetti relativi alla tecnologia Ganeti per arrivare all&#8217;implementazione di una soluzione realmente produttiva.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.miamammausalinux.org/2013/04/ganeti-gestire-un-cluster-di-macchine-virtuali-drbd-linux-parte-1-introduzione/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>File System Gnu\Linux concetti di base</title>
		<link>http://www.miamammausalinux.org/2013/03/file-system-gnulinux-concetti-di-base/</link>
		<comments>http://www.miamammausalinux.org/2013/03/file-system-gnulinux-concetti-di-base/#comments</comments>
		<pubDate>Wed, 06 Mar 2013 13:59:43 +0000</pubDate>
		<dc:creator>Luca Mazzanti</dc:creator>
				<category><![CDATA[Generale]]></category>
		<category><![CDATA[Sistema]]></category>

		<guid isPermaLink="false">http://www.miamammausalinux.org/?p=1968</guid>
		<description><![CDATA[In questo articolo vedremo alcuni concetti basilari del file system Gnu\Linux e vedremo alcune analogie con Windows Virtual File System (o VFS). Lo spazio disponibile sull&#8217;hard disk , dove vengono archiviati tutti i file è organizzato in quello che viene definito un file-system. Lo spazio disco è normalmente suddiviso in settori contigui di dimensione fissa(Impostata [...]]]></description>
				<content:encoded><![CDATA[<p style="text-align: justify"><a href="http://www.miamammausalinux.org/wp-content/uploads/2009/01/linux.png"><img class="alignnone size-full wp-image-292" alt="linux" src="http://www.miamammausalinux.org/wp-content/uploads/2009/01/linux.png" width="85" height="100" /></a></p>
<p style="text-align: justify">In questo articolo vedremo alcuni concetti basilari del file system Gnu\Linux e vedremo alcune analogie con Windows</p>
<p style="text-align: justify"><strong>Virtual File System (o VFS).</strong></p>
<p style="text-align: justify">Lo spazio disponibile sull&#8217;hard disk , dove vengono archiviati tutti i file è organizzato in quello che viene definito un file-system.<br />
Lo spazio disco è normalmente suddiviso in settori contigui di dimensione fissa(Impostata nella formattazione). Il sistema organizza questo spazio in modo da poter recuperare velocemente le informazioni memorizzate su </p>
<p style="text-align: justify">questi settori, anche se sono sparsi sul disco. In questo modo possiamo vedere un unico file anche se i settori che lo compongono sono più di uno.</p>
<p style="text-align: justify">(fig1)</p>
<table border="0">
<tbody>
<tr>
<td><img alt="cluster" src="http://www.miamammausalinux.org/wp-content/uploads/2013/03/cluster.png" width="350" height="263" /><img alt="hard-disk" src="http://www.miamammausalinux.org/wp-content/uploads/2013/03/hard-disk.png" width="288" height="168" /></td>
<td></td>
</tr>
</tbody>
</table>
<p style="text-align: justify"><strong></strong>Se nel nostro hard disk i file vengono frammentati possiamo avere un decadimento delle prestazioni. In windows è presente l&#8217;utility defrag per riorganizzare i blocchi, in Gnu\Linux questo processo è molto ridotto,  l&#8217;esigenza di riunire i blocchi è meno rilevante, per le prestazioni del sistema.</p>
<p style="text-align: justify"><strong> L’albero dei file ed il Filesystem Hierarchy Standard</strong></p>
<p>In un sistema unix-like,come Gnu\Linux, l&#8217;albero delle directory è unico: non troveremo quindi dei volumi come possiamo trovare in Windows.<br />
All&#8217;avvio il kernel &#8220;monta&#8221; la directory radice dell&#8217;albero (ved figura 2), tutti le restanti periferiche ,verranno poi montati in opportune sotto directory della radice.</p>
<p>&nbsp;</p>
<table style="width: 328px;height: 259px" border="0">
<tbody>
<tr>
<td><strong>Diretory</strong></td>
<td><strong>Contenuto</strong></td>
</tr>
<tr>
<td>/bin<br />
/boot<br />
/dev<br />
/etc<br />
/lib<br />
/media<br />
/mnt<br />
/opt<br />
/run<br />
/sbin<br />
/srv<br />
/tmp<br />
/usr<br />
/var</td>
<td>comandi essenziali.<br />
file statici necessari al bootloader.<br />
file di dispositivo.<br />
file di configurazione della macchina.<br />
librerie essenziali e moduli del kernel.<br />
mount point per dispositivi rimovibili.<br />
mount point montaggi temporanei.<br />
pacchetti software addizionali.<br />
dati di run-time volatili.<br />
comandi di sistema essenziali.<br />
dati per i servizi forniti dal sistema.<br />
file temporanei.<br />
gerarchia secondaria.<br />
dati variabili.</td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<p><strong>/boot</strong>   Contiene tutti i file necessari al procedimento di boot (immagini del kernel, del bootloader, ramdisk, ecc.)</p>
<p><strong>/dev </strong>   Contiene i file di dispositivo, che permettono l’accesso alle periferiche. Il contenuto è nella maggior parte dei casi generato dinamicamente ed è montata su un    filesystem temporaneo che viene popolato in fase di avvio tramite udev.</p>
<p><strong>/etc</strong>      Contiene i file di configurazione del sistema e gli script di avvio. Non deve contenere programmi binari e non pu` stare su un filesystem diverso da quello della radice.</p>
<p><strong>/home</strong>  Contiene le home directory degli utenti.</p>
<p><strong>/lib</strong>        Contiene le librerie condivise essenziali, usate dai programmi di /bin e /sbin, e deve essere sullo stesso filesystem della radice.</p>
<p><strong>/media</strong> Contiene i mount point per i dispositivi rimovibili, come CDROM, floppy, chiavette USB, dischi USB o Firewire, ecc.</p>
<p><strong>/mnt </strong>     Contiene i mount point per i montaggi temporanei ad uso dell’amministratore di sistema.</p>
<p><strong>/opt</strong>       Contiene eventuali pacchetti software aggiuntivi. Può essere su qualunque filesystem. Un pacchetto deve installarsi nella directory /opt/package dove package e` il nome del pacchetto. All’amministratore è riservato l’uso di alcune directory opzionali: /opt/bin,  /opt/doc, /opt/include, /opt/info, /opt/lib e /opt/man. File variabili attinenti ai    suddetti pacchetti devono essere installati in /var/opt ed i file di configurazione in /etc/opt, nessun file attinente ai pacchetti deve essere installato al di fuori di queste   directory.</p>
<p><strong>/proc</strong>  E&#8217; il mount point standard del filesystem virtuale proc. Questo è un filesystem speciale che permette di accedere a tutta una serie di variabili interne al kernel (relative a parametri e impostazioni di tutti tipi) con l’interfaccia dei file.<br />
<strong></strong></p>
<p><strong>/root</strong>    E&#8217; la home directory dell’amministratore. Di norma la si mantiene nello stesso filesystem  della radice; il suo uso è opzionale ma questa è la collocazione consigliata.</p>
<p><strong>/run</strong>     Presente solo nelle distribuzioni più recenti, viene utilizzata per mettere a disposizione fin dall’avvio una directory su cui viene montato un filesystem temporaneo e su cui  sono mantenuti i cosiddetti dati di run-time volatili.</p>
<p><strong>/sbin</strong>    Contiene i programmi essenziali ad uso dell’amministratore del sistema (come init o fsck). Deve stare sullo stesso filesystem della radice. Vanno messi in questa directory solo i programmi essenziali per l’avvio del sistema, il recupero e la manutenzione dei filesystem.<br />
<strong></strong></p>
<p><strong>/srv</strong>       E&#8217; stata introdotta per mantenervi i dati relativi ai vari servizi che possono essere stati installati su una macchina (come ad esempio le pagine servite da un web server) che . L’architettura di un sistema GNU/Linux in precedenza venivano installati direttamente sotto /var. Non ne è definita una ulteriore suddivisione, ma in genere si tende a creare una sottodirectory per ciascun servizio (ad esempio www, svn, ecc.).</p>
<p><strong>/tmp</strong>     La directory viene usata per mantenere file temporanei. Viene cancellata ad ogni riavvio, ed i programmi non devono assumere che i file siano mantenuti fra due esecuzioni successive.</p>
<p><strong>/usr</strong>   E&#8217; la directory principale che contiene tutti i programmi i file ed i dati non variabili, che possono anche essere condivisi fra pi` stazioni di lavoro. Può essere montata su un filesystem separato rispetto a / e può essere montata in sola lettura. Prevede una ulteriore gerarchia di directory in cui i vari file vengono organizzati; lo standard<br />
richiede obbligatoriamente le seguenti:</p>
<ul>
<li>bin contiene i programmi usati dall’utente installati direttamente dal sistema (o dalla distribuzione originale). Non pu` essere ulteriormente suddivisa.</li>
<li>include contiene tutti i file di dichiarazione delle funzioni di libreria usati dal compilatore e dai programmi C e C++</li>
<li>lib contiene le librerie, file oggetto e binari relative ai programmi di bin e sbin. Può contenere sottodirectory con tutti i file relativi a singoli programmi.</li>
<li>local contiene una replica della gerarchia di /usr dedicata ai file installati localmente dall’amministratore. In genere qui vengono installati i programmi compilati dai sorgenti e tutto quello che non fa parte della distribuzione ufficiale.</li>
<li>sbin contiene i programmi per la gestione di sistema ad uso dell’amministratore non essenziali all’avvio.</li>
<li>share contiene una gerarchia in cui sono organizzati tutti i file e i dati che non dipendono dall’architettura hardware: sono sempre obbligatori man per le pagine di manuale, e misc; se installati vi possono trovare anche una serie di altre directory come: dict per i dizionari, doc per la documentazione, games per i dati statici dei giochi, info per i file del relativo sistema di help , terminfo per il database con le informazioni sui terminali, zoneinfo per i dati relativi ai fusi orari (per l’elenco completo si consulti il sito citato). Deve essere posto dentro misc tutto quello che non viene classificato nelle altre directory opzionali. Mentre sono obbligatorie solo se i relativi pacchetti sono installati, le seguenti directory.</li>
</ul>
<p><strong>/var</strong>  Contiene i file variabili: le directory di spool, i file di log, i dati transienti e temporanei,in modo che /usr possa essere montata in sola lettura. E preferibile montarla in un<br />
filesystem separato; alcune directory non possono essere condivise. Anche in questo caso i file sono organizzati in una ulteriore gerarchia standardizzata che prevede la<br />
presenza delle seguenti sottodirectory:</p>
<ul>
<li>cache dati di appoggio e memorizzazione temporanea per le applicazioni.</li>
<li>lib informazioni di stato e dati delle applicazioni.</li>
<li>local dati variabili relativi ai pacchetti di /usr/local.</li>
<li>lock file di lock, se si usa /run è un collegamento simbolico a /run/lock.</li>
<li> log file di log delle applicazioni.</li>
<li>opt file variabili per i pacchetti di /opt;</li>
<li>spool directory per le code contenenti i dati in transito delle applicazioni (lavori di stampa, posta elettronica, ecc.);</li>
<li>tmp file temporanei non cancellati al riavvio del sistema.</li>
</ul>
<p>a queste si aggiungono tradizionalmente altre directory, come /var/backups, /var/cron, ecc. non indicate dallo standard.</p>
<p>Maggiori dettagli: documento ufficiale di definizione del FHS, disponibile all’indirizzo http://www.pathname.com/fhs/.</p>
<p>questo è un riassunto grafico:</p>
<p>(fig2)</p>
<p><img alt="filesystem-standard" src="http://www.miamammausalinux.org/wp-content/uploads/2013/03/filesystem-standard.png" width="600" height="200" /></p>
<p>&nbsp;</p>
<h3 style="text-align: center"><strong>Alcune analogie Windows Gnu\Linux</strong></h3>
<table border="0">
<tbody>
<tr>
<td><img alt="RisorseDelComputer" src="http://www.miamammausalinux.org/wp-content/uploads/2013/03/RisorseDelComputer.png" width="350" height="60" /></td>
<td><img alt="computer" src="http://www.miamammausalinux.org/wp-content/uploads/2013/03/computer.png" width="350" height="231" /></td>
</tr>
<tr>
<td style="text-align: center"><strong>Risorse del Computer Windows</strong></td>
<td style="text-align: center"><strong> Computer Gnu\Linux Mint</strong></td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<table border="0">
<tbody>
<tr>
<td><img alt="disco c win" src="http://www.miamammausalinux.org/wp-content/uploads/2013/03/disco_c_win.png" width="350" height="282" /></td>
<td><img alt="file-systemOS" src="http://www.miamammausalinux.org/wp-content/uploads/2013/03/file-systemOS.png" width="350" height="143" /></td>
</tr>
<tr>
<td style="text-align: center"><strong>Contenuto disco C:\ in Windows</strong></td>
<td style="text-align: center"><strong> Contenuto File System</strong></td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<table border="0">
<tbody>
<tr>
<td><img alt="Programmi" src="http://www.miamammausalinux.org/wp-content/uploads/2013/03/Programmi.png" width="350" height="106" /></td>
<td><img alt="etc" src="http://www.miamammausalinux.org/wp-content/uploads/2013/03/etc.png" width="350" height="290" /></td>
</tr>
<tr>
<td style="text-align: center"><strong>Cartella Programmi Windows.</strong></td>
<td style="text-align: center"><strong>  Cartella delle configurazioni dei programmi &#8220;etc&#8221;</strong></td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<table border="0">
<tbody>
<tr>
<td><img alt="utenti win2" src="http://www.miamammausalinux.org/wp-content/uploads/2013/03/utenti_win2.png" width="350" height="115" /></td>
<td><img alt="home" src="http://www.miamammausalinux.org/wp-content/uploads/2013/03/home.png" width="350" height="143" /></td>
</tr>
<tr>
<td style="text-align: center"><strong>Cartella Utenti.</strong></td>
<td style="text-align: center"><strong> Cartella Home</strong></td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<table border="0">
<tbody>
<tr>
<td><img alt="Utenti win" src="http://www.miamammausalinux.org/wp-content/uploads/2013/03/fileSystem/Utenti_win.png" width="350" height="106" /></td>
<td><img alt="home2.1" src="http://www.miamammausalinux.org/wp-content/uploads/2013/03/fileSystem/home2.1.png" width="350" height="237" /></td>
</tr>
<tr>
<td style="text-align: center"><strong>Cartelle del profilo Utente.</strong></td>
<td style="text-align: center"><strong>Cartelle personali Utente.</strong></td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<h3 style="text-align: center">Alcune differenze pratiche fra Windows e Linux nella gestione dei file.</h3>
<table border="0">
<tbody>
<tr>
<td><img alt="attributi-win" src="http://www.miamammausalinux.org/wp-content/uploads/2013/03/attributi-win.png" width="350" height="54" /></td>
<td><img alt="nascosto" src="http://www.miamammausalinux.org/wp-content/uploads/2013/03/nascosto.png" width="350" height="52" /></td>
</tr>
<tr>
<td>Dalle proprietò del file se è presente un flag in &#8220;Nascosto&#8221; ilfile non viene visualizzato se non è attivato il visualizzafile nascosti.</td>
<td>Se il file inizia con un punto,questo viene nascosto. Significache se non è attivato il visualizza file nascosti non vedremo ilfile.</td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<table border="0">
<tbody>
<tr>
<td><img alt="estenz.win" src="http://www.miamammausalinux.org/wp-content/uploads/2013/03/estenz.win.png" width="350" height="231" /><a href="http://www.miamammausalinux.org/wp-content/uploads/2013/03/estenz-win.png"><img class="alignnone size-medium wp-image-1977" alt="estenz-win" src="http://www.miamammausalinux.org/wp-content/uploads/2013/03/estenz-win-300x198.png" width="300" height="198" /></a></td>
<td><a href="http://www.miamammausalinux.org/wp-content/uploads/2013/03/estenz.lin_.png"><img class="alignnone size-medium wp-image-1976" alt="estenz.lin" src="http://www.miamammausalinux.org/wp-content/uploads/2013/03/estenz.lin_-300x222.png" width="300" height="222" /></a></td>
</tr>
<tr>
<td>Le estenzione del file determina quale programma verrà utilizzato per il suo utilizzo. Es: nome.pdf verrà utilizzatoacrobat reader per visualizzarlo.</td>
<td>Linux riconosce i tipi di file usando il &#8216;magic number&#8217;, vale adire una sequenza di byte presente all&#8217;inizio del file. Così, adesempio, se all&#8217;inizio del file la sequenza &#8217;0xffd8&#8242;,file in questione è un&#8217;immagine in formato jpeg,</p>
<p>a prescindere dall&#8217;estensione che può avere.</td>
</tr>
</tbody>
</table>
]]></content:encoded>
			<wfw:commentRss>http://www.miamammausalinux.org/2013/03/file-system-gnulinux-concetti-di-base/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Creazione di una macchina virtuale su Virtualbox e gestione degli snapshot</title>
		<link>http://www.miamammausalinux.org/2013/02/creazione-di-una-macchina-virtuale-su-virtualbox/</link>
		<comments>http://www.miamammausalinux.org/2013/02/creazione-di-una-macchina-virtuale-su-virtualbox/#comments</comments>
		<pubDate>Wed, 20 Feb 2013 14:24:07 +0000</pubDate>
		<dc:creator>Luca Mazzanti</dc:creator>
				<category><![CDATA[Generale]]></category>
		<category><![CDATA[Virtualbox]]></category>
		<category><![CDATA[Virtualizzazione]]></category>

		<guid isPermaLink="false">http://www.miamammausalinux.org/?p=1852</guid>
		<description><![CDATA[In questa seconda puntata dedicata a Virtualbox vengono trattate le fasi necessarie alla creazione di una macchina virtuale insieme alla creazione e gestione degli snapshot. Per creare e gestire una nuova macchina virtuale utilizzando VirtualBox possiamo seguire questi semplici passaggi. Una volta installato VirtualBox possiamo creare una nuova macchina virtuale: per farlo, è necessario lanciare [...]]]></description>
				<content:encoded><![CDATA[<p><img src="http://www.miamammausalinux.org/wp-content/uploads/2013/02/virtualbox.png" alt="virtualbox" width="100" height="100" class="alignnone size-full wp-image-1858" /></p>
<p>In questa seconda puntata dedicata a Virtualbox vengono trattate le fasi necessarie alla creazione di una macchina virtuale insieme alla creazione e gestione degli snapshot.</p>
<p>Per creare e gestire una nuova macchina virtuale utilizzando VirtualBox possiamo seguire questi semplici passaggi. Una volta<a href="http://www.miamammausalinux.org/2013/02/installazione-di-virtualbox-su-debian-e-derivate/" target="_blank"> installato VirtualBox</a> possiamo creare una nuova macchina virtuale: per farlo, è necessario lanciare il programma e selezionare il pulsante &#8220;nuova&#8221;, come mostrato qui sotto.</p>
<p><a href="http://www.miamammausalinux.org/wp-content/uploads/2013/01/virtualbox.png"><img src="http://www.miamammausalinux.org/wp-content/uploads/2013/01/virtualbox-300x222.png" alt="virtualbox" width="300" height="222" class="alignnone size-medium wp-image-1817" /></a></p>
<p>Dal pulsante in alto a sinistra &#8220;nuova&#8221; iniziamo la procedura di creazione della V.M.</p>
<p><a href="http://www.miamammausalinux.org/wp-content/uploads/2013/02/new1.png"><img src="http://www.miamammausalinux.org/wp-content/uploads/2013/02/new1-300x200.png" alt="new1" width="300" height="200" class="alignnone size-medium wp-image-1871" /></a></p>
<p><a href="http://www.miamammausalinux.org/wp-content/uploads/2013/02/new-vm2.png"><img src="http://www.miamammausalinux.org/wp-content/uploads/2013/02/new-vm2-300x202.png" alt="new-vm2" width="300" height="202" class="alignnone size-medium wp-image-1872" /></a></p>
<p>Il secondo passaggio ci permette di selezionare l&#8217;hardware virtuale, ottimizzato per il sistema operativo che andremo a creare. Nell&#8217;esempio sopra ho scelto Windows 8.</p>
<p><a href="http://www.miamammausalinux.org/wp-content/uploads/2013/02/new-vm3.png"><img src="http://www.miamammausalinux.org/wp-content/uploads/2013/02/new-vm3-300x202.png" alt="new-vm3" width="300" height="202" class="alignnone size-medium wp-image-1873" /></a></p>
<p><a href="http://www.miamammausalinux.org/wp-content/uploads/2013/02/new-vm4.png"><img src="http://www.miamammausalinux.org/wp-content/uploads/2013/02/new-vm4-300x201.png" alt="new-vm4" width="300" height="201" class="alignnone size-medium wp-image-1874" /></a></p>
<p>La memoria a disposizione per la Virtual Machine dovrà avere un valore congruo alla ram a disposizione sul computer nel quale è installato VirtualBox.</p>
<p>Nel passaggio successivo scegliamo se creare un nuovo hard disk oppure utilizzarne uno già presente.</p>
<p><a href="http://www.miamammausalinux.org/wp-content/uploads/2013/02/new-vm5.png"><img src="http://www.miamammausalinux.org/wp-content/uploads/2013/02/new-vm5-300x197.png" alt="new-vm5" width="300" height="197" class="alignnone size-medium wp-image-1875" /></a></p>
<p><a href="http://www.miamammausalinux.org/wp-content/uploads/2013/02/new-vm6.png"><img src="http://www.miamammausalinux.org/wp-content/uploads/2013/02/new-vm6-300x197.png" alt="new-vm6" width="300" height="197" class="alignnone size-medium wp-image-1876" /></a></p>
<p>In questo passaggio possiamo decidere il formato del disco virtuale.  Il formato VMDK è quello utilizzato da Vmware, VHD è il formato microsoft. Se in questo passaggio scegliamo VMDK ed in futuro porteremo questa macchina virtuale in ambiente VmWare non sarà necessario fare alcuna conversione.</p>
<p>Nel passaggio successivo scegliamo come verrà gestito il formato del disco. Allocato dinamicamente permette di risparmiare spazio sull&#8217;hard disk del pc che esegue VirtualBox.(Guest) Es: alla nuova macchina virtuale facciamo un hard disk da 200gb e diamo dimensione fissa. Verrà creato un file con dimensione 200gb.</p>
<p>Se invece scegliamo &#8220;Allocato dinamicamente&#8221; il file potrà arrivare ad un massimo di 200gb, ma la dimensione cambierà in base a quanti dati sono presenti sulla nuova macchina virtuale.</p>
<p><a href="http://www.miamammausalinux.org/wp-content/uploads/2013/02/new-vm7.png"><img src="http://www.miamammausalinux.org/wp-content/uploads/2013/02/new-vm7-300x198.png" alt="new-vm7" width="300" height="198" class="alignnone size-medium wp-image-1877" /></a></p>
<p><a href="http://www.miamammausalinux.org/wp-content/uploads/2013/02/new-vm8.png"><img src="http://www.miamammausalinux.org/wp-content/uploads/2013/02/new-vm8-300x198.png" alt="new-vm8" width="300" height="198" class="alignnone size-medium wp-image-1878" /></a></p>
<p>In questo passaggio definiamo la dimensione dell&#8217; hard disk virtuale e della relativa posizione.</p>
<p>Adesso l&#8217;hardware virtuale è stato definito. Apriamo VirtulBox selezioniamo la macchina virtuale dal pannello di sinistra e selezioniamo settings.</p>
<p><a href="http://www.miamammausalinux.org/wp-content/uploads/2013/02/settings-vm.png"><img src="http://www.miamammausalinux.org/wp-content/uploads/2013/02/settings-vm-300x217.png" alt="settings-vm" width="300" height="217" class="alignnone size-medium wp-image-1886" /></a></p>
<p>Da qui si possono modificare le caratteristiche dell&#8217;hardware virtuale.</p>
<p><a href="http://www.miamammausalinux.org/wp-content/uploads/2013/02/edit-vm-setting.png"><img src="http://www.miamammausalinux.org/wp-content/uploads/2013/02/edit-vm-setting-300x174.png" alt="edit-vm-setting" width="300" height="174" class="alignnone size-medium wp-image-1868" /></a></p>
<p>Una sezione molto importante è quella della rete. Nel menu &#8220;nome&#8221; selezioniamo la scheda di rete fisica sulla quale si appoggeranno le configurazioni della rete virtuale.</p>
<p><a href="http://www.miamammausalinux.org/wp-content/uploads/2013/02/rete1.png"><img src="http://www.miamammausalinux.org/wp-content/uploads/2013/02/rete1-300x202.png" alt="rete1" width="300" height="202" class="alignnone size-medium wp-image-1880" /></a></p>
<p><a href="http://www.miamammausalinux.org/wp-content/uploads/2013/02/rete1.1.png"><img src="http://www.miamammausalinux.org/wp-content/uploads/2013/02/rete1.1-300x123.png" alt="rete1.1" width="300" height="123" class="alignnone size-medium wp-image-1879" /></a></p>
<p><a href="http://www.miamammausalinux.org/wp-content/uploads/2013/02/rete2.png"><img src="http://www.miamammausalinux.org/wp-content/uploads/2013/02/rete2-300x235.png" alt="rete2" width="300" height="235" class="alignnone size-medium wp-image-1881" /></a></p>
<p>Dalla finestra sopra possiamo scegliere quante schede di rete virtuali avrà la nostra V.M inoltre possiamo schegliere anche la modalità operativa.</p>
<ul>
<li><strong>Modalità NAT</strong>. VirtualBox assegnerà alla macchina virtuale un indirizzo Ip Privato. Con questa configurazione la Macchina Virtuale avrà accesso ad internet,ma gli altri host della rete non potranno accedere alla V.M.  Questo significa che questa V.M. potra accedere ad Internet o nelle cartelle condivise della rete, ma non potrà offrire i propri servizi alla rete, quindi se condividiamo una cartella nella V.M. nessuno potrà raggiungerla.</li>
<li><strong>Modalità Scheda con Bridge</strong>. La scheda di rete della V.M. può ricevere un indirizzo appartenente alla classe esistente.Se è presente un DHCP questo fornirà un indirizzo come farebbe per un nuovo pc della rete. In questa modalità possiamo accedere alle risorse delle rete e la rete può accedere alle risorse della V.M.</li>
<li><strong>Modalità Scheda solo host.</strong>  Usa un device di rete dedicato, chiamato vboxnet0: tale device sarà responsabile dell&#8217;assegnazione degli IP. Il sistema host diventa un router. IP vengono assegnati dalla vboxnet0 alle macchine virtuali. In questa configurazione si possono allestire reti private all&#8217;interno delle quali le V.M. possono vedersi senza però necessariamente dover accedere a risorse esterne (ad esempio la rete Internet).</li>
<li><strong>Modalità Rete interna</strong>. Simile alle opzioni NAT + Scheda solo host. In questo caso, però, lo scambio di dati può avvenire esclusivamente all&#8217;interno della rete virtuale creata tra macchine virtuali, senza alcun dialogo con il sistema host. Questo significa che le V.M avranno una LAN privata , senza alcun accesso &#8220;al mondo esterno&#8221;.</li>
</ul>
<p>Nella sezione cartelle condivise possiamo impostare una cartella che risulterà visibile dalle V.M. ed il sistema host. ( VirtualBox). Questo ci permette di scambiare file fra host e V.M anche senza una configurazione di rete appropriata.</p>
<p><a href="http://www.miamammausalinux.org/wp-content/uploads/2013/02/cartelle-condivise.png"><img src="http://www.miamammausalinux.org/wp-content/uploads/2013/02/cartelle-condivise-300x207.png" alt="cartelle-condivise" width="300" height="207" class="alignnone size-medium wp-image-1865" /></a></p>
<p>Dobbiamo scegliere il percorso , il nome e le opzioni di sola lettura e Montaggio automatico.</p>
<p><a href="http://www.miamammausalinux.org/wp-content/uploads/2013/02/cartelle-condivise1.png"><img src="http://www.miamammausalinux.org/wp-content/uploads/2013/02/cartelle-condivise1-300x81.png" alt="cartelle-condivise1" width="300" height="81" class="alignnone size-medium wp-image-1866" /></a></p>
<p>Una volta terminato il setting dell&#8217;hardware virtuale possiamo avviare la macchina virtuale(V.M.) e procedere con l&#8217;installazione del sistema operativo.</p>
<p>Possiamo avviare l&#8217;installazione facendo avviare la V.M da CdRom oppure da un immagine ISO del sistema operativo. Per l&#8217;installazione seguiamo la normale procedura richiesta dal sistema operativo.</p>
<p>Al termine possiamo avere il nostro &#8220;host che esegue la nostra V.M come un programma&#8221;.</p>
<p><a href="http://www.miamammausalinux.org/wp-content/uploads/2013/02/SchermataHost-Vm.png"><img src="http://www.miamammausalinux.org/wp-content/uploads/2013/02/SchermataHost-Vm-300x187.png" alt="SchermataHost-Vm" width="300" height="187" class="alignnone size-medium wp-image-1885" /></a></p>
<p>Nell&#8217;immagine sopra possiamo vedere l&#8217;host Gnu\Linux Mint che esegue un V.M windows Xp.</p>
<p>Per l&#8217;host GNU\ Linux la macchina virtuale è un processo(PID 4243) se chiudiamo quel servizio windows Xp si ferma oppure se l&#8217;host si blocca anche windows xp si blocca.</p>
<p>In pratica abbiamo due sistemi operativi completamente separati e possono utilizzare tutte le proprie potenzialità . Il cattivo funzionamento di una delle due potrebbe compromettere il funzionameto dell&#8217;altra.<br />
<a href="http://www.miamammausalinux.org/wp-content/uploads/2013/02/top.png"><img src="http://www.miamammausalinux.org/wp-content/uploads/2013/02/top.png" alt="top" width="626" height="87" class="alignnone size-full wp-image-1899" /></a></p>
<p>L&#8217;intero sistema operativo e hardware virtuale si riduce a pochi file.</p>
<p><a href="http://www.miamammausalinux.org/wp-content/uploads/2013/02/vm-files.png"><img src="http://www.miamammausalinux.org/wp-content/uploads/2013/02/vm-files.png" alt="vm-files" width="443" height="198" class="alignnone size-full wp-image-1901" /></a></p>
<p>Il file xp.vbox definisce l&#8217;hardware virtuale, il file xp.vdi definisce l&#8217;hard disk virtuale. L&#8217;estensione dell&#8217;hard disk virtuale dipende dalle nostre scelte nel passaggio n.5 dell&#8217;installazione.</p>
<p>Snapshot. Istantanea.  Rappresenta una fase di lavoro che si vuole &#8220;fermare&#8221; nel caso che le variazioni che si stanno per compiere non ci soddisfino. Le snapshot consentono quindi di vedere versioni alternative di una stessa V.M. , per poter scegliere la migliore.</p>
<p>Esempio:</p>
<p>Nella V.M. XP che abbiamo creato facciamo una cartella test sul desktop. Adesso creiamo una snapshot.</p>
<p><a href="http://www.miamammausalinux.org/wp-content/uploads/2013/02/xp-test-snapshots.png"><img src="http://www.miamammausalinux.org/wp-content/uploads/2013/02/xp-test-snapshots-300x257.png" alt="xp-test-snapshots" width="300" height="257" class="alignnone size-medium wp-image-1902" /></a></p>
<p>Quando creiamo una snapshot, virtualbox divide il nostro hard disk virtuale facendone uno nuovo. Se guardiamo nella cartella snapshot lo possiamo vedere</p>
<p><a href="http://www.miamammausalinux.org/wp-content/uploads/2013/02/snap2.png"><img src="http://www.miamammausalinux.org/wp-content/uploads/2013/02/snap2.png" alt="snap2" width="554" height="99" class="alignnone size-full wp-image-1888" /></a></p>
<p>Possiamo creare quanti snapshot vogliamo in modo da avere più versioni della V.M.. Dobbiamo tenere presente che gli snapshot richiedono risorse in termini di velocità e spazio disco per l&#8217;host.</p>
<p>Dalla schermata principale di VirtualBox possiamo vedere e gestire gli snapshot. Sotto abbiamo lo stato attuale.</p>
<p><a href="http://www.miamammausalinux.org/wp-content/uploads/2013/02/snap3.png"><img src="http://www.miamammausalinux.org/wp-content/uploads/2013/02/snap3-300x59.png" alt="snap3" width="300" height="59" class="alignnone size-medium wp-image-1895" /></a></p>
<p>Adesso eliminiamo la cartella test dalla V.M.</p>
<p>In questo momento abbiamo uno stato attuale della V.M. senza cartella test , ma uno snapshot iniziale dove era presente la cartella test. Adesso ritorniamo allo stato iniziale con cartella test e nessuno snapshot.</p>
<p>Arrestiamo la V.M. Selezioniamo istantanea e premiamo il pulsante &#8220;ripristina istantanea&#8221; con la freccia rossa.La necessitò di dover arrestare la V.M. dipende da come abbiamo formattato l&#8217;hard disk del sistema host se creiamo le V.M su una partizione LVM è possibile fare tutte le operazioni a caldo.</p>
<p><a href="http://www.miamammausalinux.org/wp-content/uploads/2013/02/snap3.1.png"><img src="http://www.miamammausalinux.org/wp-content/uploads/2013/02/snap3.1-300x97.png" alt="snap3.1" width="300" height="97" class="alignnone size-medium wp-image-1889" /></a></p>
<p>Istantanea1 contiene la cartella test. Stato attuale non contiene la cartella test.</p>
<p>Ci verrà richiesto di creare un nuovo snapshot</p>
<p><a href="http://www.miamammausalinux.org/wp-content/uploads/2013/02/snap3.3.1.png"><img src="http://www.miamammausalinux.org/wp-content/uploads/2013/02/snap3.3.1-300x137.png" alt="snap3.3.1" width="300" height="137" class="alignnone size-medium wp-image-1891" /></a></p>
<p><a href="http://www.miamammausalinux.org/wp-content/uploads/2013/02/snap3.2.png"><img src="http://www.miamammausalinux.org/wp-content/uploads/2013/02/snap3.2-300x265.png" alt="snap3.2" width="300" height="265" class="alignnone size-medium wp-image-1890" /></a></p>
<p>Se togliamo la spunta &#8220;Crea un&#8217;istantanea&#8230;&#8221; non verrà creata una seconda istantanea.</p>
<p>Lo stato dei files nella cartella snapshot</p>
<p><a href="http://www.miamammausalinux.org/wp-content/uploads/2013/02/snap3.5.png"><img src="http://www.miamammausalinux.org/wp-content/uploads/2013/02/snap3.5-300x70.png" alt="snap3.5" width="300" height="70" class="alignnone size-medium wp-image-1894" /></a></p>
<p><a href="http://www.miamammausalinux.org/wp-content/uploads/2013/02/snap3.3.png"><img src="http://www.miamammausalinux.org/wp-content/uploads/2013/02/snap3.3.png" alt="snap3.3" width="298" height="151" class="alignnone size-full wp-image-1892" /></a></p>
<p>Istantanea 1 contiene la cartella test. Istantanea2 contiene la cartella test. Stato attuale contiene la cartella test.</p>
<p>Adesso che abbiamo detto a virtualbox che vogliamo ripristinare la prima istantanea  possiamo selezioniare Istantanea 2 ed eliminarla con il pulsante con la X rossa. A termine possiamo fare la stessa cosa con Istantanea1</p>
<p>Riavviamo la V.M ed avremo una V.M. con la cartella test e nessuno snapshot.</p>
<p>Se invece vogliamo mantanere l&#8217;eliminazione della cartella test basta selezionare elimina istantanea senza necessità di spengere la V.M</p>
<p><a href="http://www.miamammausalinux.org/wp-content/uploads/2013/02/snap4.png"><img src="http://www.miamammausalinux.org/wp-content/uploads/2013/02/snap4-300x104.png" alt="snap4" width="300" height="104" class="alignnone size-medium wp-image-1896" /></a></p>
<p>Facendo in questo modo viene consolidato l&#8217;hard disk virtuale iniziale &#8220;xp.vdi&#8221; con lo snapshot creato.</p>
<p>In altre parole:</p>
<p><a href="http://www.miamammausalinux.org/wp-content/uploads/2013/02/snap-consolidata.png"><img src="http://www.miamammausalinux.org/wp-content/uploads/2013/02/snap-consolidata-300x120.png" alt="snap-consolidata" width="300" height="120" class="alignnone size-medium wp-image-1897" /></a></p>
<p>Se dall&#8217;hard disk iniziale(turchese) creiamo uno snapshot (giallo) la V.M. farà tutte le modifiche in questo disco virtuale(giallo), quindi se eliminiamo una cartella o installiamo un aggiornamento lo faremo in questa parte. Adesso, se decidiamo di mantenere le operazioni svolte, basterà eliminare lo snapshot <img alt="elimina" src="images/articoli/luca_mazzanti/vm-virtualbox/elimina.png" width="42" height="41" /> a V.M. accesa e verranno consolidate le modifiche fatte (giallo) nel disco principale (turchese).</p>
<p>Se invece decidiamo di non mantenere le modifiche fatte, dobbiamo eliminare le modifiche dello snapshot <img alt="ripristina" src="http://www.miamammausalinux.org/wp-content/uploads/2013/02/ripristina.png" width="34" height="34" /></p>
<p><a href="http://www.miamammausalinux.org/wp-content/uploads/2013/02/snapshot-eliminata.png"><img src="http://www.miamammausalinux.org/wp-content/uploads/2013/02/snapshot-eliminata-300x119.png" alt="snapshot-eliminata" width="300" height="119" class="alignnone size-medium wp-image-1898" /></a></p>
<p>Ultime considerazioni, come abbiamo visto la macchina virtuale è formata da pochi files, salvando o spostando questi file su altri computer che eseguono VirtualBox possiamo copiare o spostare la V.M. Windows Xp del nostro esempio.</p>
<p><a href="http://www.miamammausalinux.org/wp-content/uploads/2013/02/salva-arresta.png"><img src="http://www.miamammausalinux.org/wp-content/uploads/2013/02/salva-arresta-300x197.png" alt="salva-arresta" width="300" height="197" class="alignnone size-medium wp-image-1883" /></a></p>
<p>Quando chiudiamo la finestra della macchina virtuale ci viene chiesto se salvare lo stato oppure arrestare. Quando si salva lo stato praticamente la V.M. rimane sospesa nella stato in cui si trova.  In questo modalità quando sblocchiamo la V.M. non dobbiamo attendere l&#8217;avvio del sistema operativo.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.miamammausalinux.org/2013/02/creazione-di-una-macchina-virtuale-su-virtualbox/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Seminario &#8220;Evoluzione della virtualizzazione su Linux&#8221;: video tre &#8211; &#8220;KVM, Libvirt e QEMU&#8221;</title>
		<link>http://www.miamammausalinux.org/2013/02/seminario-evoluzione-della-virtualizzazione-su-linux-video-tre-kvm-libvirt-e-qemu/</link>
		<comments>http://www.miamammausalinux.org/2013/02/seminario-evoluzione-della-virtualizzazione-su-linux-video-tre-kvm-libvirt-e-qemu/#comments</comments>
		<pubDate>Tue, 12 Feb 2013 13:50:43 +0000</pubDate>
		<dc:creator>Raoul Scarazzini</dc:creator>
				<category><![CDATA[Clustering]]></category>
		<category><![CDATA[Corosync]]></category>
		<category><![CDATA[Heartbeat]]></category>
		<category><![CDATA[KVM]]></category>
		<category><![CDATA[Linux HA]]></category>
		<category><![CDATA[Pacemaker]]></category>
		<category><![CDATA[Seminari]]></category>
		<category><![CDATA[Virtualizzazione]]></category>

		<guid isPermaLink="false">http://www.miamammausalinux.org/?p=1943</guid>
		<description><![CDATA[Ecco la terza parte del del seminario di miamammausalinux.org, intitolato &#8220;Evoluzione della virtualizzazione su su Linux&#8221; che si è svolto nella giornata del 29 giugno 2012, presso l&#8217;hotel Holiday Inn di Rho. In questo video vengono trattate nel dettaglio le tecnologie impiegate per la virtualizzazione, con approfondimenti sul modulo KVM, il sistema Libvirt e l&#8217;emulatore [...]]]></description>
				<content:encoded><![CDATA[<p><img src="http://www.miamammausalinux.org/wp-content/uploads/2008/11/miamammausalinux_avatar.png" alt="" title="miamammausalinux" width="124" height="125" class="alignnone size-full wp-image-761" /></p>
<p>Ecco la terza parte del del seminario di <em>miamammausalinux.org</em>, intitolato &#8220;<strong>Evoluzione della virtualizzazione su su Linux</strong>&#8221; che si è svolto nella giornata del 29 giugno 2012, presso l&#8217;hotel Holiday Inn di Rho.</p>
<p>In questo video vengono trattate nel dettaglio le tecnologie impiegate per la virtualizzazione, con approfondimenti sul modulo KVM, il sistema Libvirt e l&#8217;emulatore QEMU.</p>
<p>Parte tre &#8211; &#8220;Presentazione ed introduzione al seminario&#8221;:</p>
<p><iframe width="560" height="315" src="http://www.youtube.com/embed/3CDHbqCRNi8" frameborder="0" allowfullscreen></iframe></p>
<p>La serie completa dei video di questo seminario:</p>
<ul>
<li>Seminario “Evoluzione della virtualizzazione su Linux”: <a href="http://www.miamammausalinux.org/2013/01/seminario-evoluzione-della-virtualizzazione-su-linux-video-uno-e-due-introduzione-e-virtualizzazione/" title="Prima parte">video uno e due – “Introduzione” e “Virtualizzazione&#8221;</a></li>
<li>Seminario “Evoluzione della virtualizzazione su Linux”: <a href="http://www.miamammausalinux.org/2013/02/seminario-evoluzione-della-virtualizzazione-su-linux-video-tre-kvm-libvirt-e-qemu" title="Seconda parte">video tre – “KVM, Libvirt e QEMU&#8221;</a></li>
</ul>
<p>Il canale Youtube di MiaMammaUsaLinux: <a href="http://www.youtube.com/user/MiaMammaUsaLinux" title="http://www.youtube.com/user/MiaMammaUsaLinux" target="_blank">http://www.youtube.com/user/MiaMammaUsaLinux</a></p>
<p><em>Un ringraziamento particolare a <strong>Lorenzo</strong>, per il costante e preziosissimo supporto video che ci ha permesso di condividere l&#8217;evento con quanti non sono riusciti a partecipare.</em></p>
<p><strong>Buona visione!</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://www.miamammausalinux.org/2013/02/seminario-evoluzione-della-virtualizzazione-su-linux-video-tre-kvm-libvirt-e-qemu/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Sblocco Vodafone Station</title>
		<link>http://www.miamammausalinux.org/2013/02/sblocco-vodafone-station/</link>
		<comments>http://www.miamammausalinux.org/2013/02/sblocco-vodafone-station/#comments</comments>
		<pubDate>Thu, 07 Feb 2013 10:05:10 +0000</pubDate>
		<dc:creator>Luca Mazzanti</dc:creator>
				<category><![CDATA[Fun]]></category>
		<category><![CDATA[Generale]]></category>

		<guid isPermaLink="false">http://www.miamammausalinux.org/?p=1907</guid>
		<description><![CDATA[Premessa:Queste informazioni provengono dal forum facilewifi.eu, io le ho solo riunite ed ho cercato di fare una procedura eseguibile da chiunque. Ringrazio gli Admin del forum e gli utenti che hanno condiviso le loro esperienze. Non mi assumo nessuna responsabilità, fate tutto a vostro rischio e pericolo. A chi può interessare: Chiunque abbia una vodafone [...]]]></description>
				<content:encoded><![CDATA[<p><img src="http://www.miamammausalinux.org/wp-content/uploads/2013/02/vs.jpeg" alt="virtualbox" width="100" height="100" class="alignnone size-full wp-image-1858" /></p>
<p><strong>Premessa:</strong><br />Queste informazioni provengono dal forum<a href="http://www.facilewifi.eu/" target="_blank"> facilewifi.eu</a>, io le ho solo riunite ed ho cercato di fare una procedura eseguibile da chiunque. Ringrazio gli Admin del forum e gli utenti che hanno condiviso le loro esperienze.<br />
<strong>Non mi assumo nessuna responsabilità, fate tutto a vostro rischio e pericolo.</strong></p>
<p><strong>A chi può interessare:</strong></p>
<p>Chiunque abbia una vodafone station con le specifiche sotto riportate e la vuole utilizzare con un operatore diverso da Vodafone e Fastweb.</p>
<p>Modello: EchoLife HG553<br />Vers. hard.: HG55MAGV VER.A<br />Vers. soft.: EchoLife_HG553V100R001C06&#8243;&#8221;B070SP09&#8243;&#8221;<br />Per visualizzare queste informazioni digitiamo in un browser 192.168.1.1 e nella videata principale troviamo i dati.</p>
<p><strong><span style="color: #000000">Quali vantaggi otteniamo:</span></strong></p>
<p>La Vodafone Station è un dispositivo huawei. Ha molte funzionalità che non si trovano nei modem\router standard. Gestisce connessioni ADSL standard e all&#8217;occorrenza con chiavina usb per connessioni UMTS.Questo in modalità trasparente per il client, quidi chi naviga non deve modificare niente sul computer. Questa funzione può tornare comoda anche nel caso si abbia una connessione solo con Internet Key, ma vogliamo collegare ad internet più computer.<br />Si può collegare una memoria USB e condividerla con i client. Permette la gestione di un Server DHCP, permette un accesso SSH e molto altro.<br />Attualmente il firmware disponibile è il B070SP09.</p>
<p><strong>Di cosa abbiamo bisogno:</strong>
</p>
<ul>
<li>&nbsp;Vodafone Station</li>
</ul>
<p>Modello: EchoLife HG553<br />Vers. hard.: HG55MAGV VER.A<br />Vers. soft.: EchoLife_HG553V100R001C06&#8243;&#8221;B070SP09&#8243;&#8221;</p>
<ul>
<li>&nbsp;4 resistenze da 100hom 1\4 di watt.&nbsp; (circa 0,5€)&nbsp;&nbsp;</li>
<li>&nbsp;1 connettore per porta parallela.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (circa 1€)</li>
<li>1 saldatore a stagno.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (circa 10€)</li>
<li>cavo.<br />
<table border="0">
<tbody>
<tr>
<td><img src="http://www.miamammausalinux.org/wp-content/uploads/2013/02/resistenza.jpg" alt="resistenza" height="80" width="120" /><img src="http://www.miamammausalinux.org/wp-content/uploads/2013/02/parallela.jpg" alt="parallela" height="91" width="120" /><img src="http://www.miamammausalinux.org/wp-content/uploads/2013/02/saldatore.jpg" alt="saldatore" height="120" width="120" />
					</td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
</li>
<li>
<p>Software:</p>
</li>
<li>&nbsp;<a href="http://repofulm.dyndns.org/index.php?dir=merlino60/software%20jtag/debrik%20windows%20jtag/&amp;file=tjtag3-0-1.zip" target="_blank">tjtag3</a>&nbsp;&nbsp;</li>
<li>&nbsp;<a href="http://repofulm.dyndns.org/index.php?dir=merlino60/software%20jtag/debrik%20windows%20jtag/&amp;file=alice_debrick03.zip" target="_blank">alice_debrick </a></li>
<li><a href="http://repofulm.dyndns.org/index.php?dir=merlino60/vodafone%20station%20hg553a/bin%20estratti%20con%20alice03%20bis/&amp;file=CFE.BIN.SAVED_20100615_165055" target="_blank">&nbsp;cfe.bin&nbsp;</a>&nbsp;&nbsp;</li>
<li>&nbsp;software b_21 spagnolo o simili\derivati.</li>
</ul>
<p>&nbsp;(Nota: in questi giorni i link indicati hanno problemi di accessibilità. Qui trovate il software<a href="https://docs.google.com/file/d/0B37-bM56dNKKSktpM1dPaFNkdlk/edit?usp=sharing" target="_blank"> necessario.</a> )</p>
<p>Per eseguire lo sbocco della Vodafone Station dobbiamo collegare un cavo Jtag alla Main Board. Non dobbiamo fare i cavi&nbsp; più lunghi di 10-15cm</p>
<p>Identifichiamo il connettore della Main Board evidenziato come 1B rosso.</p>
<p><img src="http://www.miamammausalinux.org/wp-content/uploads/2013/02/mb2.png" alt="mb2" height="302" width="400" />
</p>
<p>&nbsp;Seguiamo questo schema per il collegamento.</p>
<table border="0">
<tbody>
<tr>
<td><img src="http://www.miamammausalinux.org/wp-content/uploads/2013/02/jtag.png" alt="jtag" height="229" width="350" /><img src="http://www.miamammausalinux.org/wp-content/uploads/2013/02/mb3.png" alt="mb3" height="298" width="350" />
			</td>
</tr>
</tbody>
</table>
<p>Il connettore per parallela ha la pedinatura segnata sotto i piedini dove andremo a saldare i cavi.</p>
<p><img src="http://www.miamammausalinux.org/wp-content/uploads/2013/02/jtag-on-b.jpg" alt="jtag-on-b" height="300" width="400" />
</p>
<p>&nbsp;Al termine avremo una cosa simile a questa.</p>
<p>Adesso creiamo una cartella &#8220;vs&#8221; in &#8220;c:\&#8221; e scompattiamo l&#8217;archivio giveio.zip jtag.zip e alice_debrick03.zip facciamo in modo che tutti i files siano in &#8220;c:\vs&#8221;.</p>
<p>Adesso colleghiamo il cavo alla porta parallela del pc e accendiamo la V.S.</p>
<p>Andiamo nella cartella c:\vs e facciamo doppio click sul file &#8220;LOADDRV.exe&#8221; digitiamo &#8220;c:\vs|giveio.sys&#8221; in seguito premiamo install e start.</p>
<p><img src="http://www.miamammausalinux.org/wp-content/uploads/2013/02/giveio.png" alt="giveio" height="187" width="332" />
</p>
<p>Questo passaggio ci permette di caricare il driver per il funzionamento del cavo Jtag.</p>
<p>Verifichiamo il funzionamento. Per farlo apriamo un prompt di DOS. Da start -&gt; esegui -&gt; CMD:EXE&nbsp; e premiamo invio.</p>
<p>Digitiamo &#8220;cd\&#8221; e premiamo invio. Adesso &#8220;cd vs&#8221; epremiamo invio. <strong>Dopo ogni comando è necessario spengere e riaccendere la Vodafone Station.</strong>
</p>
<p>Adesso digitiamo tjtag3.exe -probeonly</p>
<p>Se il risultato è come quello sotto è necessario rivedete i passaggi sopra,collegamenti, saldature ecc.</p>
<p><img src="http://www.miamammausalinux.org/wp-content/uploads/2013/02/tjtag3.png" alt="tjtag3" height="119" width="274" />
</p>
<p>Se abbiamo un messaggio positivo possiamo procedere oltre.</p>
<p>Eseguiamo un salvataggio della CFE con il comando</p>
<table border="0">
<tbody>
<tr>
<td>alice03 -backup:cfe</td>
</tr>
</tbody>
</table>
<p>terminato possiamo procedere con la formattazione della CFE</p>
<table border="0">
<tbody>
<tr>
<td>tjtag3 -erase:cfe</td>
</tr>
</tbody>
</table>
<p>e riscriviamola</p>
<table border="0">
<tbody>
<tr>
<td>Alice03 -flash:cfe /cable:xilinx</td>
</tr>
</tbody>
</table>
<p>se procede tutto per il meglio vedremo una schermata come questa.</p>
<p><img src="http://www.miamammausalinux.org/wp-content/uploads/2013/02/alice03-2.png" alt="alice03-2" height="281" width="500" />
</p>
<p>&nbsp;Adesso apriamo il browser all&#8217;indirizzo 192.168.1.1 , vedremo una schermata dove ci chiede di caricare il firmware desiderato.</p>
<p><img src="http://www.miamammausalinux.org/wp-content/uploads/2013/02/alice03-3.png" alt="alice03-3" height="362" width="500" />
</p>
<p>scegliamo il firmware &#8220;HG553kisumu 260111.bin&#8221; o quello che abbiamo scelto premiamo il tasto update software.</p>
<p><img src="http://www.miamammausalinux.org/wp-content/uploads/2013/02/alice03-4.png" alt="alice03-4" height="362" width="500" />
</p>
<p>Attendiamo quelche minuto. Se abbiamo scelto il firmware &#8220;HG553kisumu 260111.bin&#8221; riavviamo la Vodafone Station.</p>
<p>Cambiamo l&#8217;ip del computer e mettiamo questi parametri:</p>
<p>ip: 192.168.0.5&nbsp; subnet 255.255.255.0</p>
<p>gateway: 192.168.0.1 DNS non importa per il momento.</p>
<p>Apriamo il Browser sull&#8217;indirizzo http://192.168.0.1</a> &nbsp; ci verra chiesta User: admin&nbsp; Password: VF-EShg553</p>
<p>Adesso abbiamo pieno accesso alla Vodafone Station con nuovo firmware.</p>
<p>&nbsp;<img src="http://www.miamammausalinux.org/wp-content/uploads/2013/02/b21.png" alt="b21" height="272" width="500" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.miamammausalinux.org/2013/02/sblocco-vodafone-station/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Installazione di Virtualbox su Debian e derivate</title>
		<link>http://www.miamammausalinux.org/2013/02/installazione-di-virtualbox-su-debian-e-derivate/</link>
		<comments>http://www.miamammausalinux.org/2013/02/installazione-di-virtualbox-su-debian-e-derivate/#comments</comments>
		<pubDate>Tue, 05 Feb 2013 16:49:39 +0000</pubDate>
		<dc:creator>Luca Mazzanti</dc:creator>
				<category><![CDATA[Generale]]></category>
		<category><![CDATA[Virtualbox]]></category>
		<category><![CDATA[Virtualizzazione]]></category>

		<guid isPermaLink="false">http://www.miamammausalinux.org/?p=1804</guid>
		<description><![CDATA[La virtualizzazione consiste nella riproduzione virtuale di una risorsa normalmente fornita fisicamente. Nel mondo dei computer è un qualcosa di applicabile sia al software che all’hardware. In ambiente desktop i programmi più utilizzati sono VmWare Workstation e virtualbox. Entrambi i software sono installabili in ambienti Windows e GNU\Linux. VMware offre una versione gratuita chiamata VMware [...]]]></description>
				<content:encoded><![CDATA[<p><img src="http://www.miamammausalinux.org/wp-content/uploads/2013/02/virtualbox.png" alt="virtualbox" width="100" height="100" class="alignnone size-full wp-image-1858" /></p>
<p>La virtualizzazione consiste nella riproduzione virtuale di una risorsa normalmente fornita fisicamente. Nel mondo dei computer è un qualcosa di applicabile sia al software che all’hardware. In ambiente desktop i programmi più utilizzati sono VmWare Workstation e virtualbox. Entrambi i software sono installabili in ambienti Windows e GNU\Linux.</p>
<p>VMware offre una versione gratuita chiamata VMware Player che permette di eseguire macchine virtuali.VMware Player manca di molte caratteristiche avanzate, connessioni remote a vSphere, collegamento di vSphere, istantanee multiple ,Clone e molto altro ancora. Se vogliamo avere tutte le caratteristiche dobbiamo acquistare la versione WorkStation.</p>
<p>Virtualbox come funzionalità è possibile paragonarlo alla versione WorkStation di VMware. Virtualbox è completamente gratuito.VirtualBox è un software di virtualizzazione commerciale proprietario (con una versione ridotta distribuita secondo i termini della GNU General Public License) per architettura x86 che supporta Windows, GNU/Linux e Mac OS X come sistemi operativi host, ed è in grado di eseguire Windows, GNU/Linux, OS/2 Warp, OpenBSD e FreeBSD come sistemi operativi guest. VirtualBox supporta la soluzione per la virtualizzazione hardware di Intel VT-x ed, in via sperimentale la soluzione di AMD, AMD-V.</p>
<p>Questo software ci permette di avere sul nostro client macchine virtuali. Significa che possiamo lavorare con il nostro Windows Seven oppure Ubuntu e far avviare una macchina virtuale per eseguire test con Windows XP o Suse Enterprise ecc.</p>
<h3>Note preliminari</h3>
<p>Per quanto riguarda le licenze Microsoft in merito alla virtualizzazione in giro si trovano risposte contrastanti. Per installazioni GNU\Linux invece siamo molto più liberi.</p>
<p>Faccio un esempio:</p>
<p>Portatile acquistato con windows preinstallato, abbiamo una  Licenza Seven OEM.</p>
<table border="1">
<tbody>
<tr>
<td>Riporto quanto descritto su microsoft.com</td>
</tr>
<tr>
<td>
<div><strong>D.</strong> I clienti possono trasferire o vendere le proprie licenze software OEM?</div>
<div id="block22">
<p><strong>R.</strong> Una licenza software OEM installata in un PC non può essere installata o trasferita in un altro PC. È comunque possibile trasferire l&#8217;intero PC a un altro utente finale, insieme ai diritti di licenza software. Insieme al PC è necessario trasferire anche i supporti, i manuali (se applicabili) e l&#8217;etichetta del Certificato di autenticità. È inoltre consigliabile includere la fattura o la ricevuta di acquisto originale. L&#8217;utente originale non potrà conservare una copia del software.</p>
</div>
</td>
</tr>
</tbody>
</table>
<p>Ciò significa che se facciamo una macchina virtuale e la spostiamo su un&#8217;altro pc che esegue un software di virtualizzazione violiamo le licenze di Microsoft. Inoltre stiamo utilizzando due licenze, perchè di fatto abbiamo due macchine distinte.</p>
<p>Riporto sempre una faq presa da microsoft.com</p>
<table border="1">
<tbody>
<tr>
<td>
<div><strong>D.</strong> Desideriamo creare un computer mediante un sistema operativo Windows OEM con funzionalità di avvio doppio. Il sistema utilizzerebbe la stessa versione di Windows per entrambe le partizioni/immagini di avvio.Avremo bisogno di due licenze diverse oppure potremo utilizzare la stessa licenza e lo stesso codice Product Key per entrambe le immagini/partizioni, dal momento che si trovano in un unico sistema che può eseguire un solo sistema operativo per volta?</div>
<div id="block15">
<p><strong>R.</strong> Un cliente che desidera installare Microsoft Windows in due partizioni dello stesso sistema avrà bisogno di due licenze software Windows per system builder OEM. In linea generale, il software OEM non consente l&#8217;utilizzo simultaneo di un PC da parte di due utenti finali.</p>
</div>
</td>
</tr>
</tbody>
</table>
<p>Utilizzando software sistemi GNU\Linux possiamo ignorare le questioni di licenza. Fatte le dovute premesse di carattere legale, passiamo alla parte pratica.</p>
<h3>Installazione</h3>
<p>Le videate e i comandi sono presi da un sistema Debian 6. La maggior parte dei sistemi client derivano da Debian quindi, le guide sono valide anche per le derivate come Ubuntu , Mint ecc.</p>
<p>Installiamo l&#8217;ultima versione disponibile di Virtualbox e <a href="https://www.virtualbox.org/wiki/Linux_Downloads" name="download">  scarichiamola<br />
</a>(note queste indicazioni sono valide anche per versioni differenti)</p>
<p>&nbsp;</p>
<p>da qui scegliamo la nostra distribuzione, oltre alla versione a 32 o 64bit in base all&#8217;hardware che abbiamo e del sistema operativo installato. Una volta scaricato avremo un pacchetto con estensione .deb facciamo click con il destro e selezioniamo &#8220;Apri con Gdebi Package Installer&#8221;</p>
<p><img alt="gdebi" src="http://www.miamammausalinux.org/wp-content/uploads/2013/01/gdebi.png" width="315" height="138" /></p>
<p>verrà richiesta la password per avere i permessi</p>
<p><img alt="passw" src="http://www.miamammausalinux.org/wp-content/uploads/2013/01/passw.png" width="315" height="272" /></p>
<p>in seguito avremo una finestra di riepilogo dove faremo click su &#8220;installa pacchetto&#8221;</p>
<p><img alt="installa" src="http://www.miamammausalinux.org/wp-content/uploads/2013/01/installa.png" width="450" height="346" /></p>
<p><img alt="install1" src="http://www.miamammausalinux.org/wp-content/uploads/2013/01/install1.png" width="450" height="207" /></p>
<p>Al termine l&#8217;installazione sarà completata. Adesso scarichiamo anche il pacchetto per aggiungere funzionalità al virtualbox (VirtualBox Extension Pack), come la possibilità di condividere facilmente cartelle fra il pc Host e la Vm guest. Una volta scaricato facciamo il doppio click sul pacchetto.</p>
<p><img alt="extra1" src="http://www.miamammausalinux.org/wp-content/uploads/2013/01/extra1.png" width="170" height="166" /></p>
<p>si avvierà la procedura che ci assisterà nell&#8217;installazione:</p>
<p><img alt="extra3" src="http://www.miamammausalinux.org/wp-content/uploads/2013/01/extra3.png" width="400" height="261" /></p>
<p>scegliamo &#8220;installa&#8221;:</p>
<p><img alt="extra4" src="http://www.miamammausalinux.org/wp-content/uploads/2013/01/extra4.png" width="400" height="314" /></p>
<p>scegliamo &#8220;accetta&#8221;:</p>
<p><img alt="extra5" src="http://www.miamammausalinux.org/wp-content/uploads/2013/01/extra5.png" width="359" height="142" /></p>
<p>Adesso a seconda della distribuzione che utilizziamo possiamo andare a ricercare l&#8217;icona per lanciare il programma. Sotto Debian lo troveremo in Applicazioni&gt;Strumenti di Sistema:</p>
<p><img alt="virtualbox" src="http://www.miamammausalinux.org/wp-content/uploads/2013/01/virtualbox.png" width="550" height="409" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.miamammausalinux.org/2013/02/installazione-di-virtualbox-su-debian-e-derivate/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Seminario &#8220;Evoluzione della virtualizzazione su Linux&#8221;: video uno e due &#8211; &#8220;Introduzione&#8221; e &#8220;Virtualizzazione&#8221;</title>
		<link>http://www.miamammausalinux.org/2013/01/seminario-evoluzione-della-virtualizzazione-su-linux-video-uno-e-due-introduzione-e-virtualizzazione/</link>
		<comments>http://www.miamammausalinux.org/2013/01/seminario-evoluzione-della-virtualizzazione-su-linux-video-uno-e-due-introduzione-e-virtualizzazione/#comments</comments>
		<pubDate>Wed, 16 Jan 2013 13:12:51 +0000</pubDate>
		<dc:creator>Raoul Scarazzini</dc:creator>
				<category><![CDATA[Clustering]]></category>
		<category><![CDATA[Corosync]]></category>
		<category><![CDATA[Heartbeat]]></category>
		<category><![CDATA[KVM]]></category>
		<category><![CDATA[Linux HA]]></category>
		<category><![CDATA[Pacemaker]]></category>
		<category><![CDATA[Seminari]]></category>
		<category><![CDATA[Virtualizzazione]]></category>

		<guid isPermaLink="false">http://www.miamammausalinux.org/?p=1793</guid>
		<description><![CDATA[Nella giornata del 29 giugno 2012, presso l&#8217;hotel Holiday Inn di Rho si è svolto il secondo seminario di miamammausalinux.org, intitolato quest&#8217;anno &#8220;Evoluzione della virtualizzazione su Linux&#8220;. Viste le numerose richieste ricevute e rispettando sempre la filosofia alla base del progetto miamammausalinux.org, il video del seminario viene proposto integralmente nelle sue parti, insieme alla documentazione [...]]]></description>
				<content:encoded><![CDATA[<p><img src="http://www.miamammausalinux.org/wp-content/uploads/2008/11/miamammausalinux_avatar.png" alt="" title="miamammausalinux" width="124" height="125" class="alignnone size-full wp-image-761" /></p>
<p>Nella giornata del 29 giugno 2012, presso l&#8217;hotel Holiday Inn di Rho si è svolto il secondo seminario di <em>miamammausalinux.org</em>, intitolato quest&#8217;anno &#8220;<strong>Evoluzione della virtualizzazione su Linux</strong>&#8220;.</p>
<p>Viste le numerose richieste ricevute e rispettando sempre la filosofia alla base del progetto <strong>miamammausalinux.org</strong>, il video del seminario viene proposto integralmente nelle sue parti, insieme alla documentazione fornita ai partecipanti.</p>
<p>Ecco le prime due parti.</p>
<p>Parte uno &#8211; &#8220;Presentazione ed introduzione al seminario&#8221;:</p>
<p><iframe width="420" height="315" src="http://www.youtube.com/embed/Uxs2y_IvGvE" frameborder="0" allowfullscreen></iframe></p>
<p>Parte due &#8211; &#8220;Introduzione alla virtualizzazione su Linux&#8221;:</p>
<p><iframe width="420" height="315" src="http://www.youtube.com/embed/DjaJ_X7kFFE" frameborder="0" allowfullscreen></iframe></p>
<p>Ed ecco il link alla documentazione:</p>
<div id="attachment_1795" class="wp-caption alignnone" style="width: 310px"><a href="http://www.miamammausalinux.org/wp-content/uploads/2013/01/20120629_MMUL_Evoluzione-della-virtualizzazione-su-Linux.pdf"><img src="http://www.miamammausalinux.org/wp-content/uploads/2013/01/20120629_MMUL_Evoluzione-della-virtualizzazione-su-Linux-300x224.png" alt="Scarica documentazione" width="300" height="224" class="size-medium wp-image-1795" /></a><p class="wp-caption-text">Scarica la documentazione!</p></div>
<p>La serie completa dei video di questo seminario:</p>
<ul>
<li>Seminario “Evoluzione della virtualizzazione su Linux”: <a href="http://www.miamammausalinux.org/2013/01/seminario-evoluzione-della-virtualizzazione-su-linux-video-uno-e-due-introduzione-e-virtualizzazione/" title="Prima parte">video uno e due – “Introduzione” e “Virtualizzazione&#8221;</a></li>
<li>Seminario “Evoluzione della virtualizzazione su Linux”: <a href="http://www.miamammausalinux.org/2013/02/seminario-evoluzione-della-virtualizzazione-su-linux-video-tre-kvm-libvirt-e-qemu" title="Seconda parte">video tre – “KVM, Libvirt e QEMU&#8221;</a></li>
</ul>
<p>Il canale Youtube di MiaMammaUsaLinux: <a href="http://www.youtube.com/user/MiaMammaUsaLinux" title="http://www.youtube.com/user/MiaMammaUsaLinux" target="_blank">http://www.youtube.com/user/MiaMammaUsaLinux</a></p>
<p><em>Un ringraziamento particolare a <strong>Lorenzo</strong>, per il costante e preziosissimo supporto video che ci ha permesso di condividere l&#8217;evento con quanti non sono riusciti a partecipare.</em></p>
<p><strong>Buona visione!</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://www.miamammausalinux.org/2013/01/seminario-evoluzione-della-virtualizzazione-su-linux-video-uno-e-due-introduzione-e-virtualizzazione/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Centralizzare i log mediante Elasticsearch, Logstash e Kibana</title>
		<link>http://www.miamammausalinux.org/2013/01/centralizzare-i-log-mediante-elasticsearch-logstash-e-kibana/</link>
		<comments>http://www.miamammausalinux.org/2013/01/centralizzare-i-log-mediante-elasticsearch-logstash-e-kibana/#comments</comments>
		<pubDate>Tue, 08 Jan 2013 11:13:53 +0000</pubDate>
		<dc:creator>Raoul Scarazzini</dc:creator>
				<category><![CDATA[Log]]></category>
		<category><![CDATA[Sistema]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Utility]]></category>

		<guid isPermaLink="false">http://www.miamammausalinux.org/?p=1736</guid>
		<description><![CDATA[&#160;&#160;&#160;&#160;&#160;&#160; Uno dei principali problemi che si rilevano in fase di debug delle anomalie relative ad applicazioni è la frammentazione delle informazioni. Tanti log, buona parte dei quali inutili, sono sparsi ovunque nelle macchine interessate all&#8217;erogazione di questo o quel servizio. Tipicamente quando si tratta di servizi ripartiti su più macchine è sempre necessario aprire [...]]]></description>
				<content:encoded><![CDATA[<p><img src="http://www.miamammausalinux.org/wp-content/uploads/2012/12/elasticsearch.png" alt="Elasticsearch" width="322" height="100" class="alignnone size-full wp-image-1739" />&nbsp;&nbsp;&nbsp;<img src="http://www.miamammausalinux.org/wp-content/uploads/2012/12/logstash.png" alt="Logstash" width="63" height="100" class="alignnone size-full wp-image-1737" />&nbsp;&nbsp;&nbsp;<img src="http://www.miamammausalinux.org/wp-content/uploads/2012/12/kibana.png" alt="Kibana" width="100" height="100" class="alignnone size-full wp-image-1738" /></p>
<p>Uno dei principali problemi che si rilevano in fase di debug delle anomalie relative ad applicazioni è la frammentazione delle informazioni. Tanti log, buona parte dei quali inutili, sono sparsi ovunque nelle macchine interessate all&#8217;erogazione di questo o quel servizio.<br />
Tipicamente quando si tratta di servizi ripartiti su più macchine è sempre necessario aprire diverse console all&#8217;interno delle quali, per ciascuna macchina, il (o i) file di log vengono aperti, filtrati stampati e via così, sino ad ottenere una situazione degna di Sherlock Holmes, in cui solo consumati ed abili detective riescono a trovare l&#8217;indizio che sfugge ai più.</p>
<p>Esiste però una via migliore per gestire enormi quantità di log in una forma centralizzata, facilmente ricercabile e che usi un&#8217;interfaccia gradevole. Si tratta della combinazione di tre software: <strong>Elasticsearch</strong>, <strong>Logstash</strong> e <strong>Kibana</strong>.</p>
<p><strong>Prerequisiti: Java e spazio</strong></p>
<p>Elasticsearch e Logstash sono software scritti in java e per funzionare necessitano appunto dell&#8217;ambiente operativo omonimo, disponibile per tutte le maggiori distribuzioni Linux.<br />
Per verificare se java è installato nel sistema utilizzato è sufficiente lanciare il comando:</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="console" style="font-family:monospace;">root@logstash:~# java -version
java version &quot;1.6.0_35&quot;
Java(TM) SE Runtime Environment (build 1.6.0_35-b10)
Java HotSpot(TM) 64-Bit Server VM (build 20.10-b01, mixed mode)</pre></td></tr></table></div>

<p>La versione del sistema in questione è 1.6.0_35. Se non si dovesse disporre di java sarà possibile recuperarlo dal sito ufficiale, presso il seguente <a href="http://www.java.com/it/" title="Sito ufficiale Java" target="_blank">link</a>.</p>
<p>Da considerare in fase preliminare è anche la questione spazio. Nel progetto descritto verrà creata la cartella <em>/logs</em>:</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="console" style="font-family:monospace;">root@logstash:~# mkdir /logs</pre></td></tr></table></div>

<p>all&#8217;interno della quale verranno registrate tutte e tre le directory relative ai componenti del progetto.<br />
E&#8217; chiaro come in base alla quantità prevista di log che dovranno essere archiviati, in particolare per Elasticsearch che conterrà fisicamente le informazioni, a tale cartella potrà essere destinato più o meno spazio, dedicando all&#8217;occorrenza una partizione specifica od un mount di rete che consenta di non saturare il disco locale.</p>
<p><strong>Elasticsearch: il motore di ricerca</strong></p>
<p>La prima componente necessaria alla realizzazione del progetto descritto è Elasticsearch. Questo software si pone come un motore di ricerca dal veloce setup ed all&#8217;interno del quale è possibile registrare e ricercare informazioni in forma rapida e standard.<br />
La release attuale di Elasticsearch (elasticsearch-0.20.2.tar.gz) è recuperabile presso il sito ufficiale del progetto <a href="http://www.elasticsearch.org/download/" title="Sito ufficiale Elasticsearch" target="_blank">http://www.elasticsearch.org/download/</a> ed è installabile mediante i seguenti semplici passi:</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="console" style="font-family:monospace;">root@logstash:~# cd /logs
root@logstash:/logs# tar -xf /where/you/downloaded/elasticsearch-0.20.2.tar.gz</pre></td></tr></table></div>

<p>La decompressione dell&#8217;archivio ha comportato la creazione della cartella elasticsearch-0.20.2 che contiene tutto il necessario per far funzionare Elasticsearch a dovere:</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="console" style="font-family:monospace;">root@logstash:/logs# ls elasticsearch-0.20.2
bin  config  lib  LICENSE.txt  NOTICE.txt  README.textile</pre></td></tr></table></div>

<p>Considerando di voler mantenere le configurazioni di default, funzionali agli scopi del progetto descritto, è già possibile lanciare il programma:</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="console" style="font-family:monospace;">root@logstash:/logs# /logs/elasticsearch-0.20.2/bin/elasticsearch</pre></td></tr></table></div>

<p>Il comando dovrebbe restituire immediatamente la console dalla quale sarà possibile capire cosa sta succedendo all&#8217;interno del sistema:</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="console" style="font-family:monospace;">root@logstash:/logs# ps -ef|grep elasticsearch
root     29924     1  0 14:48 pts/0    00:00:03 java -Xms256m -Xmx1g -Xss256k -Djava.awt.headless=true -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatingOccupancyOnly -XX:+HeapDumpOnOutOfMemoryError -Delasticsearch -Des.path.home=/logs/elasticsearch-0.20.2 -cp :/logs/elasticsearch-0.20.2/lib/elasticsearch-0.20.2.jar:/logs/elasticsearch-0.20.2/lib/*:/logs/elasticsearch-0.20.2/lib/sigar/* org.elasticsearch.bootstrap.ElasticSearch</pre></td></tr></table></div>

<p>E&#8217; stato quindi avviato il processo java, il cui PID 29924 può essere utilizzato per capire quali porte sono state aperte:</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="console" style="font-family:monospace;">root@logstash:/logs# netstat -nlp | grep 29924
tcp6       0      0 :::9300                 :::*                    LISTEN      29924/java      
tcp6       0      0 :::9200                 :::*                    LISTEN      29924/java      
udp6       0      0 :::54328                :::*                                29924/java</pre></td></tr></table></div>

<p>Elasticsearch è quindi operativo e pronto a svolgere la funzione di motore di ricerca per le informazioni che verranno fornite da Logstash.</p>
<p><strong>Logstash: l&#8217;accentratore di log</strong></p>
<p>Tipicamente, al fine di centralizzare i log, è necessario predisporre una componente in ascolto (denominata &#8220;server&#8221;) e tante componenti client che vi scrivono (denominate &#8220;client&#8221;) quante sono le macchine di cui si necessita l&#8217;archiviazione dei log.<br />
Nel progetto descritto la componente che permetterà di fornire una destinazione per tutti i log dalle varie locazioni di rete è Logstash.<br />
Logstash è disponibile presso il sito ufficiale <a href="http://logstash.net/" title="Sito ufficiale Logstash" target="_blank">http://logstash.net/</a> in forma di file jar. Per predisporne al meglio l&#8217;utilizzo sarà necessario creare una cartella omonima all&#8217;interno della quale lo stesso file e le future configurazioni verranno registrate:</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="console" style="font-family:monospace;">root@logstash:/logs# mkdir logstash
root@logstash:/logs# cd logstash
root@logstash:/logs/logstash# cp /where/you/downloaded/logstash-1.1.7-monolithic.jar .</pre></td></tr></table></div>

<p>Sebbene il file .jar di Logstash possa svolgere indifferentemente la funzione di server e client (a variarne il comportamento è la configurazione), nel setup implementato verrà predisposta una sola istanza Logstash in modalità server mentre su tutti i client per i quali si vorranno recuperare i log verrà configurato il sistema standard dei log Linux (rsyslog) affinché archivi direttamente sull&#8217;istanza Logstash.<br />
In questo modo in primo luogo non sarà necessario configurare una componente Logstash per ciascun client, con notevole risparmio sui tempi di setup, ed inoltre le performance di tutti i client non verranno impattate in alcuna forma poiché verrà utilizzato un programma già in esecuzione quale rsyslog.</p>
<p>La struttura del file di configurazione di Logstash, un file di testo che potrà essere chiamato ad esempio <em>/logs/logstash/logstash-server.conf</em>, che verrà utilizzata inizialmente è molto semplice:</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="console" style="font-family:monospace;">input {
       tcp {
               type =&gt; syslog
               port =&gt; 5544
       }
}
&nbsp;
filter {
}
&nbsp;
output { 
  elasticsearch { }
}</pre></td></tr></table></div>

<p>Analizzare le tre sezioni consente di scattare una fotografia alla sequenza di funzionamento di Logstash:</p>
<ul>
<li><strong>input</strong>: dichiara da <em>DOVE</em> Logstash accetterà informazioni. In questo caso viene dichiarata una tipologia di ascolto &#8220;tcp&#8221;, che corrisponde ad una modalità di servizio (syslog) e ad una porta (5544). In questa sezione è possibile ad esempio accettare input da <em>stdin</em> (input da terminale) o persino da twitter!</li>
<li><strong>filter</strong>: dichiara <em>COSA</em> bisogna fare dei log che arrivano. Inizialmente verranno accettati indiscriminatamente tutti i log pervenuti in input alla macchina</li>
<li><strong>filter</strong>: dichiara <em>DOVE</em> verranno posti i log una volta elaborati. Nel caso illustrato i log verranno passati al servizio elasticsearch (mediante la porta 9200, la default). E&#8217; possibile ad esempio destinare i log anche ad stdout (il terminale) o addirittura direttamente a strumenti di monitor come <em>Nagios</em>!</li>
</ul>
<p>Tutte le modalità operative di Logstash relative ad input, filter ed output sono descritte alla pagina <a href="http://logstash.net/docs/1.1.7/" title="Logstash wiki page" target="_blank">http://logstash.net/docs/1.1.7/</a>.</p>
<p>Terminata la creazione del file di configurazione è possibile lanciare per la prima volta Logstash:</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="console" style="font-family:monospace;">root@logstash:/logs/logstash# nohup java -jar logstash-1.1.7-monolithic.jar agent -f logstash-server.conf &amp;
[1] 10031
nohup: ignoring input and appending output to `nohup.out'</pre></td></tr></table></div>

<p><em>Nota: il comando java viene lanciato mediante nohup, che consente di mantenere in esecuzione il programma anche all&#8217;uscita dalla console.</em></p>
<p>Come nel caso di Elasticsearch per capire se logstash è avviato correttamente e risulta in ascolto alla porta 5544 come da configurazione è sufficiente lanciare i seguenti comandi:</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="console" style="font-family:monospace;">root@logstash:/logs/logstash# ps -ef|grep logstash
root     10031  4402 24 17:10 pts/0    00:00:29 java -jar logstash-1.1.7-monolithic.jar agent -f logstash-server.conf
root     10448  4402  0 17:12 pts/0    00:00:00 grep --color=auto logstash
root@logstash:/logs/logstash# netstat -nltp | grep 10031
tcp6       0      0 :::9301                 :::*                    LISTEN      10031/java      
tcp6       0      0 :::5544                 :::*                    LISTEN      10031/java</pre></td></tr></table></div>

<p>L&#8217;output certifica quanto fatto: Logstash è in ascolto presso la porta 5544.<br />
Per completare la configurazione di tutte le componenti interessate all&#8217;archiviazione dei log non rimane che utilizzare un client rsyslog affinché scriva i propri log all&#8217;interno dell&#8217;istanza  Logstash appena configurata.<br />
Scelta la macchina, sarà sufficiente modificarne il file /etc/rsyslog.conf aggiungendo alla fine del file la seguente direttiva:</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="console" style="font-family:monospace;">...
...
*.* @@logstash:5544</pre></td></tr></table></div>

<p>le quale indica al sistema di dirigere tutti i messaggi di log (*.*) mediante il protocollo tcp (@@) all&#8217;host logstash (che DEVE essere un fqdn, un nome risolto correttamente dal sistema o un indirizzo IP) alla porta 5544.<br />
Effettuando il reload del servizio rsyslog le informazioni dovrebbero cominciare ad affluire al server Logstash. E&#8217; possibile forzare la scrittura di uno specifico log dalla macchina client in modo da avere una corrispondenza specifica per verifiche future, mediante il comando <em>logger</em>:</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="console" style="font-family:monospace;">user@remote:~# logger TEST</pre></td></tr></table></div>

<p><strong>Kibana: visualizzare e ricercare quanto registrato</strong></p>
<p>Ora che il setup del motore di ricerca e del software di centralizzazione dei log è completo non rimane che capire come consultare le informazioni registrate. Il software adatto a questo scopo è Kibana, un&#8217;applicazione ruby scaricabile dal sito http://kibana.org.<br />
Il file di archivio scaricabile dal sito dovrebbe avere un nome simile a &#8220;rashidkpc-Kibana-v0.2.0-35-g40f2512.tar.gz&#8221; e l&#8217;installazione potrà essere eseguita in due semplici passi:</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="console" style="font-family:monospace;">root@logstash:/logs# tar -xf rashidkpc-Kibana-v0.2.0-35-g40f2512.tar.gz
root@logstash:/logs# cd rashidkpc-Kibana-v0.2.0-35-g40f2512
root@logstash:/logs/rashidkpc-Kibana-40f2512# gem install bundler
Successfully installed bundler-1.2.3
1 gem installed
Installing ri documentation for bundler-1.2.3...
Installing RDoc documentation for bundler-1.2.3...
root@logstash:/logs/rashidkpc-Kibana-40f2512# bundle install
Fetching gem metadata from http://rubygems.org/.........
Fetching gem metadata from http://rubygems.org/..
Using rake (10.0.3) 
Using daemons (1.1.9) 
Using diff-lcs (1.1.3) 
Installing eventmachine (1.0.0) with native extensions 
Installing fastercsv (1.5.5) 
Installing json (1.7.5) with native extensions 
Installing rack (1.4.1) 
Installing rack-protection (1.2.0) 
Installing tilt (1.3.3) 
Installing sinatra (1.3.3) 
Installing thin (1.5.0) with native extensions 
Installing tzinfo (0.3.35) 
Using kibana (0.0.1) from source at . 
Installing rspec-core (2.11.1) 
Installing rspec-expectations (2.11.3) 
Installing rspec-mocks (2.11.3) 
Installing rspec (2.11.0) 
Using bundler (1.2.3) 
Your bundle is complete! Use `bundle show [gemname]` to see where a bundled gem is installed.</pre></td></tr></table></div>

<p>In caso vengano segnalati errori di questo tipo:</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="console" style="font-family:monospace;">root@logstash:/logs/rashidkpc-Kibana-40f2512# bundle install
Fetching gem metadata from http://rubygems.org/.........
Fetching gem metadata from http://rubygems.org/..
Installing rake (10.0.3) 
Installing daemons (1.1.9) 
Installing diff-lcs (1.1.3) 
Installing eventmachine (1.0.0) with native extensions 
Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.
&nbsp;
        /usr/bin/ruby1.8 extconf.rb 
extconf.rb:2:in `require': no such file to load -- mkmf (LoadError)
	from extconf.rb:2
&nbsp;
&nbsp;
Gem files will remain installed in /var/lib/gems/1.8/gems/eventmachine-1.0.0 for inspection.
Results logged to /var/lib/gems/1.8/gems/eventmachine-1.0.0/ext/gem_make.out
An error occurred while installing eventmachine (1.0.0), and Bundler cannot continue.
Make sure that `gem install eventmachine -v '1.0.0'` succeeds before bundling.</pre></td></tr></table></div>

<p>E&#8217; presumibile che il sistema non possieda alcuni dei pacchetti necessari alla compilazione di Kibana, ad esempio su sistemi &#8220;Ubuntu Lucid&#8221; è necessario aggiungere i segeunti pacchetti:</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="console" style="font-family:monospace;">root@logstash:/logs/rashidkpc-Kibana-40f2512# apt-get install build-essential libopenssl-ruby ruby1.8-dev</pre></td></tr></table></div>

<p>Ad installazione completata, prima di avviare Kibana, per fare in modo che il servizio sia in ascolto su tutti gli indirizzi della macchina sarà necessario modificare all&#8217;interno del file KibanaConfig.rb la seguente riga:</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="console" style="font-family:monospace;">  KibanaHost = '127.0.0.1'</pre></td></tr></table></div>

<p>in</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="console" style="font-family:monospace;">  KibanaHost = '0.0.0.0'</pre></td></tr></table></div>

<p>Ed infine avviare il programma con il seguente comando:</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="console" style="font-family:monospace;">root@logstash:/logs/rashidkpc-Kibana-40f2512# ruby kibana.rb
== Sinatra/1.3.3 has taken the stage on 5601 for development with backup from Thin
&gt;&gt; Thin web server (v1.5.0 codename Knife)
&gt;&gt; Maximum connections set to 1024
&gt;&gt; Listening on 127.0.0.1:5601, CTRL+C to stop</pre></td></tr></table></div>

<p>Da questo momento in poi l&#8217;interfaccia Kibana sarà disponibile all&#8217;indirizzo http://logstash:5601/:</p>
<div id="attachment_1771" class="wp-caption alignnone" style="width: 310px"><a href="http://www.miamammausalinux.org/2013/01/centralizzare-i-log-mediante-elasticsearch-logstash-e-kibana/kibana-1/" rel="attachment wp-att-1771"><img src="http://www.miamammausalinux.org/wp-content/uploads/2013/01/kibana-1-300x275.png" alt="Kibana, l&#039;interfaccia principale" width="300" height="275" class="size-medium wp-image-1771" /></a><p class="wp-caption-text">Kibana, l&#8217;interfaccia principale</p></div>
<p>Mediante la casella di ricerca sarà possibile indicare cosa cercare, nel nostro caso, digitando <em>TEST</em>, troveremo l&#8217;occorrenza precedentemente forzata:</p>
<div id="attachment_1774" class="wp-caption alignnone" style="width: 310px"><a href="http://www.miamammausalinux.org/2013/01/centralizzare-i-log-mediante-elasticsearch-logstash-e-kibana/kibana-2/" rel="attachment wp-att-1774"><img src="http://www.miamammausalinux.org/wp-content/uploads/2013/01/kibana-2-300x275.png" alt="Kibana, il risultato di una ricerca" width="300" height="275" class="size-medium wp-image-1774" /></a><p class="wp-caption-text">Kibana, il risultato di una ricerca</p></div>
<p>Il formato di ricerca è lo standard <a href="http://lucene.apache.org/core/old_versioned_docs/versions/2_9_1/queryparsersyntax.html" title="Lucene query parser syntax" target="_blank">Lucene</a> e si presta ad ogni tipo di query possibile.</p>
<p><strong>Conclusioni</strong></p>
<p>E&#8217; facile capire come con questa breve panoramica l&#8217;argomento dell&#8217;archiviazione centralizzata dei log sia stato solo marginalmente sfiorato.<br />
Esiste un&#8217;enorme quantità di varianti che possono essere applicate al sistema, in primis per quanto riguarda l&#8217;aspetto filter che non è stato trattato. E&#8217; possibile sfruttare Logstash per assegnare <em>tag</em> specifici ai log selezionati, in modo da effettuare raggruppamenti, statistiche e grafici mediante Kibana.<br />
Le evolutive sono pressoché infinite.</p>
<p><strong>Nota finale sull&#8221;interfaccia nativa di logstash</strong></p>
<p>Logstash possiede anche una web interface inclusa nel programma stesso, questa è attivabile mediante il seguente comando:</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="console" style="font-family:monospace;">root@logstash:/logs/logstash# java -jar logstash-1.1.7-monolithic.jar web --backend elasticsearch:///?local</pre></td></tr></table></div>

<p>Dopo qualche secondo il programma attiverà la porta 9292 che sarà accessibile mediante il browser all&#8217;indirizzo http://logstash:9292/search:</p>
<div id="attachment_1777" class="wp-caption alignnone" style="width: 310px"><a href="http://www.miamammausalinux.org/2013/01/centralizzare-i-log-mediante-elasticsearch-logstash-e-kibana/logstash_1/" rel="attachment wp-att-1777"><img src="http://www.miamammausalinux.org/wp-content/uploads/2013/01/logstash_1-300x275.png" alt="Logstash, interfaccia web nativa" width="300" height="275" class="size-medium wp-image-1777" /></a><p class="wp-caption-text">Logstash, interfaccia web nativa</p></div>
<p>Rispetto a Kibana l&#8217;interfaccia nativa risulta più essenziale ed inoltre necessita di una configurazione particolare della sezione elasticsearch di logstash (senza indicare <em>embed => true</em> questa non funzionerà).<br />
La scelta su quale interfaccia risulti più utile è sempre dell&#8217;utente finale.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.miamammausalinux.org/2013/01/centralizzare-i-log-mediante-elasticsearch-logstash-e-kibana/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Introduzione a OpenDS: un directory Ldap sviluppato in Java</title>
		<link>http://www.miamammausalinux.org/2012/10/introduzione-a-opends-un-directory-ldap-sviluppato-in-java/</link>
		<comments>http://www.miamammausalinux.org/2012/10/introduzione-a-opends-un-directory-ldap-sviluppato-in-java/#comments</comments>
		<pubDate>Sat, 13 Oct 2012 18:37:39 +0000</pubDate>
		<dc:creator>Fiorenza Meini</dc:creator>
				<category><![CDATA[Database]]></category>
		<category><![CDATA[OpenLDAP]]></category>

		<guid isPermaLink="false">http://www.miamammausalinux.org/?p=1635</guid>
		<description><![CDATA[Opends è un directory Ldap sviluppato in Java, il quale implementa un&#8217;ampia gamma delle funzionalità LDAP ( Lightweight Directory Access Protocol) e dei relativi standard. Inoltre è pienamente compatibile con LDAPv3 , supporta il Directory Service Markup Language (DSMLv2), prevede la replica multi master, implementa le policy di accesso (ACL) ed offre molte estensioni. Solitamente un [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.miamammausalinux.org/wp-content/uploads/2012/08/OpenDS_logo.png"><img src="http://www.miamammausalinux.org/wp-content/uploads/2012/08/OpenDS_logo.png" alt="" width="155" height="49" /></a></p>
<p>Opends è un directory Ldap sviluppato in Java, il quale implementa un&#8217;ampia gamma delle funzionalità LDAP ( Lightweight Directory Access Protocol) e dei relativi standard. Inoltre è pienamente compatibile con LDAPv3 , supporta il Directory Service Markup Language (DSMLv2), prevede la replica multi master, implementa le policy di accesso (ACL) ed offre molte estensioni.</p>
<p style="text-align: justify">Solitamente un directory Ldap viene utilizzato come rubrica condivisa, ed i contatti contenuti sono estratti dal programma di posta elettronica tramite delle query, che prevedono la visualizzazione solo delle voci trovate, non dell&#8217;intero contenuto della rubrica. Il fatto di non avere a disposizione l&#8217;elenco completo del contenuto di una rubrica è piuttosto fastidioso. OpenDS supporta nativamente l&#8217;estensione VLV (Virtual List Viewer), che consente la visualizzazione dei contatti come elenco, esattamente come se fosse una rubrica locale solo in lettura. Solo i programmi di posta che supportano questa funzionalità potranno beneficiare di questa particolarità di OpenDS, ad esempio Microsoft Outlook.</p>
<p><strong>Vediamo come si procede con l&#8217;installazione.</strong></p>
<ul>
<li>Creare sul sistema un utente con il quale si vuole far girare il directory Ldap  e posizionare la sua home in un punto del file system di sistema più opportuno, secondo la sua struttura;</li>
</ul>
<ul>
<li>Scaricare l&#8217;ultima versione disponibile (.zip): <a href="http://java.net/downloads/opends/promoted-builds/2.2.1/OpenDS-2.2.1.zip" target="_blank">http://java.net/downloads/opends/promoted-builds/2.2.1/OpenDS-2.2.1.zip</a></li>
</ul>
<ul>
<li>Scompattare l&#8217;archivio; viene creata una cartella &#8220;OpenDS-&lt;versione&gt;&#8221;.</li>
</ul>
<ul>
<li>All&#8217;interno della cartella scompattata c&#8217;è l&#8217;ambiente di lavoro del directory; eseguendo il comando ./setup &#8211;cli  parte l&#8217;installazione del servizio in modalità testuale. Senza il parametro &#8211;cli l&#8217;installazione avviene con interfaccia grafica.</li>
</ul>
<ul>
<li>In fase di installazione bisogna fornire le seguenti informazioni</li>
</ul>
<ul>
<li> Password del directory Manager</li>
<li> DN del directory (ad esempio dc=example,dc=com)</li>
<li> Porta di ascolto del servizio: se l&#8217;utente non è root  viene proposta la porta 1389</li>
</ul>
<p>Di seguito vengono riportate le schermate presentate in fase di installazione, dopo aver digitato il comando ./setup &#8211;cli :</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="console" style="font-family:monospace;">OpenDS Directory Server 2.2.1
&nbsp;
Please wait while the setup program initializes...
&nbsp;
What would you like to use as the initial root user DN for the Directory
Server? [cn=Directory Manager]: cn=Manager
Please provide the password to use for the initial root user:
Please re-enter the password for confirmation:
On which port would you like the Directory Server to accept connections from LDAP clients? [1389]:</pre></td></tr></table></div>

<p>Porta di ascolto proposta di default se l&#8217;installazione non viene eseguita come utente root</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="console" style="font-family:monospace;">On which port would you like the Administration Connector to accept connections? [4444]:</pre></td></tr></table></div>

<p>Porta di ascolto del servizio di amministrazione</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="console" style="font-family:monospace;">What do you wish to use as the base DN for the directory data? [dc=example,dc=com]:
&nbsp;
1) Only create the base entry
2) Leave the database empty
3) Import data from an LDIF file
4) Load automatically-generated sample data
&nbsp;
Enter choice [1]: 1</pre></td></tr></table></div>

<p>Selezionare l&#8217;opzione 1 per creare la struttura necessaria di base</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="console" style="font-family:monospace;">Do you want to enable SSL? (yes / no) [no]:
Do you want to enable Start TLS? (yes / no) [no]:
Do you want to start the server when the configuration is completed? (yes /no) [yes]:
&nbsp;
Setup Summary
&nbsp;
=============
&nbsp;
LDAP Listener Port: 1389
&nbsp;
Administration Connector Port: 4444
&nbsp;
LDAP Secure Access: disabled
&nbsp;
Root User DN: cn=Manager
&nbsp;
Directory Data: Create New Base DN dc=example,dc=com
&nbsp;
Base DN Data: Only Create Base Entry (dc=example,dc=com)
&nbsp;
Start Server when the configuration is completed
&nbsp;
What would you like to do?
&nbsp;
1) Setup the server with the parameters above
&nbsp;
2) Provide the setup parameters again
&nbsp;
3) Cancel the setup
&nbsp;
Enter choice [1]: 1</pre></td></tr></table></div>

<p>E&#8217; possibile spostare la directory che contiene effettivamente la struttura dati in un altro punto del file system, semplicemente linkandolo.<br />
Il database si trova nella cartella db all&#8217;interno della directory di installazione di OpenDS.<br />
Il comando per avviare il directory è <em>bin/start-ds</em>.<br />
Il comando per fermare il directory è <em>bin/stop-ds.</em></p>
<p>Il log si trovano nella cartella logs presente nella cartella di installazione di OpenDS.</p>
<p><strong>Vediamo ora come si gestisce il directory appena installato</strong></p>
<p>Esistono due interfacce per gestire il directory: una testuale e l&#8217;altra grafica; entrambe possono essere eseguite da una macchina remota.<br />
Nella cartella bin, presente nella directory di installazione di OpenDS, sono presenti vari eseguibili, tra questi ci sono dsconfig e control-panel, che sono rispettivamente l&#8217;interfaccia testuale e l&#8217;interfaccia grafica.</p>
<p>Screenshot di dsconfig:</p>
<p><a href="http://www.miamammausalinux.org/wp-content/uploads/2012/08/dsconfigmenu.png"><img src="http://www.miamammausalinux.org/wp-content/uploads/2012/08/dsconfigmenu.png" alt="" width="557" height="422" /></a></p>
<p>Screenshot di control-panel:</p>
<p><a href="http://www.miamammausalinux.org/wp-content/uploads/2012/08/VideataControlPanel.png"><img src="http://www.miamammausalinux.org/wp-content/uploads/2012/08/VideataControlPanel.png" alt="" width="541" height="627" /></a></p>
<p>Tramite questo pannello è possibile:</p>
<ul>
<li>Gestire la struttura del directory (Manage Entries)</li>
<li>Importare ed esportare file ldif (Import/export Ldif)</li>
<li>Gestire il backup e schedularlo (Backup)</li>
<li>Ricostruire gli indici (Index)</li>
<li>Gestire lo schema del directory (Schema)</li>
</ul>
<p><strong>Conclusioni</strong></p>
<p>OpenDS è un directory facilmente installabile  e gestibile, ed offre pannelli di gestione completi sia per chi è alla prima esperienza, sia per chi vuole ottimizzarlo al massimo e sfruttarlo per altre soluzioni che richiedono Ldap come backend, ad esempio la gestione degli accessi e l&#8217;autenticazione.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.miamammausalinux.org/2012/10/introduzione-a-opends-un-directory-ldap-sviluppato-in-java/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
