modifiche file MD (#1)
Some checks failed
Vulnerability Scan / Daily Vulnerability Scan (push) Failing after 6s
Container Publish / build-image (push) Failing after 1m5s

Modificato vari file index.md, aggiunto immagini di locandine, file .pdf dove linkati all'interno del testo.
I file sono inseriti nella stessa cartella contenente l'index.md a cui fanno riferimento.
Il controllo ha interessato tutti i file contenuti nella cartella /content ad eccezione di quelli contenuti nella sottocartella /posts.

Co-authored-by: paspo <paolo@asperti.com>
Reviewed-on: #1
Reviewed-by: Paolo Asperti <paspo@noreply.libreschool.org>
Co-authored-by: omartek <olazzari@gmail.com>
Co-committed-by: omartek <olazzari@gmail.com>
This commit is contained in:
omar 2024-06-20 15:40:17 +00:00 committed by Paolo Asperti
parent bc0b63acc3
commit 43c75b4e6d
211 changed files with 1564 additions and 2262 deletions

3
.gitignore vendored
View File

@ -1,3 +1,4 @@
public/
resources/
.hugo_build.lock
.hugo_build.lock
.obsidian/

BIN
content/about/Statuto.pdf Normal file

Binary file not shown.

View File

@ -7,12 +7,38 @@ aliases:
- /chi-siamo
---
Siamo persone che credono nel significato del **software libero e opensource** (FOSS) che va ben oltre l'aspetto meramente tecnico o economico.
Il **BgLUG** è unAssociazione culturale non a scopo di lucro le cui finalità principali sono la diffusione del software libero, del sistema operativo Linux in particolare, e laggregazione degli utenti della provincia di Bergamo di questo sistema.
Crediamo nel significato del **software libero e opensource** (FOSS) che va ben oltre l'aspetto meramente tecnico o economico.
Pensiamo che i principi di condivisione della conoscenza che stanno alla base del software libero e opensource siano formativi ed educativi. Per questo motivo riteniamo che le scuole *in primis* dovrebbero adottarlo e ci proponiamo di supportare quelle che vogliono intraprendere questo percorso.
Il progetto nasce ad inizio 2015 all'interno del [Bergamo Linux Users Group (BgLUG)](https://bglug.it), un'associazione di volontari appassionati di **GNU/Linux** e **software libero** che opera sul territorio di Bergamo dal lontano 2001.
### Mailing List
Un punto importante di riferimento per lattività del BgLUG è la mailing list.
È possibile iscriversi attraverso [questa pagina](http://lists.linux.it/listinfo/bglug) immettendo il proprio indirizzo email e una password.
### Consiglio Direttivo
È possibile contattare il [Consiglio Direttivo](/organigramma) allindirizzo <info@bglug.it>. Si prega di utilizzare questo indirizzo solo per questioni amministrative e di usare la mailing list per qualsiasi altro scopo.
### Mattermost
Un altro strumenti di comunicazione del gruppo è una chat collaborativa basata sulla soluzione _opensource_ [Mattermost](https://mattermost.com/). E' possibile iscriversi liberamente ai canali pubblici da questo [link](https://chat.libreschool.org/signup_user_complete/?id=9cnb7f56wtn7xn5foe88kkomby).
### Statuto
Per capire meglio quali sono gli scopi e come funziona il BgLUG ti consigliamo di leggere lo [Statuto](content/about/Statuto.pdf).
### Informazioni Legali
Bergamo Linux Users Group associazione culturale senza fini di lucro
Via Elba, 3 - 24122 Bergamo (BG)
C.F. 95128590163
## Contatti e Riferimenti
E-mail address: [info(at)libreschool.org](mailto:info@libreschool.org)

View File

@ -23,7 +23,7 @@ Una volta raccolti tutti gli interventi proposti, il BgLUG formalizzerà il prog
Per poter presentare un argomento al Linux Day, esso deve essere riconducibile a GNU/Linux, al software libero o alle attività di promozione del software libero, alla soluzione di problematiche tecniche o meno con l'utilizzo di tali software, alla condivisione delle informazioni, ai meccanismi di copyright/copyleft o al sistema di licenze del software libero.
L'[argomento del Linux Day][1] di quest'anno è la privacy e la riservatezza individuale. _Perché tutti abbiamo qualcosa da nascondere: i fatti nostri._
L'[argomento del Linux Day](https://www.linuxday.it/) di quest'anno è la privacy e la riservatezza individuale. _Perché tutti abbiamo qualcosa da nascondere: i fatti nostri._
## Richiesta argomenti
@ -48,17 +48,3 @@ Vista la grande affluenza di studenti degli istituti tecnici superiori della cit
* **Sessione divulgativa**: solitamente corrisponde alla prima parte del Linux Day, dalle 9.00 alle 13.00 circa. All'interno di questo periodo di tempo, l'affluenza agli interventi risulta essere appannaggio di persone non tecniche, quindi si preferisce dare visibilità agli interventi meno tecnici durante la mattina;
* **Sessione tecnica**: durante le ore pomeridiane (14.00-18.00) è invece più forte la presenza dei tecnici che partecipano alle attività del Linux Day. Pertanto, gli argomenti più difficoltosi o che richiedono una certa knowledge vengono programmati per il pomeriggio.
&nbsp;
* * *
&nbsp;
<center>
<br />
</center>
&nbsp;
[1]: http://www.linuxday.it/

View File

@ -1,12 +0,0 @@
---
title: Call For Volunteers Download Event
author: Paolo Finardi
type: page
date: 2019-08-24T13:05:51+00:00
---
Per favore compila le informazioni sotto indicate se vuoi darci una mano al **Download Event**.
Grazie
[contact-form-7 id="2295" title="Call for Volunteers Download Event"]

View File

@ -1,34 +0,0 @@
---
title: Chi siamo
author: Mangia
type: page
date: 2008-02-08T01:34:43+00:00
---
Il BgLUG è unAssociazione culturale non a scopo di lucro le cui finalità principali sono la diffusione del software libero, del sistema operativo Linux in particolare, e laggregazione degli utenti della provincia di Bergamo di questo sistema.
### Mailing List
Un punto importante di riferimento per lattività del BgLUG è la mailing list.
È possibile iscriversi attraverso [questa pagina][1]&nbsp;immettendo il proprio indirizzo email e una password.
### Consiglio Direttivo
È possibile contattare il [Consiglio Direttivo][2] allindirizzo <info@bglug.it>. Si prega di utilizzare questo indirizzo solo per questioni amministrative e di usare la mailing list per qualsiasi altro scopo.
### Mattermost
Un altro strumenti di comunicazione del gruppo è una chat collaborativa basata sulla soluzione _opensource_ <a href="https://mattermost.com/" target="_blank" rel="noopener noreferrer">Mattermost</a>. E' possibile iscriversi liberamente ai canali pubblici da questo <a href="https://chat.libreschool.org/signup_user_complete/?id=9cnb7f56wtn7xn5foe88kkomby" target="_blank" rel="noopener noreferrer">link</a>.
### Statuto
Per capire meglio quali sono gli scopi e come funziona il BgLUG ti consigliamo di leggere lo <a href="http://www.bglug.it/wp-content/uploads/2008/02/Statuto.pdf" rel="">Statuto</a>.
### Informazioni Legali
Bergamo Linux Users Group associazione culturale senza fini di lucro
Via Elba, 3 24122 Bergamo (BG)
C.F. 95128590163
[1]: http://lists.linux.it/listinfo/bglug "Mailing list BgLUG"
[2]: http://www.bglug.it/chisiamo/organigramma/

View File

@ -3,26 +3,28 @@ title: BG Code Jam
author: Mangia
type: page
date: 2010-01-07T09:56:06+00:00
draft: true
categories:
- Bergamo Code Jam
- News
tags:
- annuncio
- bcj
- cod jam
- manifesto
---
<img loading="lazy" decoding="async" class="size-medium wp-image-291 alignleft" title="Il logo del Bergamo Code Jam" src="http://bglug.it/wp-content/uploads/2010/02/logo_bcj-300x25.png" alt="Il logo del Bergamo Code Jam" width="300" height="25" srcset="https://bglug.it/wp-content/uploads/2010/02/logo_bcj-300x25.png 300w, https://bglug.it/wp-content/uploads/2010/02/logo_bcj.png 600w" sizes="(max-width: 300px) 100vw, 300px" />
<div style="margin-left: 40%;">
<p>
<em><span style="font-size: x-small;">To achieve great things, two things are needed; a plan, and not quite enough time.</span></em>
</p>
<p>
<span style="font-size: x-small;"><a href="http://it.wikipedia.org/wiki/Leonard_Bernstein"><em>Leonard Bernstein</em></a></span>
</p>
</div>
![](logo_bcj-300x25.png)
### <a name="L_idea_31885931361466646_56657_30472954106517136"></a>L'idea
> _To achieve great things, two things are needed; a plan, and not quite enough time._
> **Leonard Bernstein**
## L'idea
L'idea alla base del **I Bergamo Code Jam** è quella di diffondere la cultura del Software Libero attraverso una giornata in cui **programmatori professionisti e semplici appassionati** si possano incontrare per condividere idee, scambiarsi consigli e produrre qualcosa insieme.
Come? Attraverso l'apertura di un bando per proposte di sviluppo di software, per un periodo di tempo limitato. Tra queste idee sono scelte quelle più interessanti e più rispondenti ad alcuni requisiti descritti [più avanti in questa pagina][1]. Durante la giornata gruppi di appassionati volontari si impegneranno per dare forma a questi progetti.
Come? Attraverso l'apertura di un bando per proposte di sviluppo di software, per un periodo di tempo limitato. Tra queste idee sono scelte quelle più interessanti e più rispondenti ad alcuni requisiti descritti [più avanti in questa pagina](#divertente-ed-originale-utilità). Durante la giornata gruppi di appassionati volontari si impegneranno per dare forma a questi progetti.
L'evento **non** è pensato per essere divulgativo quanto l'ormai classico Linux Day. L'obiettivo è quello di sperimentare una forma di lavoro collaborativo, dando nuovi stimoli alla propria voglia di imparare.
@ -30,17 +32,17 @@ Non si tratta nemmeno di una gara, se non con se stessi. Non ci saranno premi, n
Tutto quello che si riuscirà a produrre durante la giornata sarà rilasciato secondo una delle varie licenze disponibili per il Software Libero. I gruppi di lavoro che si formeranno spontaneamente saranno incoraggiati a continuare l'attività anche dopo la giornata, contribuendo in senso più ampio alle comunità già esistenti.
### Dettagli della giornata
## Dettagli della giornata
#### Data
### Data
27 marzo 2010
#### Sede
### Sede
[Sede della Facoltà di Ingegneria dell'Università degli Studi di Bergamo, in via Marconi 5 a Dalmine][2]
[Sede della Facoltà di Ingegneria dell'Università degli Studi di Bergamo, in via Marconi 5 a Dalmine](http://maps.google.it/maps?f=q&source=s_q&hl=it&geocode=&q=ingegneria+via+marconi+5+dalmine&sll=41.442726,12.392578&sspn=15.077598,27.685547&ie=UTF8&hq=&hnear=Ingegneria,+Viale+Guglielmo+Marconi,+5,+24044+Dalmine+Bergamo,+Lombardia&ll=45.650768,9.598532&spn=0.027479,0.054073&t=h&z=14&iwloc=A)
#### Altre scadenze
### Altre scadenze
* **13 e 20 gennaio 2010**: corso di GIT, tenuto da Flavio Castelli, sviluppatore, utile per prepararsi all'evento;
* **27 gennaio 2010**: scadenza del bando per la presentazione di progetti;
@ -49,55 +51,39 @@ Tutto quello che si riuscirà a produrre durante la giornata sarà rilasciato se
* **10 marzo 2010**: introduzione a Python, di e con Dario Bertini;
* **17 marzo 2010**: introduzione a CakePHP, di e con Giuseppe Capizzi;
#### Per informazioni
## Per informazioni
Scrivere a **info(at)bglug.it** oppure rivolgersi alla Mailing List dell'associazione
#### <a name="Progetti_condivisi_09326333110"></a>Progetti condivisi
## Progetti condivisi
Il mondo del software libero potrebbe essere riassunto in questo aforisma di George Bernard Shaw: _"Se tu hai una mela, e io ho una mela, e ce le scambiamo, allora tu ed io abbiamo sempre una mela per uno. Ma se tu hai un'idea, ed io ho un'idea, e ce le scambiamo, allora abbiamo entrambi due idee"_. Per questo il BCJ non potrebbe esistere senza una **condivisione di idee**, in cui chiunque potrà partecipare: esprimendo un desiderio, tirando fuori dal cassetto un sogno informatico per cui magari non c'è mai stato il tempo, spronando la comunità perchè migliori se stessa e diventi più attiva. Tutto questo si può fare, basta avere un po' di buona volontà per compilare l'**[apposito form di invio idee][3] (ora chiuso)**!
Il mondo del software libero potrebbe essere riassunto in questo aforisma di George Bernard Shaw: _"Se tu hai una mela, e io ho una mela, e ce le scambiamo, allora tu ed io abbiamo sempre una mela per uno. Ma se tu hai un'idea, ed io ho un'idea, e ce le scambiamo, allora abbiamo entrambi due idee"_. Per questo il BCJ non potrebbe esistere senza una **condivisione di idee**, in cui chiunque potrà partecipare: esprimendo un desiderio, tirando fuori dal cassetto un sogno informatico per cui magari non c'è mai stato il tempo, spronando la comunità perchè migliori se stessa e diventi più attiva. Tutto questo si può fare, basta avere un po' di buona volontà per compilare l'**[apposito form di invio idee](https://tinyurl.com/bcj10-idee) (ora chiuso)**!
#### <a name="Liberi_programmatori_liberi_tu"></a>Liberi programmatori, liberi tutti
## Liberi programmatori, liberi tutti
Il BGlug conta tra le sue fila alcuni programmatori professionisti, diversi appassionati che si cimentano con il codice nel tempo libero, vari smanettoni ansiosi di imparare cose nuove, e perchè no, anche persone che non sapendo scrivere una sola riga di codice hanno comunque molto da dire. Questo è valido anche fuori dal LUG, ovviamente. Ed è proprio per questo che il BCJ non avrà limiti d'accesso: chiunque potrà prendervi parte gratuitamente, con le proprie competenze e la propria voglia di mettersi in gioco. I progetti dovranno essere sviluppati, d'accordo, ma avranno anche bisogno di essere promossi sul web, di essere tradotti, di essere documentati.
#### <a name="Divertente_ed_originale_utilit"></a>Divertente ed originale utilità
## Divertente ed originale utilità
<div>
I progetti proposti per il BCJ saranno valutati in base a tre criteri:
</div>
<div>
<ul>
<li>
<strong>originalità</strong>: cerchiamo idee innovative, capaci di portare una ventata di freschezza nel panorama del software libero. Progetti in grado di cambiare il mondo? Magari no, ma chissà...
</li>
<li>
<strong>utilità</strong>: scrivere una calcolatrice in notazione polacca inversa potrebbe anche essere originale, ma forse non è quello di cui potremmo avere bisogno qui ed ora. Meglio partire da qualcosa di più utile, che possa essere usato per uno scopo concreto e particolare.
</li>
<li>
<strong>fattibilità</strong>: ok, a molti il nuovo VMware non piace e Virtualbox dà sempre problemi con l'USB.. però scrivere da capo un nuovo software per macchine virtuali è un po' troppo per una sola giornata. Saranno scelti progetti che possano prendere forma in poco tempo, anche se poi ovviamente sarà possibile (e caldamente consigliato) portarli avanti in autonomia dopo il Code Jam.
</li>
</ul>
</div>
- **originalità**: cerchiamo idee innovative, capaci di portare una ventata di freschezza nel panorama del software libero. Progetti in grado di cambiare il mondo? Magari no, ma chissà...
- **utilità**: scrivere una calcolatrice in notazione polacca inversa potrebbe anche essere originale, ma forse non è quello di cui potremmo avere bisogno qui ed ora. Meglio partire da qualcosa di più utile, che possa essere usato per uno scopo concreto e particolare.
- **fattibilità**: ok, a molti il nuovo VMware non piace e Virtualbox dà sempre problemi con l'USB.. però scrivere da capo un nuovo software per macchine virtuali è un po' troppo per una sola giornata. Saranno scelti progetti che possano prendere forma in poco tempo, anche se poi ovviamente sarà possibile (e caldamente consigliato) portarli avanti in autonomia dopo il Code Jam.
### <a name="Come_funzioner_416169700212776"></a>Come funzionerà
#### <a name="Prima_la_selezione_dei_progett"></a>Prima: la selezione dei progetti
## Come funzionerà
### Prima: la selezione dei progetti
Le proposte potranno essere inviate entro e non oltre il 21 gennaio 2010. Entro la settimana successiva, in occasione della riunione del BGlug di mercoledì 27 gennaio 2010, saranno comunicati i progetti selezionati per essere oggetto di lavoro durante il BCJ.
#### <a name="Durante_la_partecipazione"></a>Durante: la partecipazione
### Durante: la partecipazione
IL BCJ si svolgerà in una giornata, indicativamente tra la metà e la fine di marzo 2010, dalle 9.00 alle 17.00. Durante la mattinata sarà possibile partecipare a brevi seminari di presentazione dei progetti. Tutto il tempo rimasto dopo i seminari sarà dedicato al lavoro di gruppo, eccetto l'ultima ora della giornata. Questa sarà riservata ad una dimostrazione di quanto prodotto durante le ore di lavoro all'interno dei vari gruppi.
La partecipazione, come già detto, sarà libera e gratuita. Gli interessati possono compilare fin da ora [**questo modulo**][4]{#z9b-} per aiutarci a fare un censimento delle risorse e delle conoscenze presenti.
La partecipazione, come già detto, sarà libera e gratuita. Gli interessati possono compilare fin da ora [**questo modulo**](https://tinyurl.com/bcj10-persone) per aiutarci a fare un censimento delle risorse e delle conoscenze presenti.
#### <a name="Dopo_la_creazione_di_comunit_d"></a>Dopo: la creazione di comunità di sviluppo
### Dopo: la creazione di comunità di sviluppo
Lavorare ad un progetto Open Source richiede grande dedizione: una giornata sola non può bastare, i software vanno mantenuti, debuggati, migliorati. Per questo il BGlug incoraggerà i gruppi a continuare a riunirsi (in qualsiasi forma, reale o virtuale) anche dopo l'evento. Il LUG continuerà a fornire supporto ai gruppi intenzionati a continuare con il proprio lavoro anche nei mercoledì successivi all'evento.
[1]: #Divertente_ed_originale_utilit
[2]: http://maps.google.it/maps?f=q&source=s_q&hl=it&geocode=&q=ingegneria+via+marconi+5+dalmine&sll=41.442726,12.392578&sspn=15.077598,27.685547&ie=UTF8&hq=&hnear=Ingegneria,+Viale+Guglielmo+Marconi,+5,+24044+Dalmine+Bergamo,+Lombardia&ll=45.650768,9.598532&spn=0.027479,0.054073&t=h&z=14&iwloc=A
[3]: http://tinyurl.com/bcj10-idee
[4]: http://tinyurl.com/bcj10-persone "questo modulo"
Lavorare ad un progetto Open Source richiede grande dedizione: una giornata sola non può bastare, i software vanno mantenuti, debuggati, migliorati. Per questo il BGlug incoraggerà i gruppi a continuare a riunirsi (in qualsiasi forma, reale o virtuale) anche dopo l'evento. Il LUG continuerà a fornire supporto ai gruppi intenzionati a continuare con il proprio lavoro anche nei mercoledì successivi all'evento.

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 430 B

View File

@ -3,31 +3,24 @@ title: Bergamo Code Jam 2011
author: giuseppe
type: page
date: 2011-03-04T16:58:27+00:00
draft: true
categories:
- Bergamo Code Jam
- News
tags:
- annuncio
- bcj
- cod jam
- manifesto
wordbooker_options:
- 'a:23:{s:23:"wordbook_default_author";s:1:"0";s:23:"wordbook_extract_length";s:3:"256";s:26:"wordbooker_publish_default";s:2:"on";s:27:"wordbooker_like_button_show";s:2:"on";s:25:"wordbooker_like_share_too";s:2:"on";s:27:"wordbooker_like_button_post";s:2:"on";s:27:"wordbooker_like_button_page";s:2:"on";s:25:"wordbook_fbshare_location";s:3:"top";s:24:"wordbook_fblike_location";s:3:"top";s:22:"wordbook_fblike_action";s:9:"recommend";s:27:"wordbook_fblike_colorscheme";s:4:"dark";s:20:"wordbook_fblike_font";s:5:"arial";s:22:"wordbook_fblike_button";s:12:"button_count";s:21:"wordbook_fblike_faces";s:5:"false";s:18:"wordbook_attribute";s:31:"Posted a new post on their blog";s:29:"wordbook_republish_time_frame";s:2:"10";s:24:"wordbooker_status_update";s:2:"on";s:29:"wordbooker_status_update_text";s:50:": Nuovo post sul blog bglug.it! - %title% - %link%";s:19:"wordbook_actionlink";s:3:"300";s:20:"wordbook_comment_get";s:2:"on";s:21:"wordbook_comment_push";s:2:"on";s:18:"wordbook_page_post";s:4:"-100";s:18:"wordbook_orandpage";s:1:"2";}'
- 'a:23:{s:23:"wordbook_default_author";s:1:"0";s:23:"wordbook_extract_length";s:3:"256";s:26:"wordbooker_publish_default";s:2:"on";s:27:"wordbooker_like_button_show";s:2:"on";s:25:"wordbooker_like_share_too";s:2:"on";s:27:"wordbooker_like_button_post";s:2:"on";s:27:"wordbooker_like_button_page";s:2:"on";s:25:"wordbook_fbshare_location";s:3:"top";s:24:"wordbook_fblike_location";s:3:"top";s:22:"wordbook_fblike_action";s:9:"recommend";s:27:"wordbook_fblike_colorscheme";s:4:"dark";s:20:"wordbook_fblike_font";s:5:"arial";s:22:"wordbook_fblike_button";s:12:"button_count";s:21:"wordbook_fblike_faces";s:5:"false";s:18:"wordbook_attribute";s:31:"Posted a new post on their blog";s:29:"wordbook_republish_time_frame";s:2:"10";s:24:"wordbooker_status_update";s:2:"on";s:29:"wordbooker_status_update_text";s:50:": Nuovo post sul blog bglug.it! - %title% - %link%";s:19:"wordbook_actionlink";s:3:"300";s:20:"wordbook_comment_get";s:2:"on";s:21:"wordbook_comment_push";s:2:"on";s:18:"wordbook_page_post";s:4:"-100";s:18:"wordbook_orandpage";s:1:"2";}'
---
<div style="margin-left: 40%;">
<p>
<em><span style="font-size: x-small;">To achieve great things, two things are needed; a plan, and not quite enough time.</span></em>
</p>
<p>
<span style="font-size: x-small;"><a href="http://it.wikipedia.org/wiki/Leonard_Bernstein"><em>Leonard Bernstein</em></a></span>
</p>
<p>
<span style="font-size: x-small;"> </span>
</p>
<p>
&nbsp;
</p>
</div>
### L'idea
> _To achieve great things, two things are needed; a plan, and not quite enough time._
> **Leonard Bernstein**
## L'idea
L'idea alla base del **Bergamo Code Jam**, che nel 2011 è alla seconda edizione, è quella di diffondere la cultura del Software Libero attraverso una giornata in cui **programmatori professionisti e semplici appassionati** si possano incontrare per condividere idee, scambiarsi consigli e produrre qualcosa insieme.
@ -37,29 +30,30 @@ L'evento **non** è pensato per essere divulgativo quanto l'ormai classico Linux
Non si tratta nemmeno di una gara, se non con se stessi. Non ci saranno premi, né vincitori, né vinti.
Tutto quello che si riuscirà a produrre durante la giornata sarà rilasciato secondo una delle varie licenze disponibili per il Software Libero. I gruppi di lavoro che si formeranno spontaneamente saranno incoraggiati a iniziare da subito l'attività di sviluppo e a continuarla anche dopo la giornata, contribuendo in senso più ampio alle comunità già esistenti.<figure id="attachment_566" class="thumbnail wp-caption alignright" style="width: 165px">
Tutto quello che si riuscirà a produrre durante la giornata sarà rilasciato secondo una delle varie licenze disponibili per il Software Libero. I gruppi di lavoro che si formeranno spontaneamente saranno incoraggiati a iniziare da subito l'attività di sviluppo e a continuarla anche dopo la giornata, contribuendo in senso più ampio alle comunità già esistenti.
[<img loading="lazy" decoding="async" class="size-full wp-image-566" title="bcj011" src="http://bglug.it/wp-content/uploads/2011/03/bcj011.png" alt="QRcode con il link alla pagina dell'evento Bergamo Code Jam 2011" width="155" height="155" srcset="https://bglug.it/wp-content/uploads/2011/03/bcj011.png 155w, https://bglug.it/wp-content/uploads/2011/03/bcj011-150x150.png 150w" sizes="(max-width: 155px) 100vw, 155px" />][1]<figcaption class="caption wp-caption-text">Link ottimizzato per cellulari</figcaption></figure>
Link ottimizzato per cellulari.
![](bcj011.png)
### Dettagli della giornata
## Dettagli della giornata
#### Data
### Data
**7 Maggio 2011** (potrebbe subire cambiamenti minimi, nel range di una o due settimane)
#### Sede
### Sede
In via di definizione
#### Progetti condivisi
### Progetti condivisi
Il mondo del software libero potrebbe essere riassunto in questo aforisma di George Bernard Shaw: _"Se tu hai una mela, e io ho una mela, e ce le scambiamo, allora tu ed io abbiamo sempre una mela per uno. Ma se tu hai un'idea, ed io ho un'idea, e ce le scambiamo, allora abbiamo entrambi due idee"_. Per questo il BCJ non potrebbe esistere senza una **condivisione di idee**, in cui chiunque potrà partecipare: esprimendo un desiderio, tirando fuori dal cassetto un sogno informatico per cui magari non c'è mai stato il tempo, spronando la comunità perchè migliori se stessa e diventi più attiva. Tutto questo _si può fare_, basta avere un po' di buona volontà per compilare l'[**apposito form di invio idee**][2]! La pagina sarà attiva **dal 9 marzo al 13 aprile 2011**.
Il mondo del software libero potrebbe essere riassunto in questo aforisma di George Bernard Shaw: _"Se tu hai una mela, e io ho una mela, e ce le scambiamo, allora tu ed io abbiamo sempre una mela per uno. Ma se tu hai un'idea, ed io ho un'idea, e ce le scambiamo, allora abbiamo entrambi due idee"_. Per questo il BCJ non potrebbe esistere senza una **condivisione di idee**, in cui chiunque potrà partecipare: esprimendo un desiderio, tirando fuori dal cassetto un sogno informatico per cui magari non c'è mai stato il tempo, spronando la comunità perchè migliori se stessa e diventi più attiva. Tutto questo _si può fare_, basta avere un po' di buona volontà per compilare l'[**apposito form di invio idee**](https://tinyurl.com/bcj11-idee)! La pagina sarà attiva **dal 9 marzo al 13 aprile 2011**.
#### Liberi programmatori, liberi tutti
### Liberi programmatori, liberi tutti
Il BGlug conta tra le sue fila alcuni programmatori professionisti, diversi appassionati che si cimentano con il codice nel tempo libero, vari smanettoni ansiosi di imparare cose nuove, e perchè no, anche persone che non sapendo scrivere una sola riga di codice hanno comunque molto da dire. Questo è valido anche fuori dal LUG, ovviamente. Ed è proprio per questo che il BCJ non avrà limiti d'accesso: chiunque potrà prendervi parte gratuitamente, con le proprie competenze e la propria voglia di mettersi in gioco. I progetti dovranno essere sviluppati, d'accordo, ma avranno anche bisogno di essere promossi sul web, di essere tradotti, di essere documentati.
### Divertente ed originale utilità
## Divertente ed originale utilità
I progetti proposti per il BCJ saranno valutati in base a tre criteri:
@ -67,26 +61,22 @@ I progetti proposti per il BCJ saranno valutati in base a tre criteri:
* **utilità**: scrivere una calcolatrice in notazione polacca inversa potrebbe anche essere originale, ma forse non è quello di cui potremmo avere bisogno qui ed ora. Meglio partire da qualcosa di più utile, che possa essere usato per uno scopo concreto e particolare;
* **fattibilità**: ok, a molti il nuovo VMware non piace e Virtualbox dà sempre problemi con l'USB.. però scrivere da capo un nuovo software per macchine virtuali è un po' troppo per una sola giornata (ma anche per un periodo di alcune settimane). Saranno scelti progetti che possano prendere forma in poco tempo, anche se poi ovviamente sarà possibile (e caldamente consigliato) portarli avanti in autonomia dopo il Code Jam.
### Come funzionerà
## Come funzionerà
#### Prima: la selezione dei progetti
### Prima: la selezione dei progetti
Le proposte potranno essere inviate entro e non oltre il 13 aprile 2011. Durante la settimana successiva saranno scelti i progetti selezionati per essere oggetto di lavoro durante il BCJ.
#### Durante: la partecipazione
### Durante: la partecipazione
IL BCJ si svolgerà in un'unica giornata, dalle 9.00 alle 17.00. Durante la mattinata, dopo una rapida riunione plenaria, si inizierà con il lavoro di gruppo. L'ultima ora della giornata sarà riservata ad una dimostrazione di quanto prodotto durante le ore di lavoro all'interno dei vari gruppi.
La partecipazione, come già detto, sarà libera e gratuita. Gli interessati possono compilare fin da ora il [**il modulo di iscrizione**][3]{#z9b-} per aiutarci a fare un censimento delle risorse e delle conoscenze presenti.
La partecipazione, come già detto, sarà libera e gratuita. Gli interessati possono compilare fin da ora il [**il modulo di iscrizione**](https://tinyurl.com/bcj11-persone) per aiutarci a fare un censimento delle risorse e delle conoscenze presenti.
#### Dopo: la creazione di comunità di sviluppo
### Dopo: la creazione di comunità di sviluppo
Lavorare ad un progetto Open Source richiede grande dedizione: una giornata sola non può bastare, i software vanno mantenuti, debuggati, migliorati. Per questo il BGlug incoraggerà i gruppi a continuare a riunirsi (in qualsiasi forma, reale o virtuale) anche dopo l'evento. Il LUG continuerà a fornire supporto ai gruppi intenzionati a continuare con il proprio lavoro anche nei mercoledì successivi all'evento.
#### Per informazioni
### Per informazioni
Scrivere a **info(at)bglug.it** oppure rivolgersi alla Mailing List dell'associazione
[1]: http://bglug.it/wp-content/uploads/2011/03/bcj011.png
[2]: http://tinyurl.com/bcj11-idee
[3]: http://tinyurl.com/bcj11-persone "questo modulo"

BIN
content/dove-siamo/OSM.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 725 KiB

View File

@ -5,10 +5,10 @@ type: page
date: 2015-09-29T12:54:05+00:00
---
Il **Bergamo Linux Users Group** si ritrova ogni **martedì** dalle 21.00 alle 23.00 e il **sabato** dalle 15.00 alle 19.00 presso la sede del <a href="https://www.fablabbergamo.it/" target="_blank" rel="noopener noreferrer">FABLAB</a> a Bergamo in **via Mauro Gavazzeni nr. 3** .
Il **Bergamo Linux Users Group** si ritrova ogni **martedì** dalle 21.00 alle 24.00 e il **sabato** dalle 15.00 alle 19.00 presso la sede del [FABLAB](https://www.fablabbergamo.it/) a Bergamo in **via Mauro Gavazzeni nr. 3** .
Eventuali modifiche/chiusure temporanee verranno comunicate in **[Mailing List][1]**.
Eventuali modifiche/chiusure temporanee verranno comunicate in **[Mailing List](/chi-siamo)**.
<small><a href="https://www.openstreetmap.org/?mlat=45.68751&mlon=9.67364#map=18/45.68751/9.67364">Visualizza mappa ingrandita</a></small>
[Apri la posizione su Openstreetmap](https://www.openstreetmap.org/node/4712453185)
[![Clicca l'immagine](OSM.png)](https://www.openstreetmap.org/node/4712453185)
[1]: http://www.bglug.it/chisiamo/ "Chi siamo"

View File

@ -3,8 +3,7 @@ title: Eventi
author: Enrico Bacis
type: page
date: 2016-02-10T23:15:35+00:00
draft: true
xyz_smap:
- 1
---
<meta http-equiv="refresh" content="0; url=http://bglug.it/events" />

View File

@ -3,11 +3,11 @@ title: Farfalla
author: Mangia
type: page
date: 2010-03-17T19:26:12+00:00
---
### L'idea
Questo progetto si propone di costruire un framework web in grado di **innalzare il livello di accessibilità dei siti web** e di offrire agli utenti **metodi nuovi per la fruizione e la creazione di contenuti**.
Questo progetto si propone di costruire un framework web in grado di **innalzare il livello di accessibilità dei siti web** e di offrire agli utenti **metodi nuovi per la fruizione e la creazione di contenuti**.
La prospettiva da cui il progetto parte è quella di fornire agli utenti strumenti leggeri, flessibili e che non necessitino installazione, per essere usabili anche in un sistema di cui non si abbia il controllo completo.
@ -19,14 +19,14 @@ Il progetto include varie parti, per le quali sarà necessario utilizzare differ
* **Database** con le preferenze degli utenti
* **MySQL** come database relazionale;
* **PHP** per costruire l'interfaccia web di gestione, utilizzando il framework **CakePHP**;
* sistema di **iniezione** del codice, con metodi alternativi da usare in diverse situazioni, in base al livello di permessi sulla macchina
* **Bookmarklet** in **Javascript**;
* plugin per i differenti browser (script di **GreaseMonkey**/**GreaseKit**, plugin per Firefox in **XUL**, plugin per Explorer);
* **Proxy trasparente** basato su **Squid** oppure scritto ad hoc (in **Ruby** o in altro linguaggio di programmazione).
* **PHP** per costruire l'interfaccia web di gestione, utilizzando il framework **CakePHP**;
* sistema di **iniezione** del codice, con metodi alternativi da usare in diverse situazioni, in base al livello di permessi sulla macchina
* **Bookmarklet** in **Javascript**;
* plugin per i differenti browser (script di **GreaseMonkey**/**GreaseKit**, plugin per Firefox in **XUL**, plugin per Explorer);
* **Proxy trasparente** basato su **Squid** oppure scritto ad hoc (in **Ruby** o in altro linguaggio di programmazione).
* **overlay** da applicare ai siti visitati
* interfaccia di attivazione dei plugin in **jQuery**+**CSS**;
* plugin in **jQuery**+**CSS**+altri eventuali linguaggi di scripting web (di preferenza PHP, ma attraverso chiamate **AJAX** sarà possibile includere virtualmente qualsiasi applicazione web).
* interfaccia di attivazione dei plugin in **jQuery**+**CSS**;
* plugin in **jQuery**+**CSS**+altri eventuali linguaggi di scripting web (di preferenza PHP, ma attraverso chiamate **AJAX** sarà possibile includere virtualmente qualsiasi applicazione web).
### Esempi di casi d'uso

View File

@ -3,17 +3,16 @@ title: Sede di Gazzaniga
author: Mangia
type: page
date: 2008-02-12T23:24:21+00:00
draft: true
---
### In breve..
Il BgLUG ha anche una sede staccata che si trova presso l'**Oratorio Maschile Sacro Cuore di Gazzaniga, in [via Cesare Battisti, 65][1]**. Le riunioni si svolgono di norma ogni **martedì sera dalle 20:30 presso la sede.**
### In breve
Il BgLUG ha anche una sede staccata che si trova presso l'[**Oratorio Maschile Sacro Cuore di Gazzaniga, in via Cesare Battisti, 65**](http://maps.google.it/maps?f=q&hl=it&geocode=&q=via+cesare+battisti+65+gazzaniga&sll=41.442726,12.392578&sspn=14.186277,44.472656&ie=UTF8&ll=45.794564,9.831476&spn=0.006448,0.021715&z=16&iwloc=addr)**. Le riunioni si svolgono di norma ogni **martedì sera dalle 20:30 presso la sede.**
Eventuali annullamenti o spostamenti vengono generalmente comunicati tramite la Mailing List della sede.
E' disponibile una **Mailing List della sede di Gazzaniga** raggiungibile attraverso l'indirizzo bglugvs ( a t ) lists.linux.it . L'iscrizione/disiscrizione puo' essere fatta attraverso [l'interfaccia Web][2] oppure via mail (bglugvs-subscribe ( a t ) lists.linux.it per iscriversi e bglugvs-unsubscribe ( a t ) lists.linux.it per cancellarsi).
E' disponibile una **Mailing List della sede di Gazzaniga** raggiungibile attraverso l'indirizzo bglugvs(at)lists.linux.it. L'iscrizione/disiscrizione puo' essere fatta attraverso [l'interfaccia Web](http://lists.linux.it/listinfo/bglugvs) oppure via mail (bglugvs-subscribe(at)lists.linux.it per iscriversi e bglugvs-unsubscribe(at)lists.linux.it per cancellarsi).
Per qualsiasi informazione o curiosità potete scrivere in Mailing List oppure direttamente al responsabile: [Angelo Gelmi][3]
Per qualsiasi informazione o curiosità potete scrivere in Mailing List oppure direttamente al responsabile: [Angelo Gelmi](mailto:angelo@web3king.com)
### Comunicato
@ -26,7 +25,3 @@ Gli incontri si tengono ogni martedi dalle 20.30 presso l'oratorio di Gazzaniga
Particolare attenzione è posta per i nuovi arrivati e novizi, ai quali si cerca di spiegare nel modo più chiaro possibile cosa è la filosofia del Free Software e cosa sta alla base del funzionamento del nostro sistema operativo preferito.
Inoltre si conducono serate a tema anche denominate "wikinaria", nelle quali un relatore seguendo documentazione scaricata online sviscera l'argomento del giorno, mentre gli altri partecipanti possono intervenire con precisazioni, domande, commenti rendendo così la serata meno scolaresca e più focalizzata alle esigenze dei partecipanti.
[1]: http://maps.google.it/maps?f=q&hl=it&geocode=&q=via+cesare+battisti+65+gazzaniga&sll=41.442726,12.392578&sspn=14.186277,44.472656&ie=UTF8&ll=45.794564,9.831476&spn=0.006448,0.021715&z=16&iwloc=addr "Mappa della sede di Gazzaniga"
[2]: http://lists.linux.it/listinfo/bglugvs
[3]: mailto:angelo@web3king.com

View File

@ -3,6 +3,7 @@ title: Immagini
author: Mangia
type: page
date: 2008-02-15T19:20:20+00:00
draft: true
xyz_smap:
- 1

View File

@ -4,5 +4,4 @@ author: Mangia
type: page
date: 2008-02-15T19:20:13+00:00
draft: true
---

Binary file not shown.

View File

@ -3,306 +3,58 @@ title: Linux Day 2009
author: Mangia
type: page
date: 2009-07-15T10:58:44+00:00
draft: true
wiki_page:
- 1
- 1
wiki_page_toc:
- 1
- 1
---
L'edizione 2009 del Linux Day si svolgerà come gli anni precedenti presso la **facoltà di Ingegneria** dell'**Università degli Studi di Bergamo**, in **via Marconi** a **Dalmine**.
L'ingresso è libero e gratuito, l'evento consiste in una serie di seminari e workshop sul tema del Software Libero ed in generale del movimento Open Source in tutte le sue declinazioni.
È possibile **registrarsi preventivamente** all'evento compilando **[questo form][1]**.
È possibile **registrarsi preventivamente** all'evento compilando **[questo form](http://spreadsheets.google.com/viewform?hl=it&formkey=dFRxRzlXeDYtUEVCM1pDRXU0YjIzZ0E6MA)**.
[**Qui**][2] è invece disponibile la **locandina ufficiale** dell'evento.
[**Qui** è invece disponibile la **locandina ufficiale**](bozza_locandina_ld09.pdf) dell'evento.
### Programma Seminari e Workshop
#### MATTINO - Aula A
<table class=" table table-hover" border="1">
<tr>
<td>
<strong>Titolo</strong>
</td>
<td>
<strong>Speaker</strong>
</td>
<td>
<strong>Ore</strong>
</td>
</tr>
<tr>
<td>
Presentazione dell'università
</td>
<td>
un docente unibg
</td>
<td>
9.30-9.45
</td>
</tr>
<tr>
<td>
Cos'è il LUG - Cos'è l'Open Source
</td>
<td>
Antonio Milesi
</td>
<td>
9.45-10.00
</td>
</tr>
<tr>
<td>
Come l'open source puo' semplificarvi la vita
</td>
<td>
Ermanno Novali
</td>
<td>
10.00-10.45
</td>
</tr>
<tr>
<td>
Ma con Linux posso fare le stesse cose che faccio con Windows?
</td>
<td>
Flavio Castelli, Andrea Mangiatordi
</td>
<td>
11.00-11.30
</td>
</tr>
<tr>
<td>
Trashware
</td>
<td>
Giuseppe Capizzi
</td>
<td>
11.30-12.15
</td>
</tr>
<tr>
<td>
Eclipse
</td>
<td>
Angelo Gargantini
</td>
<td>
12.15-13.00
</td>
</tr>
</table>
| **Titolo** | **Speaker** | **Ore** |
| -------------------------------------------------------------- | ----------------------------------- | ----------- |
| Presentazione dell'università | un docente unibg | 9.30-9.45 |
| Cos'è il LUG - Cos'è l'Open Source | Antonio Milesi | 9.45-10.00 |
| Come l'open source puo' semplificarvi la vita | Ermanno Novali | 10.00-10.45 |
| Ma con Linux posso fare le stesse cose che faccio con Windows? | Flavio Castelli, Andrea Mangiatordi | 11.00-11.30 |
| Trashware | Giuseppe Capizzi | 11.30-12.15 |
| Eclipse | Angelo Gargantini | 12.15-13.00 |
#### MATTINO - Aula B
<table class=" table table-hover" border="1">
<tr>
<td>
<strong>Titolo</strong>
</td>
<td>
<strong>Speaker</strong>
</td>
<td>
<strong>Ore</strong>
</td>
</tr>
<tr>
<td>
Le idee del software libero nella vita quotidiana
</td>
<td>
Alberto Bonacina
</td>
<td>
11.30-12.15
</td>
</tr>
<tr>
<td>
Come dare il proprio contributo al mondo dell'open source
</td>
<td>
Flavio Castelli
</td>
<td>
12.15-13.00
</td>
</tr>
</table>
| **Titolo** | **Speaker** | **Ore** |
| --------------------------------------------------------- | ---------------- | ----------- |
| Le idee del software libero nella vita quotidiana | Alberto Bonacina | 11.30-12.15 |
| Come dare il proprio contributo al mondo dell'open source | Flavio Castelli | 12.15-13.00 |
#### POMERIGGIO - Aula A
<table class=" table table-hover" border="1">
<tr>
<td>
<strong>Titolo </strong>
</td>
<td>
<strong>Speaker </strong>
</td>
<td>
<strong>Ore </strong>
</td>
</tr>
<tr>
<td>
Biblioteche e Internet
</td>
<td>
Paolo Ferri
</td>
<td>
14.30-15.15
</td>
</tr>
<tr>
<td>
Dall'Open Source all'openess della cultura
</td>
<td>
Andrea Rossetti
</td>
<td>
15.15-16.00
</td>
</tr>
<tr>
<td>
Diritti digitali
</td>
<td>
Roberto Franceschini
</td>
<td>
16.00-16.45
</td>
</tr>
</table>
| **Titolo** | **Speaker** | **Ore** |
| ------------------------------------------ | -------------------- | ----------- |
| Biblioteche e Internet | Paolo Ferri | 14.30-15.15 |
| Dall'Open Source all'openess della cultura | Andrea Rossetti | 15.15-16.00 |
| Diritti digitali | Roberto Franceschini | 16.00-16.45 |
#### POMERIGGIO - Aula B
<table class=" table table-hover" border="1">
<tr>
<td>
<strong>Titolo</strong>
</td>
<td>
<strong>Speaker </strong>
</td>
<td>
<strong>Ore</strong>
</td>
</tr>
<tr>
<td>
Come realizzare un sito web in 1 ora con Drupal senza scrivere una riga di codice
</td>
<td>
Dario Ghilardi
</td>
<td>
14.30-15.15
</td>
</tr>
<tr>
<td>
Web design con Linux
</td>
<td>
Giuseppe Capizzi
</td>
<td>
15.15-16.00
</td>
</tr>
<tr>
<td>
Sugar on a Stick: una piattaforma collaborativa e portatile per l'apprendimento
</td>
<td>
Andrea Mangiatordi
</td>
<td>
16.00-16.45
</td>
</tr>
<tr>
<td>
Xmpp, non solo IM
</td>
<td>
Dario Bertini
</td>
<td>
16.45-17.30
</td>
</tr>
</table>
| **Titolo** | **Speaker** | **Ore** |
| --------------------------------------------------------------------------------- | ------------------ | ----------- |
| Come realizzare un sito web in 1 ora con Drupal senza scrivere una riga di codice | Dario Ghilardi | 14.30-15.15 |
| Web design con Linux | Giuseppe Capizzi | 15.15-16.00 |
| Sugar on a Stick: una piattaforma collaborativa e portatile per l'apprendimento | Andrea Mangiatordi | 16.00-16.45 |
| Xmpp, non solo IM | Dario Bertini | 16.45-17.30 |
**Installation Party**
@ -313,6 +65,3 @@ Sarà presente anche un manipolo di entusiasti che vi saprà mostrare le meravig
### Informazioni
Per informazioni è possibile scrivere a **info(at)bglug.it** oppure rivolgersi alla nostra **Mailing List** (a cui ci si può iscrivere da questo stesso sito).
[1]: http://spreadsheets.google.com/viewform?hl=it&formkey=dFRxRzlXeDYtUEVCM1pDRXU0YjIzZ0E6MA
[2]: http://bglug.it/wp-content/uploads/2009/10/bozza_locandina_ld09.pdf

View File

@ -5,25 +5,18 @@ type: page
date: 2010-10-02T12:04:40+00:00
draft: true
private: true
---
L'edizione 2010 del Linux Day si svolgerà, come da tradizione, presso la **[facoltà di Ingegneria][1]** [dell'][1]**[Università degli Studi di Bergamo][1]**[, in][1] **[via Marconi][1]** [a][1] **[Dalmine][1]**.
L'edizione 2010 del Linux Day si svolgerà, come da tradizione, presso la [**facoltà di Ingegneria dell'Università degli Studi di Bergamo in via Marcon a Dalmine**](http://maps.google.it/maps?f=q&source=s_q&hl=it&geocode=&q=facolt%C3%A0+di+ingegneria+via+marconi+dalmine+bergamo+&sll=45.700425,9.613037&sspn=0.445032,1.234589&ie=UTF8&hq=&hnear=Facolt%C3%A0+di+Ingegneria,+Viale+Guglielmo+Marconi,+5,+24044+Dalmine+Bergamo,+Lombardia&ll=45.647408,9.598725&spn=0.007335,0.01929&t=h&z=16).
L'ingresso è libero e gratuito, l'evento consiste in una serie di seminari e workshop sul tema del Software Libero ed in generale del movimento Open Source in tutte le sue declinazioni. il tema di quest'anno, a livello nazionale, è **la scuola**. Noi abbiamo deciso di proporre alcuni interventi mirati in proposito, otre ai soliti approfondimenti tecnici ed alle presentazioni più divulgative.
È possibile **registrarsi preventivamente** all'evento compilando **[questo form][2]**.
È possibile **registrarsi preventivamente** all'evento compilando **[questo form](http://tinyurl.com/ld10-reg)**.
### Programma Seminari e Workshop
<p style="text-align: center;">
<a href="http://bglug.it/wp-content/uploads/2010/10/ld10_locandina_a3.pdf"><img loading="lazy" decoding="async" class="size-full wp-image-418 aligncenter" title="Locandina Linux Day 2010 (thumbnail)" src="http://bglug.it/wp-content/uploads/2010/10/ld10_locandina_a3.png" alt="" width="200" height="283" /></a>
</p>
La locandina dell'evento è disponibile [in versione A3](ld10_locandina_a3.pdf) e [in versione A4](ld10_locandina_a4.pdf).
<p style="text-align: left;">
La locandina dell'evento è disponibile in <a href="http://bglug.it/wp-content/uploads/2010/10/ld10_locandina_a3.pdf">versione A3</a> e in <a href="http://bglug.it/wp-content/uploads/2010/10/ld10_locandina_a4.pdf">versione A4</a>.
</p>
È possibile visionare l'elenco degli interventi con una beve descrizione di ciascuno [**a questo indirizzo**][3].
È possibile visionare l'elenco degli interventi con una beve descrizione di ciascuno [**a questo indirizzo**](http://tinyurl.com/ld10-prog).
### Installation Party
@ -35,8 +28,4 @@ Sarà presente anche un manipolo di entusiasti che vi saprà mostrare le meravig
### Informazioni
Per informazioni è possibile scrivere a **info(at)bglug.it** oppure rivolgersi alla nostra **Mailing List** (a cui ci si può iscrivere da questo stesso sito).
[1]: http://maps.google.it/maps?f=q&source=s_q&hl=it&geocode=&q=facolt%C3%A0+di+ingegneria+via+marconi+dalmine+bergamo+&sll=45.700425,9.613037&sspn=0.445032,1.234589&ie=UTF8&hq=&hnear=Facolt%C3%A0+di+Ingegneria,+Viale+Guglielmo+Marconi,+5,+24044+Dalmine+Bergamo,+Lombardia&ll=45.647408,9.598725&spn=0.007335,0.01929&t=h&z=16
[2]: http://tinyurl.com/ld10-reg
[3]: http://tinyurl.com/ld10-prog
Per informazioni è possibile scrivere a **info(at)bglug.it** oppure rivolgersi alla nostra **Mailing List** ([a cui ci si può iscrivere da qui](http://lists.linux.it/listinfo/bglug)).

Binary file not shown.

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

View File

@ -5,60 +5,33 @@ type: page
date: 2016-07-27T21:02:58+00:00
xyz_smap:
- 1
---
<img loading="lazy" decoding="async" class="aligncenter size-large wp-image-1595" src="http://www.bglug.it/wp-content/uploads/2016/07/singlepage-720x1024.jpg" alt="Linux Day 2016" width="648" height="922" srcset="https://bglug.it/wp-content/uploads/2016/07/singlepage-720x1024.jpg 720w, https://bglug.it/wp-content/uploads/2016/07/singlepage-211x300.jpg 211w, https://bglug.it/wp-content/uploads/2016/07/singlepage-768x1092.jpg 768w, https://bglug.it/wp-content/uploads/2016/07/singlepage-300x427.jpg 300w, https://bglug.it/wp-content/uploads/2016/07/singlepage.jpg 1262w" sizes="(max-width: 648px) 100vw, 648px" />
&nbsp;
![Linux Day 2016](singlepage-720x1024.jpg)
<img loading="lazy" decoding="async" class="aligncenter wp-image-1530" src="http://www.bglug.it/wp-content/uploads/2016/07/linux.png" alt="linux" width="64" height="64" srcset="https://bglug.it/wp-content/uploads/2016/07/linux.png 128w, https://bglug.it/wp-content/uploads/2016/07/linux-60x60.png 60w" sizes="(max-width: 64px) 100vw, 64px" />
![linux](linux.png)
<p style="text-align: center;">
Il <a href="http://linuxday.it/">Linux Day</a> è un evento annuale e aperto al pubblico, organizzato in tutta Italia da tutti i <a href="http://it.wikipedia.org/wiki/Linux_User_Group">gruppi di utenti Linux (LUG)</a> locali, con lo scopo di far conoscere ed apprezzare il sistema operativo GNU/Linux e tutto il <a href="http://it.wikipedia.org/wiki/Software_libero">software libero</a> in generale.
</p>
Il [Linux Day](https://linuxday.it/) è un evento annuale e aperto al pubblico, organizzato in tutta Italia da tutti i [gruppi di utenti Linux (LUG)](https://it.wikipedia.org/wiki/Linux_User_Group) locali, con lo scopo di far conoscere ed apprezzare il sistema operativo GNU/Linux e tutto il [software libero](https://it.wikipedia.org/wiki/Software_libero) in generale.
<p style="text-align: center;">
<strong><a href="http://bglug.it/linux-day-2016/programma-linux-day-2016">Consulta il programma</a></strong>
</p>
**[Consulta il programma](/programma-linux-day-2016)**
&nbsp;
![clock-o](clock-o.png)
<img loading="lazy" decoding="async" class="aligncenter wp-image-1531" src="http://www.bglug.it/wp-content/uploads/2016/07/clock-o.png" alt="clock-o" width="64" height="64" srcset="https://bglug.it/wp-content/uploads/2016/07/clock-o.png 128w, https://bglug.it/wp-content/uploads/2016/07/clock-o-60x60.png 60w" sizes="(max-width: 64px) 100vw, 64px" />
Il Linux Day 2016 è fissato per tutta Italia per il giorno **22 Ottobre 2016**.
<p style="text-align: center;">
Il Linux Day 2016 è fissato per tutta Italia per il giorno<strong> 22 Ottobre 2016</strong>.
</p>
![globe](globe.png)
&nbsp;
Il Linux Day è un evento organizzato in tutta Italia dai LUG locali. Puoi trovare quello più vicino a te consultando la [mappa dei LUG](https://lugmap.linux.it/). Per quanto riguarda Bergamo e provincia, il [Bergamo Linux Users Group (BgLUG)](https://bglug.it/) organizza l'evento presso:
<img loading="lazy" decoding="async" class="aligncenter wp-image-1532" src="http://www.bglug.it/wp-content/uploads/2016/07/globe.png" alt="globe" width="64" height="64" srcset="https://bglug.it/wp-content/uploads/2016/07/globe.png 128w, https://bglug.it/wp-content/uploads/2016/07/globe-60x60.png 60w" sizes="(max-width: 64px) 100vw, 64px" />
**Università degli Studi di Bergamo**
<p style="text-align: center;">
Il Linux Day è un evento organizzato in tutta Italia dai LUG locali. Puoi trovare quello più vicino a te consultando la <a href="http://lugmap.it/">mappa dei LUG</a>. Per quanto riguarda Bergamo e provincia, il <a href="http://bglug.it/">Bergamo Linux Users Group (BgLUG)</a> organizza l'evento presso:
</p>
sede di **Dalmine** in **Viale Marconi, 5**
<p style="text-align: center;">
<strong>Università degli Studi di Bergamo</strong>
</p>
**Edificio A - Aule A001 e A002**
<p style="text-align: center;">
sede di<strong> Dalmine </strong>in<strong> Viale Marconi, 5</strong>
</p>
Se volete stamparvi autonomamente locandina o volantino, potete scaricare le immagini da qui:
<p style="text-align: center;">
<strong>Edificio A - Aule A001 e A002</strong>
</p>
&nbsp;
<p style="text-align: center;">
</p>
<p style="text-align: center;">
<p style="text-align: left;">
Se volete stamparvi autonomamente locandina o volantino, potete scaricare le immagini dai seguenti link:
</p>
<p style="text-align: center;">
<img decoding="async" class="ngg_displayed_gallery mceItem" src="http://www.bglug.it/nextgen-attach_to_post/preview/id--1628" data-mce-placeholder="1" />
</p>
![](fronte.jpg)
![](retro.jpg)
![](locandina.jpg)
![](volantino.jpg)

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 106 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

View File

@ -5,65 +5,24 @@ type: page
date: 2017-09-10T20:37:57+00:00
xyz_smap:
- 1
---
&nbsp;
<img loading="lazy" decoding="async" class="aligncenter wp-image-1530" src="http://www.bglug.it/wp-content/uploads/2016/07/linux.png" alt="linux" width="64" height="64" srcset="https://bglug.it/wp-content/uploads/2016/07/linux.png 128w, https://bglug.it/wp-content/uploads/2016/07/linux-60x60.png 60w" sizes="(max-width: 64px) 100vw, 64px" />
![linux](linux.png)
<p style="text-align: center;">
Il <a href="http://linuxday.it/">Linux Day</a> è un evento annuale e aperto al pubblico, organizzato in tutta Italia da tutti i <a href="http://it.wikipedia.org/wiki/Linux_User_Group">gruppi di utenti Linux (LUG)</a> locali, con lo scopo di far conoscere ed apprezzare il sistema operativo GNU/Linux e tutto il <a href="http://it.wikipedia.org/wiki/Software_libero">software libero</a> in generale.
</p>
Il [Linux Day](https://linuxday.it/) è un evento annuale e aperto al pubblico, organizzato in tutta Italia da tutti i [gruppi di utenti Linux (LUG)](https://it.wikipedia.org/wiki/Linux_User_Group) locali, con lo scopo di far conoscere ed apprezzare il sistema operativo GNU/Linux e tutto il [software libero](https://it.wikipedia.org/wiki/Software_libero) in generale.
<!--
![clock-o](clock-o.png)
Il Linux Day 2017 è fissato per tutta Italia per il giorno **28 Ottobre 2017**.
<p style="text-align: center;"><strong><a href="http://bglug.it/linux-day-2017/programma-linux-day-2017">Consulta il programma</a></strong></p>
[Programma Linux Day 2017](/programma-linux-day-2017)
![globe](globe.png)
-->
Il Linux Day è un evento organizzato in tutta Italia dai LUG locali. Puoi trovare quello più vicino a te consultando la [mappa dei LUG](https://lugmap.linux.it/). Per quanto riguarda Bergamo e provincia, il [Bergamo Linux Users Group (BgLUG)](https://bglug.it/) organizza l'evento presso:
&nbsp;
**Università degli Studi di Bergamo**
<img loading="lazy" decoding="async" class="aligncenter wp-image-1531" src="http://www.bglug.it/wp-content/uploads/2016/07/clock-o.png" alt="clock-o" width="64" height="64" srcset="https://bglug.it/wp-content/uploads/2016/07/clock-o.png 128w, https://bglug.it/wp-content/uploads/2016/07/clock-o-60x60.png 60w" sizes="(max-width: 64px) 100vw, 64px" />
sede di **Dalmine** in **Viale Marconi, 5**
<p style="text-align: center;">
Il Linux Day 2017 è fissato per tutta Italia per il giorno<strong> 28 Ottobre 2017</strong>.
</p>
&nbsp;
<p style="text-align: center;">
<a class="myButton" href="https://bglug.it/linux-day-2017/programma-linux-day-2017/" target="_blank" rel="noopener">Programma Linux Day 2017</a>
</p>
&nbsp;
&nbsp;
<img loading="lazy" decoding="async" class="aligncenter wp-image-1532" src="http://www.bglug.it/wp-content/uploads/2016/07/globe.png" alt="globe" width="64" height="64" srcset="https://bglug.it/wp-content/uploads/2016/07/globe.png 128w, https://bglug.it/wp-content/uploads/2016/07/globe-60x60.png 60w" sizes="(max-width: 64px) 100vw, 64px" />
<p style="text-align: center;">
Il Linux Day è un evento organizzato in tutta Italia dai LUG locali. Puoi trovare quello più vicino a te consultando la <a href="http://lugmap.it/">mappa dei LUG</a>.&nbsp;Per quanto riguarda Bergamo e provincia, il <a href="http://bglug.it/">Bergamo Linux Users Group (BgLUG)</a> organizza l'evento presso:
</p>
&nbsp;
<p style="text-align: center;">
<strong>Università degli Studi di Bergamo</strong>
</p>
<p style="text-align: center;">
sede di<strong> Dalmine </strong>in<strong>&nbsp;Viale Marconi, 5</strong>
</p>
<p style="text-align: center;">
<strong>Edificio A - Aule A001 e A002</strong>
</p>
&nbsp;
<p style="text-align: center;">
<!-- Inserire qui mappa statica per LD 2017 - la precedente scelta è rotta. -->
</p>
**Edificio A - Aule A001 e A002**

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

View File

@ -1,10 +1,10 @@
---
title: Linux Day 2018 Call For Papers
title: Linux Day 2018 - Call For Papers
author: syntaxerrormmm
type: page
date: 2018-07-25T21:29:51+00:00
---
Ecco qualche indicazione aggiuntiva per chi volesse proporre un intervento al Linux Day.
## Call For Papers
@ -23,7 +23,7 @@ Una volta raccolti tutti gli interventi proposti, il BgLUG formalizzerà il prog
Per poter presentare un argomento al Linux Day, esso deve essere riconducibile a GNU/Linux, al software libero o alle attività di promozione del software libero, alla soluzione di problematiche tecniche o meno con l'utilizzo di tali software, alla condivisione delle informazioni, ai meccanismi di copyright/copyleft o al sistema di licenze del software libero.
L'[argomento del Linux Day][1] di quest'anno è _World Wild Web_: Oltre la frontiera si trovano monopolisti dal brevetto facile, bari con incomprensibili privacy policies nella manica e indigeni digitali a caccia di selfie.
L'[argomento del Linux Day](http://www.linuxday.it/) di quest'anno è _World Wild Web_: Oltre la frontiera si trovano monopolisti dal brevetto facile, bari con incomprensibili privacy policies nella manica e indigeni digitali a caccia di selfie.
### Argomento d'interesse
@ -48,17 +48,5 @@ Vista la grande affluenza di studenti degli istituti tecnici superiori della cit
* **Sessione divulgativa**: solitamente corrisponde alla prima parte del Linux Day, dalle 9.00 alle 13.00 circa. All'interno di questo periodo di tempo, l'affluenza agli interventi risulta essere appannaggio di persone non tecniche, quindi si preferisce dare visibilità agli interventi meno tecnici durante la mattina;
* **Sessione tecnica**: durante le ore pomeridiane (14.00-18.00) è invece più forte la presenza dei tecnici che partecipano alle attività del Linux Day. Pertanto, gli argomenti più difficoltosi o che richiedono una certa knowledge vengono programmati per il pomeriggio.
&nbsp;
* * *
&nbsp;
<center>
<br /> <br />
</center>
&nbsp;
[1]: http://www.linuxday.it/
[Link al form](https://docs.google.com/forms/d/e/1FAIpQLSfQJcAI7r0lsGX2NgUS7YQFE7F9xxjKpbb6GIklhcEH0E7rgQ/viewform?embedded=true
)

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

View File

@ -3,58 +3,23 @@ title: Linux Day 2018
author: Paolo Finardi
type: page
date: 2018-07-28T06:49:09+00:00
---
&nbsp;
<img loading="lazy" decoding="async" class="aligncenter wp-image-1530" src="http://www.bglug.it/wp-content/uploads/2016/07/linux.png" alt="linux" width="64" height="64" srcset="https://bglug.it/wp-content/uploads/2016/07/linux.png 128w, https://bglug.it/wp-content/uploads/2016/07/linux-60x60.png 60w" sizes="(max-width: 64px) 100vw, 64px" />
![linux](linux.png)
<p style="text-align: center;">
Il <a href="http://linuxday.it/">Linux Day</a> è un evento annuale e aperto al pubblico, organizzato in tutta Italia da tutti i <a href="http://it.wikipedia.org/wiki/Linux_User_Group">gruppi di utenti Linux (LUG)</a> locali, con lo scopo di far conoscere ed apprezzare il sistema operativo GNU/Linux e tutto il <a href="http://it.wikipedia.org/wiki/Software_libero">software libero</a> in generale.
</p>
Il [Linux Day](https://linuxday.it/) è un evento annuale e aperto al pubblico, organizzato in tutta Italia da tutti i [gruppi di utenti Linux (LUG)](https://it.wikipedia.org/wiki/Linux_User_Group) locali, con lo scopo di far conoscere ed apprezzare il sistema operativo GNU/Linux e tutto il [software libero](https://it.wikipedia.org/wiki/Software_libero) in generale.
<!--
![clock-o](clock-o.png)
Il Linux Day 2018 è fissato per tutta Italia per il giorno **27 Ottobre 2018**.
![globe](globe.png)
Il Linux Day è un evento organizzato in tutta Italia dai LUG locali. Puoi trovare quello più vicino a te consultando la [mappa dei LUG](https://lugmap.linux.it/). Per quanto riguarda Bergamo e provincia, il [Bergamo Linux Users Group (BgLUG)](https://bglug.it/) organizza l'evento presso:
<p style="text-align: center;"><strong><a href="http://bglug.it/linux-day-2017/programma-linux-day-2017">Consulta il programma</a></strong></p>
**Università degli Studi di Bergamo**
sede di **Dalmine** in **Viale Marconi, 5**
-->
&nbsp;
<img loading="lazy" decoding="async" class="aligncenter wp-image-1531" src="http://www.bglug.it/wp-content/uploads/2016/07/clock-o.png" alt="clock-o" width="64" height="64" srcset="https://bglug.it/wp-content/uploads/2016/07/clock-o.png 128w, https://bglug.it/wp-content/uploads/2016/07/clock-o-60x60.png 60w" sizes="(max-width: 64px) 100vw, 64px" />
<p style="text-align: center;">
Il Linux Day 2018 è fissato per tutta Italia per il giorno<strong> 27 Ottobre 2018</strong>.
</p>
&nbsp;
&nbsp;
<img loading="lazy" decoding="async" class="aligncenter wp-image-1532" src="http://www.bglug.it/wp-content/uploads/2016/07/globe.png" alt="globe" width="64" height="64" srcset="https://bglug.it/wp-content/uploads/2016/07/globe.png 128w, https://bglug.it/wp-content/uploads/2016/07/globe-60x60.png 60w" sizes="(max-width: 64px) 100vw, 64px" />
<p style="text-align: center;">
Il Linux Day è un evento organizzato in tutta Italia dai LUG locali. Puoi trovare quello più vicino a te consultando la <a href="http://lugmap.it/">mappa dei LUG</a>.&nbsp;Per quanto riguarda Bergamo e provincia, il <a href="http://bglug.it/">Bergamo Linux Users Group (BgLUG)</a> organizza l'evento presso:
</p>
&nbsp;
<p style="text-align: center;">
<strong>Università degli Studi di Bergamo</strong>
</p>
<p style="text-align: center;">
sede di<strong> Dalmine </strong>in<strong>&nbsp;Viale Marconi, 5</strong>
</p>
<p style="text-align: center;">
<strong>Edificio A - Aule A001 e A002</strong>
</p>
&nbsp;
<p style="text-align: center;">
<!-- Inserire qui mappa statica per LD 2018 - la precedente scelta è rotta. -->
</p>
**Edificio A - Aule A001 e A002**

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

View File

@ -5,7 +5,6 @@ type: page
date: 2016-07-27T21:00:55+00:00
xyz_smap:
- 1
---
Ecco qualche indicazione aggiuntiva per chi volesse proporre un intervento al Linux Day.
@ -47,8 +46,4 @@ Vista la grande affluenza di studenti degli istituti tecnici superiori della cit
* **Sessione divulgativa**: solitamente corrisponde alla prima parte del Linux Day, dalle 9.00 alle 13.00 circa. All'interno di questo periodo di tempo, l'affluenza agli interventi risulta essere appannaggio di persone non tecniche, quindi si preferisce dare visibilità agli interventi meno tecnici durante la mattina;
* **Sessione tecnica**: durante le ore pomeridiane (14.00-18.00) è invece più forte la presenza dei tecnici che partecipano alle attività del Linux Day. Pertanto, gli argomenti più difficoltosi o che richiedono una certa knowledge vengono programmati per il pomeriggio.
&nbsp;
* * *
&nbsp;
[Link al form](https://docs.google.com/forms/d/e/1FAIpQLScTL2ing6-QMBk1PhdJnG_jdSsZOOVIM4mgjw2DVxuSa1Gk5w/viewform?embedded=true)

View File

@ -5,9 +5,9 @@ type: page
date: 2016-02-14T21:30:59+00:00
xyz_smap:
- 1
---
<a href="http://www.bglug.it/wp-content/uploads/2016/02/LPD.png" rel="attachment wp-att-1217"><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-1217" src="http://www.bglug.it/wp-content/uploads/2016/02/LPD.png" alt="Linux Presentation Day" width="450" height="444" srcset="https://bglug.it/wp-content/uploads/2016/02/LPD.png 450w, https://bglug.it/wp-content/uploads/2016/02/LPD-300x296.png 300w" sizes="(max-width: 450px) 100vw, 450px" /></a>
![](lpd2016bglug.png)
**Linux Presentation Day - Call for Volunteers**
@ -25,9 +25,9 @@ L'intento del BgLUG è quello di sfruttare questa bellissima iniziativa per coll
Siamo in cerca di **volontari** che possano aiutarci a trovare uno spazio dove collocare il banchetto principale, eventuali altri banchetti in provincia e ad allestire il materiale informatico ed informativo.
Per partecipare al **Linux Presentation Day** con il **BgLUG** compila il seguente <a href="http://goo.gl/forms/aju1UZQaBQ" target="_blank">modulo</a> entro il 20 Aprile.
Per partecipare al **Linux Presentation Day** con il **BgLUG** compila il seguente [modulo](https://goo.gl/forms/aju1UZQaBQ) entro il 20 Aprile.
Per avere ulteriori informazioni sull'evento visita il sito italiano del <a href="http://www.linux-presentation-day.it/" target="_blank">Linux Presentation Day </a>.
Per avere ulteriori informazioni sull'evento visita il sito italiano del [Linux Presentation Day](https://web.archive.org/web/20160422144449/https://linux-presentation-day.it/).
Non finisce qui: il BgLUG ha a cuore ogni persona che vuole avvicinarsi al mondo di Linux e per questo motivo sta organizzando per il mese successivo al Linux Presentation Day un coinvolgente e stimolante **corso base di Linux** alla portata di tutti.

Binary file not shown.

After

Width:  |  Height:  |  Size: 67 KiB

View File

@ -3,20 +3,20 @@ title: Magellan
author: Mangia
type: page
date: 2010-03-17T19:25:04+00:00
---
### L'idea
Il progetto Magellan è stato pensato per mettere a disposizione degli utenti linux le funzionalità di un software **context aware**, come quelle fornite da [Marco Polo][1]{#t:_.} per gli utenti Macosx.
Si tratta di un software che, in base a diversi aspetti (come l'ora attuale o lo stato di una periferica del computer), intuisce il contesto in cui sta lavorando l'utente, contesto che può indicare sia il **luogo** che l'**attività** svolta dall'utente.
Il progetto Magellan è stato pensato per mettere a disposizione degli utenti linux le funzionalità di un software **context aware**, come quelle fornite da [Marco Polo](http://www.symonds.id.au/marcopolo/) per gli utenti Macosx.
Si tratta di un software che, in base a diversi aspetti (come l'ora attuale o lo stato di una periferica del computer), intuisce il contesto in cui sta lavorando l'utente, contesto che può indicare sia il **luogo** che l'**attività** svolta dall'utente.
Una volta specificati dall'utente i contesti di cui è interessato, gli aspetti che identificano con una certa probabilità questi contesti e le **azioni** da svolgere durante un cambio di contesto; è possibile quindi automatizzare diversi compiti senza doversi più preoccupare di eseguirli manualmente dopo la prima configurazione.
Una volta specificati dall'utente i contesti di cui è interessato, gli aspetti che identificano con una certa probabilità questi contesti e le **azioni** da svolgere durante un cambio di contesto; è possibile quindi automatizzare diversi compiti senza doversi più preoccupare di eseguirli manualmente dopo la prima configurazione.
Per realizzare questo si è quindi pensato a un demone da avviare al login dell'utente che avrà il compito di ascoltare eventi forniti da librerie diverse, nonchè di compiere le azioni specificate dall'utente mediante script forniti da quest'ultimo o funzioni integrate direttamente nel demone.
### Tecnologie Utilizzate
Il linguaggio di programmazione che verrà usato per la realizzazione del programma è **Python**.
Il linguaggio di programmazione che verrà usato per la realizzazione del programma è **Python**.
Fra le diverse funzionalità del programma quelle prioritarie sono senza dubbio la capacità di:
@ -25,9 +25,9 @@ Fra le diverse funzionalità del programma quelle prioritarie sono senza dubbio
* Rilevare monitor esterni collegati
* Rilevare altri dispositivi collegati (come chiavette usb, stampanti)
Per far questo si utilizzeranno diverse librerie, fra queste le API **DBUS** fornite da **devicekit-power** e **NetworkManager** nonchè **Xrandr** per avere informazioni sull'output video.
Per far questo si utilizzeranno diverse librerie, fra queste le API **DBUS** fornite da **devicekit-power** e **NetworkManager** nonchè **Xrandr** per avere informazioni sull'output video.
Per le API DBUS si farà utilizzo quanto più possibile dei segnali forniti direttamente da queste ultime, mentre per le altre librerie che obbligano a controllarne periodicamente lo stato si realizzerà un semplice wrapper per generare gli eventi necessari alla componente del programma che si occupa di rilevare i cambiamenti di contesto. Allo stesso modo per semplificare l'interazione con DBUS si prenderà spunto da librerie come quella realizzata per[cnetworkmanager][2]{#qqu1}.
Per le API DBUS si farà utilizzo quanto più possibile dei segnali forniti direttamente da queste ultime, mentre per le altre librerie che obbligano a controllarne periodicamente lo stato si realizzerà un semplice wrapper per generare gli eventi necessari alla componente del programma che si occupa di rilevare i cambiamenti di contesto. Allo stesso modo per semplificare l'interazione con DBUS si prenderà spunto da librerie come quella realizzata per [cnetworkmanager](http://vidner.net/martin/software/cnetworkmanager/).
### Casi d'uso
@ -35,6 +35,3 @@ Per le API DBUS si farà utilizzo quanto più possibile dei segnali forniti dire
* Paolo preferirebbe che, di giorno, il pc attivasse lo screensaver dopo 2 brevi minuti dalla sua assenza, bloccando così lo schermo; mentre una volta a casa sua di sera, per vedere filmati in flash preferisce avere un timeout più alto. Seleziona per Magellan un contesto basato sull'ora del giorno, cambiando così automaticamente il settaggio dello screensaver.
* Alberto ha abbinato una connessione bluetooth del proprio cellulare con il computer, decide di usare la presenza del cellulare nelle vicinanze del computer per lanciare un proprio script che monti una partizione crittata (e che viceversa lo smonti quando non ci si trova più in presenza del cellulare). Apre Magellan e crea una nuova regola basata sui dispositivi bluetooth abbinati.
* Enrico usa BackInTime per i backup su uno share di rete, purtroppo quando lo share non è disponibile BackInTime ogni ora lamenta con un'icona lampeggiante nell'area di notifica l'impossibilità di effettuare backup... Decide così di usare Magellan per attivare il cron job solo quando lo share è montato.
[1]: http://www.symonds.id.au/marcopolo/ "Marco Polo"
[2]: http://vidner.net/martin/software/cnetworkmanager/ "cnetworkmanager"

View File

@ -5,30 +5,30 @@ type: page
date: 2015-07-31T23:00:09+00:00
xyz_smap:
- 1
---
_Netiquette della lista pubblica BgLUG_
### Composizione di un messaggio da inviare alla lista pubblica
* L'iscrizione alla mailing list è aperta a tutti, ma solo gli iscritti possono inviare messaggi. Per questo motivo è assolutamente necessario inviare mail attraverso lo stesso indirizzo con cui è stata effettuata l'iscrizione.
* L'iscrizione alla mailing list è aperta a tutti, ma solo gli iscritti possono inviare messaggi. Per questo motivo è assolutamente necessario inviare mail attraverso lo stesso indirizzo con cui è stata effettuata l'iscrizione.
* I messaggi devono essere sintetici, chiari, costruiti in maniera consequenziale e completi di tutte le informazioni necessarie per renderne il contenuto comprensibile ai destinatari.
* L'oggetto della mail deve essere consono e deve riassumere in poche parole il contenuto del vostro messaggio.
* Servirsi, se possibile, del formato “testo puro”. Le mail in formato HTML sono tollerate, ma non quelle in RTF o qualsiasi altro formato.
* Scrivere intere parole o frasi in maiuscolo equivale ad urlarle: ciò non è tollerabile in una situazione pubblica e civile come quella della lista.
* Se si desidera aggiungere una firma, essa deve essere breve (massimo cinque righe) e in calce al messaggio. Le informazioni riportate in firma dovrebbero riguardare direttamente il mittente e non sponsorizzare prodotti / associazioni / aziende che non hanno a che vedere con la realtà non-profit.
* Se si ha un problema e si desidera ricevere supporto da parte della comunità, è necessario iniziare una nuova discussione. Per farlo è sufficiente indicare lindirizzo della mailing list come destinatario (<a href="mailto:bglug@lists.linux.it" target="_blank">bglug@lists.linux.it</a>), riassumere nelloggetto del messaggio il proprio problema ed esporlo in maniera chiara e concisa nel testo della mail. Non inserite il vostro problema in una discussione già esistente.
* Se si decide di inviare una mail per la prima volta, è consigliabile prendere d'esempio qualche discussione precedente (larchivio delle discussioni è reperibile allindirizzo <a href="http://lists.linux.it/pipermail/bglug" target="_blank">http://lists.linux.it/pipermail/bglug</a>). Sarebbe inoltre opportuno presentarsi fornendo qualche informazione su di sé e su come si è venuti a conoscenza della mailing list.
* Se si ha un problema e si desidera ricevere supporto da parte della comunità, è necessario iniziare una nuova discussione. Per farlo è sufficiente indicare l'indirizzo della mailing list come destinatario ([bglug@lists.linux.it](mailto:bglug@lists.linux.it)), riassumere nell'oggetto del messaggio il proprio problema ed esporlo in maniera chiara e concisa nel testo della mail. Non inserite il vostro problema in una discussione già esistente.
* Se si decide di inviare una mail per la prima volta, è consigliabile prendere d'esempio qualche discussione precedente (l'archivio delle discussioni è reperibile all'indirizzo https://lists.linux.it/pipermail/bglug). Sarebbe inoltre opportuno presentarsi fornendo qualche informazione su di sé e su come si è venuti a conoscenza della mailing list.
* Non allegare al proprio messaggio file, immagini, estratti di codice o archivi. Esistono svariati servizi che permettono di condividere file e codice senza allegarli al messaggio. Dopo aver caricato il file sull'applicazione web preferita, inserire nel testo del messaggio il link contenente la posizione del vostro file. Qualsiasi messaggio contenente allegati viene scartato automaticamente dal nostro filtro di ricezione messaggi.
* In una discussione non è tollerato l'inserimento di messaggi pubblicitari o comunicazioni che non siano stati esplicitamente richiesti. È assolutamente vietato lo spam e la raccolta di dati a tale fine.
* Non iniziare e non prendere parte ad una _<a href="https://it.wikipedia.org/wiki/Flame" target="_blank">flame war</a>_, frutto spesso di malintesi. Qualora si incorresse in questa spiacevole situazione, essa andrebbe risolta in uno scambio privato di messaggi tra gli interessati.
* Per prendere parte a una discussione è necessario “<a href="https://it.wikipedia.org/wiki/Top-posting#Replica_in_linea" target="_blank">quotare</a>” le parti dei messaggi alle quali si desidera rispondere. In questo modo sarà più facile per gli altri seguire il flusso delle risposte.
* È severamente vietato fare <a href="https://it.wikipedia.org/wiki/Top-posting" target="_blank"><em>top-posting</em></a>. È buona norma assicurarsi di “<a href="https://it.wikipedia.org/wiki/Top-posting#Replica_in_linea" target="_blank">rispondere in linea</a>” al di sotto della parte alla quale si vuole replicare.
* Evitare di spezzare i <a href="https://it.wikipedia.org/wiki/Thread_(comunicazione_online)" target="_blank"><em>thread</em></a> (sequenza di risposte attinenti ad un messaggio iniziale) cambiando completamente argomento in una discussione preesistente. Ciò può creare confusione rendendo impossibile seguire il filo logico del discorso.
* In una discussione non è tollerato l'inserimento di messaggi pubblicitari o comunicazioni che non siano stati esplicitamente richiesti. È assolutamente vietato lo spam e la raccolta di dati a tale fine.
* Non iniziare e non prendere parte ad una _[flame war](https://it.wikipedia.org/wiki/Flame)_, frutto spesso di malintesi. Qualora si incorresse in questa spiacevole situazione, essa andrebbe risolta in uno scambio privato di messaggi tra gli interessati.
* Per prendere parte a una discussione è necessario “[quotare](https://it.wikipedia.org/wiki/Top-posting#Replica_in_linea)” le parti dei messaggi alle quali si desidera rispondere. In questo modo sarà più facile per gli altri seguire il flusso delle risposte.
* È severamente vietato fare [_top-posting_](https://it.wikipedia.org/wiki/Top-posting). È buona norma assicurarsi di “[rispondere in linea](https://it.wikipedia.org/wiki/Top-posting#Replica_in_linea)” al di sotto della parte alla quale si vuole replicare.
* Evitare di spezzare i [_thread_](https://it.wikipedia.org/wiki/Thread_(comunicazione_online)) (sequenza di risposte attinenti ad un messaggio iniziale) cambiando completamente argomento in una discussione preesistente. Ciò può creare confusione rendendo impossibile seguire il filo logico del discorso.
### Modalità di interazione allinterno della lista pubblica
### Modalità di interazione all'interno della lista pubblica
* Le idee ed i valori di ogni singolo individuo vanno rispettate. Non sarà tollerata alcuna mancanza di rispetto e i provvedimenti presi dai moderatori saranno severi e immediati.
* Non essere troppo severi con gli errori grammaticali: un messaggio che risulta comprensibile ai destinatari è sempre da ritenersi valido.
* Non pubblicare parti di mail private senza il consenso del mittente originario.
* Attenersi allo scopo della lista (Linux e il software libero / opensource) ed evitare, per quanto possibile, di creare <a href="https://it.wikipedia.org/wiki/Off-topic" target="_blank"><em>off-topic</em></a>. Gli _off-topic_ sono tollerati solo se alloggetto della mail viene anteposta l'etichetta "[OT]”.
* Attenersi allo scopo della lista (Linux e il software libero / opensource) ed evitare, per quanto possibile, di creare [off-topic](https://it.wikipedia.org/wiki/Off-topic). Gli _off-topic_ sono tollerati solo se all'oggetto della mail viene anteposta l'etichetta "[OT]”.

View File

@ -3,7 +3,8 @@ title: Organigramma
author: Enrico Bacis
type: page
date: 2015-09-29T13:04:52+00:00
aliases:
- /organigramma
---
Il Consiglio Direttivo del BgLUG in carica (2016-2019) è formato da:

View File

@ -17,6 +17,5 @@ Un grazie particolare a Giuseppe Capizzi per l'ottimo lavoro di realizzazione de
Beh, che aspettate?
Correte a salvare il [feed RSS][1] nel vostro aggregatore preferito!
Correte a salvare il [feed RSS](https://bglug.it/) nel vostro aggregatore preferito!
[1]: http://bglug.it/feed/

View File

@ -25,9 +25,7 @@ Ormai la maggior parte di noi, in casa propria, dispone di una connessione a ban
<!--more-->
Se si ha una connessione stabile e veloce, nessun problema. A volte tuttavia può essere che la banda non sia così affidabile, per esempio perché ci colleghiamo attraverso
[UMTS][1]/[HSDPA][2], o che abbiamo limiti alla quantità di traffico, oppure che non disponiamo affatto della banda larga e siamo costretti ad affidarci al buon vecchio 56k. Oppure potremmo semplicemente voler ottimizzare l'uso della nostra banda, per rendere snella la navigazione del web da tutti i computer della nostra LAN.
Se si ha una connessione stabile e veloce, nessun problema. A volte tuttavia può essere che la banda non sia così affidabile, per esempio perché ci colleghiamo attraverso [UMTS][1]/[HSDPA][2], o che abbiamo limiti alla quantità di traffico, oppure che non disponiamo affatto della banda larga e siamo costretti ad affidarci al buon vecchio 56k. Oppure potremmo semplicemente voler ottimizzare l'uso della nostra banda, per rendere snella la navigazione del web da tutti i computer della nostra LAN.
Bene, in questi ed altri casi può esserci molto utile un Proxy, ossia un programma che funzioni come un filtro tra noi e tutto il web che sta là fuori, per gestire al meglio il traffico. In genere un Proxy funziona anche da Web Cache, occupandosi di memorizzare sopra uno dei nostri computer le informazioni a cui accediamo sul web per evitarci di riscaricare tutto da un sito ad ogni accesso successivo.
@ -41,7 +39,7 @@ sudo apt-get install squid
Una volta installato il programma, occorre configurare anzitutto Squid stesso per consentire al o ai computer di casa nostra di accedere a internet sfruttando le sue strabilianti funzionalità.
Apriamo con il nostro editor preferito il file /etc/squid.conf (su Ubuntu /etc/squid/squid.conf) assicurandoci di avere i privilegi di root.
Apriamo con il nostro editor preferito il file */etc/squid.conf* (su Ubuntu */etc/squid/squid.conf*) assicurandoci di avere i privilegi di root.
Supponiamo che la nostra LAN usi la sottorete con indirizzi 192.168.0.*. Ci basterà aggiungere queste due righe per consentire ai nostri computer domestici di utilizzare i servizi di Squid:
@ -70,6 +68,6 @@ Bene, una volta configurato Firefox allo stesso modo su tutti i nostri computer,
Buona sperimentazione 🙂
[1]: http://it.wikipedia.org/wiki/Universal_Mobile_Telecommunications_System
[2]: http://it.wikipedia.org/wiki/HSDPA
[3]: http://www.squid-cache.org/
[1]: https://it.wikipedia.org/wiki/Universal_Mobile_Telecommunications_System
[2]: https://it.wikipedia.org/wiki/HSDPA
[3]: https://www.squid-cache.org/

View File

@ -1,264 +1,263 @@
---
title: Transparent Firewall parte 1 Installazione OpenBSD
author: goblin
type: post
draft: true
date: 2008-03-10T07:40:56+00:00
url: /2008/03/10/transparent-firewall-parte-1-installazione-openbsd/
categories:
- Documentazione
- Software
tags:
- firewall
- how to
- OpenBSD
---
Lo scopo di questo articolo è di installare un firewall OpenBSD, che ha 3 schede di rete: una per la gestione e le altre due configurate in bridge. Quali sono i vantaggi di questa soluzione? Che il firewall non sarà in nessun modo rilevabile nè dall'esterno nè dall'interno (non ha indirizzo ip se non per la configurazione). Un altro vantaggio è che potrete posizionarlo in qualunque segmento della rete, senza dover modificare le impostazioni di rete del router nè dei client. Può essere usato anche per studiare il tipo di traffico effettuato dai nostri client per individuare ad esempio il motivo di lamentele sulla lentezza della rete o verificare quali a quali scansioni provenienti da internet sono sottoposti i vostri server pubblici.
<!--more-->
Ma iniziamo a sporcarci le mani: la lista degli ingredienti comprende un pc anche non eccessivamente carrozzato (un pentium II con almeno 128Mb di ram andrà bene l'importante è che abbia un hard disk da almeno 40Gb da dedicare interamente ad openbsd e 3 schede di rete) e un pc da cui configurare via ssh il suddetto firewall.
Ottenere openbsd è semplice, cercatelo nel vostro motore di ricerca preferito e lo troverete nella forma di un file iso da circa 200 Mb dal nome install42.iso masterizzatelo e avviate il pc che farà da firewall con il cd inserito.
La procedura di installazione di questo sistema operativo risulta particolarmente macchinosa rispetto a quella del nostro pinguino, ma vi darò i comandi da inserire passo passo (come io li ho trovati in rete).
Terminal type: [vt220] ----> premere invio
kbd(8) mapping? ('L' for list) [none] ----> digitare it e poi invio
chiede se avete fatto il backup perchè la procedura di installazione cancellerà TUTTO il contenuto dell' hard disk
Proceed with install [no] ----> digitare yes e poi invio
Available disks are wd0.
Which one is the root disk? (or done) [wd0] ----> premere invio (nel nostro caso è stato trovato un solo hard disk nel pc)
Do you want to use *all* of wd0 for OpenBSD [no] ---> digitare yes e invio
qui viene il bello! creare le partizioni a manina...
la richiesta sarà:
Initial label editor (enter '?' for help at any prompt)
digitare "p g" seguito da invio per mostrare la lista delle partizioni presenti attualmente sul disco - per cancellarle (avendo cura di usare un hard disk senza DATI IMPORTANTI) digitare in sequenza
"d a" invio
"d b" invio
"d d" invio
non preoccupatevi se avere errori in quanto io avevo 3 partioni sul disco e le ho cancellate tutte e 3
"p g" invio
mostra il contenuto del disco dopo la cancellazione delle partizioni inutili:
device: / dev/rwd0c
c: 38.3G
questo significa che l'hard disk è vuoto (e che è da 40Gb).
"a a" invio
offset: [63] ----> invio
size: [80292807] ------> 10g invio
Rounding to nearest cylinder: 20971377
FS type: [4.2BSD] ----> invio
mount point: [none] ----> "/" invio
"a b" invio
offset: [20971440] ----> invio
size: [59321430] ------> 1.1g invio
Rounding to nearest cylinder: 2307312
FS type: [swap] ----> invio
"a d" invio
offset: [23278652] ----> invio
size: [57014118] ------> 2g invio
Rounding to nearest cylinder: 4194288
FS type: [4.2BSD] ----> invio
mount point: [none] ----> "/tmp" invio
"a e" invio
offset: [27473040] ----> invio
size: [52819830] ------> 6g invio
Rounding to nearest cylinder: 12582864
FS type: [4.2BSD] ----> invio
mount point: [none] ----> "/var" invio
"a g" invio
offset: [40055904] ----> invio
size: [40236966] ------> 10g invio
Rounding to nearest cylinder: 20971440
FS type: [4.2BSD] ----> invio
mount point: [none] ----> "/usr" invio
"a h" invio
offset: [61027344] ----> invio
size: [19265526] ------> 9g invio
Rounding to nearest cylinder: 18874800
FS type: [4.2BSD] ----> invio
mount point: [none] ----> "/home" invio
"w" invio
"q" invio
Mount point for wd0d (size=2097144k)? (or 'none od 'done) [/tmp] ----> invio
Mount point for wd0e (size=6291432k)? (or 'none od 'done) [/var] ----> invio
Mount point for wd0g (size=10485720k)? (or 'none od 'done) [/usr] ----> invio
Mount point for wd0h (size=9437400k)? (or 'none od 'done) [/home] ----> invio
Mount point for wd0d (size=2097144k)? (or 'none od 'done) [/tmp] ----> "done" invio
No more disks to initialize.
Are you really sure that you're ready to proceed? [no] -----> "yes" invio
System hostname (short form, e.g. 'foo'): ----> "openbsd" invio
Configure the network? [yes] ----> invio
Availabel interfaces are: fxp0 fxp1 fxp2
ha trovare 3 interfaccie di rete della stessa marca - qui faccio una precisazione e cioè che i vari sistemi BSD chiamano la scheda di rete in modo diverso in base alla marca e cioè se utilizzerà un driver sis si chiamerà sis0 (la prima) oppure se avete una realtek si chiamerà rl0 (la prima)
la situazione più incasinata è avere 3 schede che usano 3 drivers diversi e quindi si chiameranno ad esempio dc0 fxp0 e rl0 - dovete innanzitutto individuare quali sono e metterci una etichetta, ci sarà utile in seguito quando andremo a configurare il bridge (il metodo semplice prevede di avere 3 schede dello stesso produttore e quindi come in questo caso fxp0 fxp1 e fxp2)
Ora configuriamo solo l'interfaccia di gestione, le altre due (modalità bridge) verranno impostate successivamente.
Which one do you wish to initialize? (or 'done') [fxp0] ----->invio
Do you want to change the media options? [no] ---->invio
Se avete un dhcp potete sfruttarlo ma consiglio di mettere un ip statico, visto che vogliamo sia sempre quello e che venga impostato anche se la rete non è connessa all'avvio della macchina.
IPv4 address for fxp0? (or 'none' or 'dhcp') ----> digitare "192.168.1.7" e invio
Netmask [255.255.255.0] -----> invio
IPv6 address fox fxp0 (or 'rtsol' of 'none') [none] ----> invio
se viene richiesto di inizializzare altre schede di rete dire no e proseguire ('none')
DNS domain name? (e.g. 'bar.com') [my.domain] ----> digitare "dominio.it" e invio
DNS nameserver? (IP address or 'none') [none] ----> digitare ip del dns e invio
Use the nameserver now? [yes] <enter> ----> invio
Default IPv4 route? (IP address, 'dhcp' or 'none') ----> digitare ip del gatewaye invio
add net default: gateway
Edit hosts with ed? [no] ----> invio
Do you want to do any manual network configuration? [no] ----> invio
Password for root account? (will not echo) ----> digitare la password che avrà l'utente root
Password for root account? (again) ----> ripetere la stessa password
a questo punto si effettua l'installazione dei pacchetti, raggruppati per gruppi (SET) - lo faremo scaricandoli da internet e scegliendo una installazione completa
Let's install the sets!
Location of sets? (cd disk ftp http or 'done') [cd] ----> digitare "ftp" e invio
HTTP/FTP proxy URL? (e.g. 'http://proxy:8080', or 'none') [none] ----> digitare invio se non è necessario impostare un proxy
Display the list of known ftp servers? [no] ----> "yes" e invio
Getting the list from 129.128.5.191 (ftp.openbsd.org)...
qui potete scegliere un server in italia per rendere più veloce lo scaricamento e contribuire alla diminuzione del riscaldamento globale del pianeta
Server? (IP address, hostname, list# or 'done') [q] 5
Using ftp5.usa.openbsd.org/pub/OpenBSD Redwood City, CA, USA
Server? (IP address, hostname , list#, 'done' or '?') [ftp5.usa.openbsd.org] -----> invio
Does the server support passive mode ftp? [yes] -----> invio
Server directory? [pub/OpenBSD/4.2/i386] -----> invio
Login? [anonymous] -----> invio
Select sets by entering a set name, a file name pattern or 'all'. De-select
sets by prepending a '-' to the set name, file name pattern or 'all'. Selected
sets are labelled '[X]'.
[X] bsd
[X] bsd.rd
[ ] bsd.mp
[X] base42.tgz
[X] etc42.tgz
[X] misc42.tgz
[X] comp42.tgz
[X] man42.tgz
[X] game42.tgz
[ ] xbase42.tgz
[ ] xetc42.tgz
[ ] xshare42.tgz
[ ] xfont42.tgz
[ ] xserv42.tgz
Set name? (or 'done') [bsd.mp] ---> digitare "all" e invio
[X] bsd
[X] bsd.rd
[X] bsd.mp
[X] base42.tgz
[X] etc42.tgz
[X] misc42.tgz
[X] comp42.tgz
[X] man42.tgz
[X] game42.tgz
[X] xbase42.tgz
[X] xetc42.tgz
[X] xshare42.tgz
[X] xfont42.tgz
[X] xserv42.tgz
Set name? (or 'done') [done] -----> invio
Ready to install sets? [yes] -----> invio
Getting bsd ...
100% |**************************************************| 5972 KB 00:26
Getting bsd.rd ...
100% |**************************************************| 4887 KB 00:25
Getting bsd.mp ...
100% |**************************************************| 6020 KB 00:23
Getting base42.tgz ...
100% |**************************************************| 41437 KB 02:39
Getting etc42.tgz ...
100% |**************************************************| 1210 KB 00:08
Getting misc42.tgz ...
100% |**************************************************| 2238 KB 00:14
Getting comp42.tgz ...
100% |**************************************************| 76666 KB 01:36
Getting man42.tgz ...
100% |**************************************************| 7473 KB 00:30
Getting game42.tgz ...
100% |**************************************************| 2548 KB 00:12
Getting xbase42.tgz ...
100% |**************************************************| 10344 KB 00:51
Getting xetc42.tgz ...
100% |**************************************************| 90772 00:03
Getting xshare42.tgz ...
100% |**************************************************| 2024 KB 00:10
Getting xfont42.tgz ...
100% |**************************************************| 32456 KB 02:41
Getting xserv42.tgz ...
100% |**************************************************| 19365 KB 01:26
Location of sets? (cd disk ftp http or 'done') [done] -----> invio
Start sshd(8) by default? [yes] -----> invio
Start ntpd(8) by default? [no] ----> digitare "yes" e invio
Do you expect to run the X Window System? [no] ----> invio
Change the default console to com0? [no] -----> invio
Saving configuration files...done.
Generating initial host.random file...done.
What timezone are you in? ('?' for list) [Canada/Mountain] Europe/Rome
Setting local timezone to 'Europe/Rome'...done.
Making all device nodes...done.
Installing boot block...
boot: /mnt/boot
proto: /usr/mdec/biosboot
device: /dev/rwd0c
/usr/mdec/biosboot: entry point 0
proto bootblock size 512
/mnt/boot is 3 blocks x 16384 bytes
fs block shift 2; part offset 63; inode block 24, offset 1704
using MBR partition 3: type 166 (0xa6) offset 63 (0x3f)
done.
CONGRATULATIONS! Your OpenBSD install has been successfully completed!
To boot the new system, enter halt at the command prompt. Once the
system has halted, reset the machine and boot from the disk.
#
ora spegnamo il pc - togliamo il cdrom da drive e lo riavviamo.
digitare "halt" e invio
syncing disks... done
The operating system has halted.
Please press any key to reboot.
[qui trovate l'articolo originale][1]
continua nella prossima puntata...
[1]: http://www.openbsd101.com/installation.html
---
title: Transparent Firewall - parte 1 - Installazione OpenBSD
author: goblin
type: post
date: 2008-03-10T07:40:56+00:00
url: /2008/03/10/transparent-firewall-parte-1-installazione-openbsd/
categories:
- Documentazione
- Software
tags:
- firewall
- how to
- OpenBSD
---
Lo scopo di questo articolo è di installare un firewall OpenBSD, che ha 3 schede di rete: una per la gestione e le altre due configurate in bridge. Quali sono i vantaggi di questa soluzione? Che il firewall non sarà in nessun modo rilevabile nè dall'esterno nè dall'interno (non ha indirizzo ip se non per la configurazione). Un altro vantaggio è che potrete posizionarlo in qualunque segmento della rete, senza dover modificare le impostazioni di rete del router nè dei client. Può essere usato anche per studiare il tipo di traffico effettuato dai nostri client per individuare ad esempio il motivo di lamentele sulla lentezza della rete o verificare quali a quali scansioni provenienti da internet sono sottoposti i vostri server pubblici.
<!--more-->
Ma iniziamo a sporcarci le mani: la lista degli ingredienti comprende un pc anche non eccessivamente carrozzato (un pentium II con almeno 128Mb di ram andrà bene l'importante è che abbia un hard disk da almeno 40Gb da dedicare interamente ad openbsd e 3 schede di rete) e un pc da cui configurare via ssh il suddetto firewall.
Ottenere openbsd è semplice, cercatelo nel vostro motore di ricerca preferito e lo troverete nella forma di un file iso da circa 200 Mb dal nome install42.iso masterizzatelo e avviate il pc che farà da firewall con il cd inserito.
La procedura di installazione di questo sistema operativo risulta particolarmente macchinosa rispetto a quella del nostro pinguino, ma vi darò i comandi da inserire passo passo (come io li ho trovati in rete).
Terminal type: [vt220] ----> premere invio
kbd(8) mapping? ('L' for list) [none] ----> digitare it e poi invio
Chiede se avete fatto il backup perchè la procedura di installazione cancellerà TUTTO il contenuto dell' hard disk.
Proceed with install [no] ----> digitare yes e poi invio
Available disks are wd0.
Which one is the root disk? (or done) [wd0] ----> premere invio (nel nostro caso è stato trovato un solo hard disk nel pc)
Do you want to use *all* of wd0 for OpenBSD [no] ---> digitare yes e invio
Qui viene il bello! creare le partizioni a manina...
La richiesta sarà:
Initial label editor (enter '?' for help at any prompt)
Digitare "p g" seguito da invio per mostrare la lista delle partizioni presenti attualmente sul disco - per cancellarle (avendo cura di usare un hard disk senza DATI IMPORTANTI) digitare in sequenza
"d a" invio
"d b" invio
"d d" invio
Non preoccupatevi se avere errori in quanto io avevo 3 partioni sul disco e le ho cancellate tutte e 3
"p g" invio
Mostra il contenuto del disco dopo la cancellazione delle partizioni inutili:
device: / dev/rwd0c
c: 38.3G
Questo significa che l'hard disk è vuoto (e che è da 40Gb).
"a a" invio
offset: [63] ----> invio
size: [80292807] ------> 10g invio
Rounding to nearest cylinder: 20971377
FS type: [4.2BSD] ----> invio
mount point: [none] ----> "/" invio
"a b" invio
offset: [20971440] ----> invio
size: [59321430] ------> 1.1g invio
Rounding to nearest cylinder: 2307312
FS type: [swap] ----> invio
"a d" invio
offset: [23278652] ----> invio
size: [57014118] ------> 2g invio
Rounding to nearest cylinder: 4194288
FS type: [4.2BSD] ----> invio
mount point: [none] ----> "/tmp" invio
"a e" invio
offset: [27473040] ----> invio
size: [52819830] ------> 6g invio
Rounding to nearest cylinder: 12582864
FS type: [4.2BSD] ----> invio
mount point: [none] ----> "/var" invio
"a g" invio
offset: [40055904] ----> invio
size: [40236966] ------> 10g invio
Rounding to nearest cylinder: 20971440
FS type: [4.2BSD] ----> invio
mount point: [none] ----> "/usr" invio
"a h" invio
offset: [61027344] ----> invio
size: [19265526] ------> 9g invio
Rounding to nearest cylinder: 18874800
FS type: [4.2BSD] ----> invio
mount point: [none] ----> "/home" invio
"w" invio
"q" invio
Mount point for wd0d (size=2097144k)? (or 'none od 'done) [/tmp] ----> invio
Mount point for wd0e (size=6291432k)? (or 'none od 'done) [/var] ----> invio
Mount point for wd0g (size=10485720k)? (or 'none od 'done) [/usr] ----> invio
Mount point for wd0h (size=9437400k)? (or 'none od 'done) [/home] ----> invio
Mount point for wd0d (size=2097144k)? (or 'none od 'done) [/tmp] ----> "done" invio
No more disks to initialize.
Are you really sure that you're ready to proceed? [no] -----> "yes" invio
System hostname (short form, e.g. 'foo'): ----> "openbsd" invio
Configure the network? [yes] ----> invio
Availabel interfaces are: fxp0 fxp1 fxp2
Ha trovato 3 interfacce di rete della stessa marca - qui faccio una precisazione e cioè che i vari sistemi BSD chiamano la scheda di rete in modo diverso in base alla marca e cioè se utilizzerà un driver sis si chiamerà sis0 (la prima) oppure se avete una realtek si chiamerà rl0 (la prima)
la situazione più incasinata è avere 3 schede che usano 3 drivers diversi e quindi si chiameranno ad esempio dc0 fxp0 e rl0 - dovete innanzitutto individuare quali sono e metterci una etichetta, ci sarà utile in seguito quando andremo a configurare il bridge (il metodo semplice prevede di avere 3 schede dello stesso produttore e quindi come in questo caso fxp0 fxp1 e fxp2)
Ora configuriamo solo l'interfaccia di gestione, le altre due (modalità bridge) verranno impostate successivamente.
Which one do you wish to initialize? (or 'done') [fxp0] ----->invio
Do you want to change the media options? [no] ---->invio
Se avete un dhcp potete sfruttarlo ma consiglio di mettere un ip statico, visto che vogliamo sia sempre quello e che venga impostato anche se la rete non è connessa all'avvio della macchina.
IPv4 address for fxp0? (or 'none' or 'dhcp') ----> digitare "192.168.1.7" e invio
Netmask [255.255.255.0] -----> invio
IPv6 address fox fxp0 (or 'rtsol' of 'none') [none] ----> invio
Se viene richiesto di inizializzare altre schede di rete dire no e proseguire ('none')
DNS domain name? (e.g. 'bar.com') [my.domain] ----> digitare "dominio.it" e invio
DNS nameserver? (IP address or 'none') [none] ----> digitare ip del dns e invio
Use the nameserver now? [yes] <enter> ----> invio
Default IPv4 route? (IP address, 'dhcp' or 'none') ----> digitare ip del gatewaye invio
add net default: gateway
Edit hosts with ed? [no] ----> invio
Do you want to do any manual network configuration? [no] ----> invio
Password for root account? (will not echo) ----> digitare la password che avrà l'utente root
Password for root account? (again) ----> ripetere la stessa password
A questo punto si effettua l'installazione dei pacchetti, raggruppati per gruppi (SET) - lo faremo scaricandoli da internet e scegliendo una installazione completa
Let's install the sets!
Location of sets? (cd disk ftp http or 'done') [cd] ----> digitare "ftp" e invio
HTTP/FTP proxy URL? (e.g. 'http://proxy:8080', or 'none') [none] ----> digitare invio se non è necessario impostare un proxy
Display the list of known ftp servers? [no] ----> "yes" e invio
Getting the list from 129.128.5.191 (ftp.openbsd.org)...
Qui potete scegliere un server in italia per rendere più veloce lo scaricamento e contribuire alla diminuzione del riscaldamento globale del pianeta
Server? (IP address, hostname, list# or 'done') [q] 5
Using ftp5.usa.openbsd.org/pub/OpenBSD Redwood City, CA, USA
Server? (IP address, hostname , list#, 'done' or '?') [ftp5.usa.openbsd.org] -----> invio
Does the server support passive mode ftp? [yes] -----> invio
Server directory? [pub/OpenBSD/4.2/i386] -----> invio
Login? [anonymous] -----> invio
Select sets by entering a set name, a file name pattern or 'all'. De-select
sets by prepending a '-' to the set name, file name pattern or 'all'. Selected
sets are labelled '[X]'.
[X] bsd
[X] bsd.rd
[ ] bsd.mp
[X] base42.tgz
[X] etc42.tgz
[X] misc42.tgz
[X] comp42.tgz
[X] man42.tgz
[X] game42.tgz
[ ] xbase42.tgz
[ ] xetc42.tgz
[ ] xshare42.tgz
[ ] xfont42.tgz
[ ] xserv42.tgz
Set name? (or 'done') [bsd.mp] ---> digitare "all" e invio
[X] bsd
[X] bsd.rd
[X] bsd.mp
[X] base42.tgz
[X] etc42.tgz
[X] misc42.tgz
[X] comp42.tgz
[X] man42.tgz
[X] game42.tgz
[X] xbase42.tgz
[X] xetc42.tgz
[X] xshare42.tgz
[X] xfont42.tgz
[X] xserv42.tgz
Set name? (or 'done') [done] -----> invio
Ready to install sets? [yes] -----> invio
Getting bsd ...
100% |**************************************************| 5972 KB 00:26
Getting bsd.rd ...
100% |**************************************************| 4887 KB 00:25
Getting bsd.mp ...
100% |**************************************************| 6020 KB 00:23
Getting base42.tgz ...
100% |**************************************************| 41437 KB 02:39
Getting etc42.tgz ...
100% |**************************************************| 1210 KB 00:08
Getting misc42.tgz ...
100% |**************************************************| 2238 KB 00:14
Getting comp42.tgz ...
100% |**************************************************| 76666 KB 01:36
Getting man42.tgz ...
100% |**************************************************| 7473 KB 00:30
Getting game42.tgz ...
100% |**************************************************| 2548 KB 00:12
Getting xbase42.tgz ...
100% |**************************************************| 10344 KB 00:51
Getting xetc42.tgz ...
100% |**************************************************| 90772 00:03
Getting xshare42.tgz ...
100% |**************************************************| 2024 KB 00:10
Getting xfont42.tgz ...
100% |**************************************************| 32456 KB 02:41
Getting xserv42.tgz ...
100% |**************************************************| 19365 KB 01:26
Location of sets? (cd disk ftp http or 'done') [done] -----> invio
Start sshd(8) by default? [yes] -----> invio
Start ntpd(8) by default? [no] ----> digitare "yes" e invio
Do you expect to run the X Window System? [no] ----> invio
Change the default console to com0? [no] -----> invio
Saving configuration files...done.
Generating initial host.random file...done.
What timezone are you in? ('?' for list) [Canada/Mountain] Europe/Rome
Setting local timezone to 'Europe/Rome'...done.
Making all device nodes...done.
Installing boot block...
boot: /mnt/boot
proto: /usr/mdec/biosboot
device: /dev/rwd0c
/usr/mdec/biosboot: entry point 0
proto bootblock size 512
/mnt/boot is 3 blocks x 16384 bytes
fs block shift 2; part offset 63; inode block 24, offset 1704
using MBR partition 3: type 166 (0xa6) offset 63 (0x3f)
done.
CONGRATULATIONS! Your OpenBSD install has been successfully completed!
To boot the new system, enter halt at the command prompt. Once the
system has halted, reset the machine and boot from the disk.
#
Ora spegnamo il pc - togliamo il cdrom da drive e lo riavviamo.
digitare "halt" e invio
syncing disks... done
The operating system has halted.
Please press any key to reboot.
[qui trovate l'articolo originale][1]
Continua nella prossima puntata...
[1]: https://web.archive.org/web/20090217223528/http://www.openbsd101.com/installation.html

View File

@ -2,7 +2,6 @@
title: Transparent Firewall parte 2 Configurazione del bridge
author: goblin
type: post
draft: true
date: 2008-03-11T08:49:45+00:00
url: /2008/03/11/transparent-firewall-parte-2-configurazione-del-bridge/
categories:
@ -16,14 +15,13 @@ tags:
---
Parte seconda - dopo aver installato OpenBSD andremo ad impostare le schede di rete in modalità bridge e ad attivare un firewall sul traffico "passante".
<!--more-->
situazione:
xl0 interfaccia collegata al mondo esterno (al router)
rl0 interfaccia collegata alla nostra rete lan (ad uno switch)
fxp0 interfaccia di gestione (può essere attaccata con un cross ad un pc oppure alla rete interna con un indirizzo ip appropriato)
impostiamo il bridge:
Impostiamo il bridge:
ifconfig xl0 delete
@ -33,13 +31,13 @@ impostiamo il bridge:
echo 'up' > /etc/hostname.rl0
le schede sono impostate come "up" ma senza alcun indirizzo associato
Le schede sono impostate come "up" ma senza alcun indirizzo associato.
creiamo il file di configurazione della nuova interfaccia bridge
Creiamo il file di configurazione della nuova interfaccia bridge
echo 'add xl0 add rl0 up' > /etc/bridgename.bridge0
riavviamo e verifichiamo che sia attiva l'interfaccia con:
Riavviamo e verifichiamo che sia attiva l'interfaccia con:
ifconfig -a
@ -47,57 +45,56 @@ che deve restituire qualcosa del tipo
bridge0: flags=41 <UP,RUNNING> mtu 1500
abilitare il firewall PF - modificare il file /etc/rc.conf perchè la riga
Abilitare il firewall PF - modificare il file /etc/rc.conf perchè la riga
pf=YES
sia decommentata (togliere eventuale "#" all'inizio della riga)
sia decommentata (togliere eventuale "#" all'inizio della riga).
modifichiamo il file /etc/pf.conf perchè sia così:
Modifichiamo il file /etc/pf.conf perchè sia così:
ext_if = "xl0" # verso il router
int_if = "rl0" # alla LAN interna
pass in log all keep state
pass out log all keep state
così passerà tutto ma almeno potremo vedere il traffico effettuato
così passerà tutto ma almeno potremo vedere il traffico effettuato.
facciamo leggere il file con le regole
Facciamo leggere il file con le regole:
pfctl -f /etc/pf.conf
e verifichiamo che le regole siano state caricate correttamente
e verifichiamo che le regole siano state caricate correttamente.
pfctl -sr
deve dare
Deve dare:
pass in log all flags S/SA keep state
pass out log all flags S/SA keep state
ora controlliamo che l'interfaccia di log sia attiva
Ora controlliamo che l'interfaccia di log sia attiva:
/sbin/ifconfig pflog0
deve rispondere
Deve rispondere:
pflog0: flags=141<UP,RUNNING,PROMISC> mtu 33224
ora lanciamo l'utility tcpdump per monitorare il traffico di rete
Ora lanciamo l'utility tcpdump per monitorare il traffico di rete:
tcpdump -n -e -ttt -i pflog0
e vedremo il dettaglio dei pacchetti che entrano dalla interfaccia esterna verso la rete interna e viceversa escono dalla interna per internet
se l'output è troppo lungo possiamo visualizzare solo parte del traffico ad esempio quello da e per l'host 192.168.1.90
Se l'output è troppo lungo possiamo visualizzare solo parte del traffico ad esempio quello da e per l'host 192.168.1.90
tcpdump -n -e -ttt -i pflog0 ip host 192.168.1.90
<a href="http://www.tcpdump.org/tcpdump_man.html" title="Maggiori info qui" target="_blank">maggiori info qui </a>
[maggiori info qui](https://www.tcpdump.org/manpages/tcpdump.1.html)
supponiamo ora di voler bloccare il traffico http verso il server che ha indirizzo 193.204.255.20
modifichiamo il file /etc/pc.conf
in tale maniera
Supponiamo ora di voler bloccare il traffico http verso il server che ha indirizzo 193.204.255.20
Modifichiamo il file /etc/pc.conf in tale maniera
ext_if = "xl0" # interfaccia esterna (verso il router)
int_if = "rl0" # interfaccia verso la LAN interna
@ -106,23 +103,23 @@ in tale maniera
e navighiamo sul sito www.unibg.it dal pc che ha ip 192.168.1.90
vedremo che il log ottenuto dal comando
Vedremo che il log ottenuto dal comando:
tcpdump -p -e -ttt -i pflog0 ip host 192.168.1.90
sarà
Sarà:
rule 0/(match) block in on xl0: 193.204.255.20.80 > 192.168.1.90
che significa che abbiamo bloccato il traffico verso questo sito (che ha indirizzo ip 193.204.255.20)
che significa che abbiamo bloccato il traffico verso questo sito (che ha indirizzo ip 193.204.255.20).
se invece volete bloccare tutto il traffico del protocollo tcp da questa macchina verso l'esterno potete usare questa regola
Se invece volete bloccare tutto il traffico del protocollo tcp da questa macchina verso l'esterno potete usare questa regola:
block in log on $ext_if proto tcp from any to 192.168.1.90
provate a navigare in internet dal suddetto pc e vedrete nei log i tentativi di connessione bloccati verso la porta 80 dei server web richiesti
provate a navigare in internet dal suddetto pc e vedrete nei log i tentativi di connessione bloccati verso la porta 80 dei server web richiesti.
a dire il vero la prassi per costruire un firewall sicuro e esattamente l'opposto e cioè di default bloccare tutto e poi aprire solo il necessario - come nel seguente script
A dire il vero la prassi per costruire un firewall sicuro e esattamente l'opposto e cioè di default bloccare tutto e poi aprire solo il necessario - come nel seguente script
contenuto di /etc/pf.conf
ext_if="xl0"
@ -130,8 +127,8 @@ contenuto di /etc/pf.conf
block in log on $ext_if all
block out log on $int_if all
questo blocca tutto ma veramente tutto... un po' troppo imho.
apriamo ora tutte le connessioni da e verso il nostro pc client che abbiamo usato per fare le prove
Questo blocca tutto ma veramente tutto... un po' troppo imho.
Apriamo ora tutte le connessioni da e verso il nostro pc client che abbiamo usato per fare le prove:
ext_if="xl0"
int_if="rl0"
@ -140,6 +137,6 @@ apriamo ora tutte le connessioni da e verso il nostro pc client che abbiamo usat
block in log on $ext_if all
block out log on $int_if all
compito a casa: trovare la giusta via di mezzo (aiutati anche dalla visualizzazione dei log dei pacchetti permessi / bloccati)
Compito a casa: trovare la giusta via di mezzo (aiutati anche dalla visualizzazione dei log dei pacchetti permessi / bloccati)
Marco - Goblin - Morosini

View File

@ -1,23 +0,0 @@
---
title: "Diffondiamo l'Open Source"
author: Mangia
type: post
draft: true
date: 2008-03-18T20:49:05+00:00
url: /2008/03/18/diffondiamo-lopen-source-2/
categories:
- Documentazione
- Software
tags:
- divulgazione
- Open Source
---
_Riceviamo e con piacere pubblichiamo_ dal buon Alberto "Gauss" Bonacina un fascicoletto di carattere divulgativo sul mondo dell'Open Source. La pubblicazione, originariamente destinata ai ragazzi di una scuola media, è ottima per chi cerca una buona base per presentare ad amici e conoscenti Linux e il Software Libero.
Potete scaricare il [libretto in pdf, 756 KB][1] oppure un comodo [archivio tar.gz (circa 2 MB)][2] contenente lo stesso libretto in un formato più adatto alla stampa, con l'aggiunta del file sorgente .tex e delle singole immagini usate al suo interno.
Scaricate, leggete e diffondete!
[1]: http://bglug.it/wp-content/uploads/2008/03/libretto.pdf "libretto in pdf, 756 Kb"
[2]: http://bglug.it/wp-content/uploads/2008/03/librettotar.gz "archivio tar.gz (circa 2 MB)"

View File

@ -2,7 +2,6 @@
title: Diffondiamo lOpen Source
author: Mangia
type: post
draft: true
date: 2008-03-18T20:49:05+00:00
url: /2008/03/18/diffondiamo-lopen-source/
categories:
@ -11,13 +10,11 @@ categories:
tags:
- divulgazione
- Open Source
aliases:
- /diffondiamo-l-open-source
---
_Riceviamo e con piacere pubblichiamo_ dal buon Alberto "Gauss" Bonacina un fascicoletto di carattere divulgativo sul mondo dell'Open Source. La pubblicazione, originariamente destinata ai ragazzi di una scuola media, è ottima per chi cerca una buona base per presentare ad amici e conoscenti Linux e il Software Libero.
Potete scaricare il [libretto in pdf, 756 KB][1] oppure un comodo [archivio tar.gz (circa 2 MB)][2] contenente lo stesso libretto in un formato più adatto alla stampa, con l'aggiunta del file sorgente .tex e delle singole immagini usate al suo interno.
Potete scaricare il [libretto in pdf, 756 KB](libretto.pdf) oppure un comodo [archivio tar.gz](librettotar.gz) contenente lo stesso libretto in un formato più adatto alla stampa, con l'aggiunta del file sorgente .tex e delle singole immagini usate al suo interno.
Scaricate, leggete e diffondete!
[1]: http://bglug.it/wp-content/uploads/2008/03/libretto.pdf "libretto in pdf, 756 Kb"
[2]: http://bglug.it/wp-content/uploads/2008/03/librettotar.gz "archivio tar.gz (circa 2 MB)"
Scaricate, leggete e diffondete!

View File

@ -1,92 +0,0 @@
---
title: "Samba, cups e il click'n'print"
author: paspo
type: post
draft: true
date: 2008-03-19T17:11:32+00:00
url: /2008/03/19/samba-cups-e-il-clicknprint-2/
categories:
- Documentazione
- Software
tags:
- cups
- printing
- samba
---
Noi utenti *nix abbiamo a disposizione un software meraviglioso: cups. Purtroppo a volte bisogna fare i conti anche con altre piattaforme meno evolute, dove stampare non è sempre facile (aggiorna i driver, condividi la stampante...). Ecco quindi come permettere agli utenti meno abbienti di stampare facilmente con il print server per definizione. <!--more-->Il "click'n'print" è la feature che permette agli utenti windows di acquisire i drivers di una stampante condivisa in rete semplicemente "aprendola" come se fosse una semplice cartella. Il driver viene quindi scaricato dal computer che condivide la stampante e installato nel sistema.
Niente a che vedere con cups, che scopre per i fatti suoi tutti gli altri server cups presenti nella rete e concede agli utenti locali di stampare su tutte le stampanti condivise senza installare drivers. Semplicemente perché non servono.Cups infatti gestisce i lavori di stampa con Postscript, indipendentemente dal linguaggio effettivamente utilizzato dalla stampante; sarà poi compito del server collegato fisicamente alla stampante di tradurre il flusso Postscript in un linguaggio comprensibile per la stampante.
Di conseguenza, al fine di permettere ad un sistema windows di stampare verso cups, bisogna "imporgli" di usare un driver che traduca il flusso di stampa GDI di windows in un flusso Postscript. Faremo questo inviando un driver Postscript (magari quello usato di default su windows, oppure quello del progetto cups) quando il client richiede a samba il driver di stampa.
### Prerequisiti:
* samba (configurato e funzionante)
* cups (idem, magari con una stampante condivisa)
* uno o più client windows da cui stampare
### Configurazione di samba:
Se cups è installato e funzionante, normalmente (nelle distro moderne) samba presenta già le stampanti condivise da cups. In ogni caso riepilogo qui le direttive che devono essere presenti nel file /etc/samba/smb.conf:
``
<pre>[global] load printers = yes printing = cups printcap name = cups[printers] comment = Tutte le stampanti path = /var/spool/samba browseable = no public = yes guest ok = yes writable = no printable = yes printer admin = paolo[print$] path = /usr/share/cups/drivers guest ok = no browseable = yes read only = yes write list = paolo</pre>
Giusto per fare chiarezza: la sezione [global] deve abilitare la stampa tramite cups, la sezione [printers] definisce il file di spool, mentre la sezione [print$] definisce uno share (o condivisione, che dir si voglia) contenente i drivers delle stampanti. Infatti ogni server windows che condivide una o più stampanti, possiede uno share nascosto (cioè il cui nome finisce per $) preposto alla condivisione dei driver delle stampanti. Da notare che questo share è in sola lettura, ma ci serve un utente (paolo in questo caso) con i diritti di scrittura, in modo da caricare i drivers. L'utente ha anche il permesso di amministrare le stampanti. Il percorso indicato, invece, punta direttamente ai drivers di cups.
**Attenzione**: prima di ogni modifica a smb.conf fate sempre una copia.
**Attenzione2**: dopo ogni modifica a smb.conf, eseguite:
``
<pre>testparm</pre>
che validerà le vostre modifiche.
**Attenzione3**: dopo ogni modifica a smb.conf, riavviate il servizio, altrimenti la modifica non sarà effettiva. Per riavviare samba:
``
<pre>sudo /etc/init.d/samba restart</pre>
**Attenzione4**: ricordatevi che l'utente (paolo) deve esistere sul vostro sistema, e deve avere una password riconosciuta da samba. Per impostare la password in samba:
``
<pre>sudo smbpasswd paolo</pre>
e inserite una password decente.
### Ottenere i drivers:
Difficilmente troverete sul vostro sistema linux le dll che vi servono per i driver Postscript 🙂 Bisogna quindi scaricarli da <a href="http://www.cups.org/windows/software.php" target="_blank">qui</a>. Decomprimete, entrate nella directory appena creata e date un
``
<pre>sudo make install</pre>
Attenzione: su alcune distro potreste aver bisogno del pacchetto "**libcupsys2-dev**" per installare questi driver.
Ora vi servono i drivers Postscript di windows, colti direttamente da un sistema "volontario": cercate in windowssystem32spooldriversw32x86. Da qualche parte troverete i seguenti files:<font><tt><font face="Verdana, Arial, Helvetica" size="-1"><tt></tt></font></tt></font>
``
<pre>ps5ui.dllpscript5.dllpscript.hlpscript.ntf</pre>
copiateli in /usr/share/cups/drivers e modificate i nomi: convertiteli in minuscolo.
### Configurazione di cups:
Supporremo qui di avere un server cups installato e funzionante, con almeno una stampante condivisa.L'utente (paolo) dovrà almeno temporaneamente poter scrivere sulla directory /usr/share/cups/drivers. Per cui:
``
<pre>sudo chmod 777 /usr/share/cups/drivers</pre>
Potrete ripristinare i permessi in seguito. Ora viene la magia:
``
<pre>sudo cupsaddsmb -H localhost -U paolo -a -v</pre>
con questo chiediamo a cups di pubblicare i driver delle stampanti condivise sul server "localhost" utilizzando l'utente "paolo" per accedere in lettura/scritttura alla condivisione "print$" (quella di default per i drivers di stampa di windows). Facciamo ripartire samba e cups, giusto per gradire...
``
<pre>sudo /etc/init.d/samba restartsudo /etc/init.d/cupsys restart</pre>
E ora, dal client windows, accedete al server e aprite una stampante, i drivers dovrebbero caricarsi automagicamente!

View File

@ -2,7 +2,6 @@
title: Samba, cups e il clicknprint
author: paspo
type: post
draft: true
date: 2008-03-19T17:11:32+00:00
url: /2008/03/19/samba-cups-e-il-clicknprint/
categories:
@ -28,31 +27,38 @@ Di conseguenza, al fine di permettere ad un sistema windows di stampare verso cu
### Configurazione di samba:
Se cups è installato e funzionante, normalmente (nelle distro moderne) samba presenta già le stampanti condivise da cups. In ogni caso riepilogo qui le direttive che devono essere presenti nel file /etc/samba/smb.conf:
``
Se cups è installato e funzionante, normalmente (nelle distro moderne) samba presenta già le stampanti condivise da cups. In ogni caso riepilogo qui le direttive che devono essere presenti nel file /etc/samba/smb.conf:
<pre>[global] load printers = yes printing = cups printcap name = cups[printers] comment = Tutte le stampanti path = /var/spool/samba browseable = no public = yes guest ok = yes writable = no printable = yes printer admin = paolo[print$] path = /usr/share/cups/drivers guest ok = no browseable = yes read only = yes write list = paolo</pre>
```
[global] load printers = yes printing = cups printcap name = cups
[printers] comment = Tutte le stampanti path = /var/spool/samba browseable = no public = yes guest ok = yes writable = no printable = yes printer admin = paolo
[print$] path = /usr/share/cups/drivers guest ok = no browseable = yes read only = yes write list = paolo
```
Giusto per fare chiarezza: la sezione [global] deve abilitare la stampa tramite cups, la sezione [printers] definisce il file di spool, mentre la sezione [print$] definisce uno share (o condivisione, che dir si voglia) contenente i drivers delle stampanti. Infatti ogni server windows che condivide una o più stampanti, possiede uno share nascosto (cioè il cui nome finisce per $) preposto alla condivisione dei driver delle stampanti. Da notare che questo share è in sola lettura, ma ci serve un utente (paolo in questo caso) con i diritti di scrittura, in modo da caricare i drivers. L'utente ha anche il permesso di amministrare le stampanti. Il percorso indicato, invece, punta direttamente ai drivers di cups.
**Attenzione**: prima di ogni modifica a smb.conf fate sempre una copia.
**Attenzione2**: dopo ogni modifica a smb.conf, eseguite:
``
<pre>testparm</pre>
```
testparm
```
che validerà le vostre modifiche.
**Attenzione3**: dopo ogni modifica a smb.conf, riavviate il servizio, altrimenti la modifica non sarà effettiva. Per riavviare samba:
``
<pre>sudo /etc/init.d/samba restart</pre>
```
sudo /etc/init.d/samba restart
```
**Attenzione4**: ricordatevi che l'utente (paolo) deve esistere sul vostro sistema, e deve avere una password riconosciuta da samba. Per impostare la password in samba:
``
<pre>sudo smbpasswd paolo</pre>
```
sudo smbpasswd paolo
```
e inserite una password decente.
@ -61,32 +67,38 @@ e inserite una password decente.
Difficilmente troverete sul vostro sistema linux le dll che vi servono per i driver Postscript 🙂 Bisogna quindi scaricarli da <a href="http://www.cups.org/windows/software.php" target="_blank">qui</a>. Decomprimete, entrate nella directory appena creata e date un
``
<pre>sudo make install</pre>
```
sudo make install
```
Attenzione: su alcune distro potreste aver bisogno del pacchetto "**libcupsys2-dev**" per installare questi driver.
Ora vi servono i drivers Postscript di windows, colti direttamente da un sistema "volontario": cercate in \windows\system32\spool\drivers\w32x86. Da qualche parte troverete i seguenti files:<font><tt><font face="Verdana, Arial, Helvetica" size="-1"><tt></tt></font></tt></font>
``
Ora vi servono i drivers Postscript di windows, colti direttamente da un sistema "volontario": cercate in \windows\system32\spool\drivers\w32x86. Da qualche parte troverete i seguenti files:
<pre>ps5ui.dllpscript5.dllpscript.hlpscript.ntf</pre>
```
ps5ui.dllpscript5.dllpscript.hlpscript.ntf
```
copiateli in /usr/share/cups/drivers e modificate i nomi: convertiteli in minuscolo.
### Configurazione di cups:
Supporremo qui di avere un server cups installato e funzionante, con almeno una stampante condivisa.L'utente (paolo) dovrà almeno temporaneamente poter scrivere sulla directory /usr/share/cups/drivers. Per cui:
``
<pre>sudo chmod 777 /usr/share/cups/drivers</pre>
```
sudo chmod 777 /usr/share/cups/drivers
```
Potrete ripristinare i permessi in seguito. Ora viene la magia:
``
<pre>sudo cupsaddsmb -H localhost -U paolo -a -v</pre>
```
sudo cupsaddsmb -H localhost -U paolo -a -v
```
con questo chiediamo a cups di pubblicare i driver delle stampanti condivise sul server "localhost" utilizzando l'utente "paolo" per accedere in lettura/scritttura alla condivisione "print$" (quella di default per i drivers di stampa di windows). Facciamo ripartire samba e cups, giusto per gradire...
``
<pre>sudo /etc/init.d/samba restartsudo /etc/init.d/cupsys restart</pre>
```
sudo /etc/init.d/samba restartsudo /etc/init.d/cupsys restart
```
E ora, dal client windows, accedete al server e aprite una stampante, i drivers dovrebbero caricarsi automagicamente!

View File

@ -2,7 +2,6 @@
title: Ubuntu/Kubuntu/Xubuntu su EeePC 701
author: emuboy
type: post
draft: true
date: 2008-03-20T20:23:21+00:00
url: /2008/03/20/ubuntukubuntuxubuntu-su-eeepc-701/
categories:
@ -11,11 +10,7 @@ categories:
- Software
---
[][1]
<p style="text-align: center">
<a href="http://bglug.it/wp-content/uploads/2008/03/p1030294.jpg" title="eeePC con Kubuntu"><img decoding="async" src="http://bglug.it/wp-content/uploads/2008/03/p1030294.thumbnail.jpg" alt="eeePC con Kubuntu" /></a>
</p>
![](p1030294.jpg)
L'**_Asus EeePC 701_** è un portatile a basso costo di casa Asus. Nato come progetto per le scuole medie, si è rivelato poi come uno dei prodotti più famosi della Asus degli ultimi tempi: la sua potenza ridotta (processore da 600MHz, 512Mb di RAM, da 2 a 8 Gb di memoria a stato solido e schermo da 7 pollici) è ben compensata dal suo costo (299 Euro) e dalle sue dimensioni ridotte (225x165x21). L'EeePC monta una distribuzione Linux di default, _Xandros_, personalizzata in modo da essere facile da usare e da gestire senza troppe limitazioni. Putroppo Xandros non è standard, ragion per cui in questa guida tratteremo l'installazione di qualsiasi distribuzione Ubuntu-based su EeePC.
@ -26,24 +21,23 @@ L'**_Asus EeePC 701_** è un portatile a basso costo di casa Asus. Nato come pro
* EeePC
* Lettore CD/DVD esterno (è comunque utile recuperarne uno, in quanto l'EeePC non ha lettore CD)
* Qualsiasi periferica di archiviazione di massa da 2Gb o superiore (solo nel caso in cui non procederete all'eliminazione di Xandros dalla memoria interna)
* Questo [file][2] da [questo progetto][3] su una chiave usb o altro.
* Questo [file][1] da [questo progetto][2] su una chiave usb o altro.
### Cominciamo:
La prima cosa da fare è salvare eventuali dati presenti sull'EeePC: vi consiglio di farlo anche se avete deciso di installare tutto su una chiavetta o una scheda SD. Poi bisogna considerare il tipo di installazione che vogliamo fare: interna o esterna. Considerate che la memoria interna è da 2Gb, 4Gb o 8Gb: può bastare per il solo sistema, limita parecchio l'installazione di nuovi programmi ma fornisce una velocità maggiore. Diversamente, l'installazione su periferica esterna preserva Xandros (ripristinabile comunque grazie al CD che trovate nella confezione) e offre una ampiezza del disco limitata solo dall'ampiezza del vostro portafogli 😉 ma può presentare limiti di velocità e può essere scomoda per via del lettore di schede che rimane sempre occupato in caso di installazione su SD oppure di un eventuale chiave USB che deve rimanere sempre inserita. Io ho optato per l'installazione su disco interno. Qualsiasi sia la vostra scelta, l'unica modifica da fare sarà forse solo il GRUB, ma riprendermo questo tra poco.
* Per prima cosa collegate il lettore CD esterno con dentro la vostra distribuzione *ubuntu preferita, nel mio caso una Kubuntu 7.10, e l'eventuale periferica di massa su cui andrete ad installare;
* all'avvio del computer premete [Esc] che vi mostrerà il menù di boot e scegliete il lettore CD. Vedrete la schermata di boot e scegliete _Installazione_. In questa guida non tratteremo l'installazione di Ubuntu, ma potrete consultarne una [qui][4], in quanto potrete procedere all'installazione come un normalissimo PC. Se la bassa risoluzione dello schermo vi dà problemi con le finestre sicuramente vi sarà utile sapere che tenendo premuto il tasto [Alt ] potete trascinare le finestre in quasi tutti i windows manager moderni. Installate Ubuntu dove più vi aggrada e riavviate.
* Se l'installazione parte senza problemi saltate questo punto. In caso contrario, è probabile che GRUB abbia un riferimento sbagliato sulla partizione da avviare. Quando esce il conto alla rovescia premete [Esc], selezionando la prima riga che vi mostra premete [E] e ancora [E] sula riga che inizia con _"root"_. A questo punto dovreste poter modificare la linea: quello che ci interessa è il paramentro _"(hd0,0)"_. Cancellatelo fino ad avere _"(hd"_ e premete [TAB]: la riga vi mostrerà alcune opzioni. Sceglietene una continuando il completamento con [TAB] e premete [B] per avviare, provate finchè non trovate quella giusta.
* A sistema avviato loggatevi e copiate [il file][3] sulla scrivania, decomprimetelo e aprite una shell tramite il vostro terminale preferito. Entrate nella directory del file decompresso prima e battete
sudo ./install all
Inserite la vostra password e attendete che abbia finito: questo script installa vari moduli e fa alcune modifiche a dei file (leggete il README all'interno se siete curiosi). A questo punto riavviate e il vostro sistema dovrebbe funzionare alla perfezione: Wi-Fi, webcam, audio etc etc...</li> </ul>
Il consiglio che vi do è di sostituire eventuali programmi come OpenOffice con alternative più leggere (AbiWord per esempio) oppure di sfruttare, dove potete, servizi di webapps come GoogleDocs che vi permettono di non occupare spazio prezioso. Soprattuto vi consiglio di ridurre i font a 8 per tutto il sistema se i vostri occhi ve lo permettono... Buon diverimento sul vostro sistema e benvenuti nel mondo OpenSource se per voi è la prima volta...
* Per prima cosa collegate il lettore CD esterno con dentro la vostra distribuzione *ubuntu preferita, nel mio caso una Kubuntu 7.10, e l'eventuale periferica di massa su cui andrete ad installare;
* all'avvio del computer premete [Esc] che vi mostrerà il menù di boot e scegliete il lettore CD. Vedrete la schermata di boot e scegliete _Installazione_. In questa guida non tratteremo l'installazione di Ubuntu, ma potrete consultarne una [qui][3], in quanto potrete procedere all'installazione come un normalissimo PC. Se la bassa risoluzione dello schermo vi dà problemi con le finestre sicuramente vi sarà utile sapere che tenendo premuto il tasto [Alt ] potete trascinare le finestre in quasi tutti i windows manager moderni. Installate Ubuntu dove più vi aggrada e riavviate.
* Se l'installazione parte senza problemi saltate questo punto. In caso contrario, è probabile che GRUB abbia un riferimento sbagliato sulla partizione da avviare. Quando esce il conto alla rovescia premete [Esc], selezionando la prima riga che vi mostra premete [E] e ancora [E] sula riga che inizia con _"root"_. A questo punto dovreste poter modificare la linea: quello che ci interessa è il paramentro _"(hd0,0)"_. Cancellatelo fino ad avere _"(hd"_ e premete [TAB]: la riga vi mostrerà alcune opzioni. Sceglietene una continuando il completamento con [TAB] e premete [B] per avviare, provate finchè non trovate quella giusta.
* A sistema avviato loggatevi e copiate [il file][2] sulla scrivania, decomprimetelo e aprite una shell tramite il vostro terminale preferito. Entrate nella directory del file decompresso prima e battete
```
sudo ./install all
```
* Inserite la vostra password e attendete che abbia finito: questo script installa vari moduli e fa alcune modifiche a dei file (leggete il README all'interno se siete curiosi). A questo punto riavviate e il vostro sistema dovrebbe funzionare alla perfezione: Wi-Fi, webcam, audio etc etc...
[1]: http://bglug.it/wp-content/uploads/2008/03/p1030294.jpg "eeePC con Kubuntu"
[2]: http://eee-ubuntu-support.googlecode.com/files/eee-ubuntu-support_v0.7.tgz
[3]: http://code.google.com/p/eee-ubuntu-support/
[4]: http://wiki.ubuntu-it.org/Installazione/Grafica
Il consiglio che vi do è di sostituire eventuali programmi come OpenOffice con alternative più leggere (AbiWord per esempio) oppure di sfruttare, dove potete, servizi di webapps come GoogleDocs che vi permettono di non occupare spazio prezioso. Soprattuto vi consiglio di ridurre i font a 8 per tutto il sistema se i vostri occhi ve lo permettono... Buon diverimento sul vostro sistema e benvenuti nel mondo OpenSource se per voi è la prima volta...
[1]: https://web.archive.org/web/20111012100933/http://eee-ubuntu-support.googlecode.com/files/eee-ubuntu-support_v0.7.tgz
[2]: https://code.google.com/p/eee-ubuntu-support/
[3]: https://wiki.ubuntu-it.org/Installazione/Grafica

Binary file not shown.

After

Width:  |  Height:  |  Size: 148 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 66 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 69 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 124 KiB

View File

@ -2,7 +2,6 @@
title: Un server in un miniPC
author: jimmi
type: post
draft: true
date: 2008-03-22T06:22:09+00:00
url: /2008/03/22/un-server-in-un-minipc/
categories:
@ -14,13 +13,10 @@ categories:
---
Da diverso tempo stavo meditando sulla sostituzione del mio server casalingo, a cui mancavano due requisiti per me molto importanti: un _RAID1_ che mi salvi dalla morte improvvisa di un disco e consumi ridotti. Qualche mese fa ho finalmente avviato il progetto, la cui esperienza voglio ora condividere con voi.
<p style="text-align: center">
<a href="http://bglug.it/wp-content/uploads/2008/03/01esterno.jpg" title="Fronte"><img decoding="async" src="http://bglug.it/wp-content/uploads/2008/03/01esterno.thumbnail.jpg" alt="Fronte" /></a>
</p>
![](01esterno.jpg)
<!--more-->
### <a title="acquisti" name="acquisti"></a>Acquisti
### Acquisti
Dopo alcune ricerche in rete mi sono deciso per la seguente configurazione:
@ -50,7 +46,7 @@ Per recuperare i materiali necessari ho dovuto farmi un ampio giro tra i negozi
* [Wireshop][12]
### <a title="hardware" name="hardware"></a>Assemblare l'hardware
### Assemblare l'hardware
Dopo tre giorni ricevo dal sito tedesco il case, la mobo e l'alimentatore _PicoPSU_, la qual cosa mi fa sperare in una rapida conclusione. In realtà gli ultimi componenti mi arriveranno dopo quasi quattro settimane, durante le quali ho il tempo di pentirmi di alcune scelte:
@ -64,11 +60,9 @@ Dopo alcune settimane di ricerca infruttuosa di un alimentatore per portatili co
L'ulltimo scoglio che ho dovuto superare è stata la rumorosità: purtroppo la ventolina della _CPU_ montata dalla Intel è discretamente rumorosa, e la dimensione di 40 mm non lascia molte chances. [Totalmodding][19] offre diverse ventole adatte, ma purtroppo il primo tentativo con quella più lenta e silenziosa porta la temperatura della _CPU_ sopra i settanta gradi. Installo quindi il modello più veloce e la temperatura si assesta intorno ai sessanta gradi, anche se l'apparecchio non è silenzioso come speravo.
<p style="text-align: center">
<a href="http://bglug.it/wp-content/uploads/2008/03/04interno.jpg" title="Interno"><img loading="lazy" decoding="async" src="http://bglug.it/wp-content/uploads/2008/03/04interno.thumbnail.jpg" alt="Interno" height="136" width="136" /></a>
</p>
![](04interno.jpg)
### <a title="software" name="software"></a>Installare il software
### Installare il software
Il mio gioiellino è ora pronto. I servizi che ho intenzione di attivare sono:
@ -116,11 +110,9 @@ Anche l'installazione e la configurazione di _OpenVPN_ si è rivelata abbastanza
La ciliegina finale è stata l'abilitazione di una webmail con _[Squirrelmail][48]_ accessibile su una connessione sicura dal web, sulla cui configurazione ho scritto un'altro [manualetto][49] disponibile sul blog del _[BGLug VS][50]_.
<p style="text-align: center">
<a href="http://bglug.it/wp-content/uploads/2008/03/02esterno.jpg" title="Retro"><img decoding="async" src="http://bglug.it/wp-content/uploads/2008/03/02esterno.thumbnail.jpg" alt="Retro" /></a>
</p>
![](02esterno.jpg)
### <a title="conclusioni" name="conclusioni"></a>Conclusioni
### Conclusioni
Dieci anni fa non avrei preso sul serio chiunque mi avesse detto che con poco più di trenta watt e una scatoletta grande come un'autoradio si potesse realizzare tutto questo. Oggi questo l'ho fatto io, con il supporto di molti sconosciuti che scrivono [software libero][51] ed aiutano gli utenti con manuali e mailing lists.

View File

@ -2,7 +2,6 @@
title: 'Linux Day 2003: ecco qualche reperto storico'
author: Mangia
type: post
draft: true
date: 2008-04-09T09:18:48+00:00
url: /2008/04/09/linux-day-2003-ecco-qualche-reperto-storico/
xyz_smap:
@ -39,28 +38,17 @@ Dagli archivi del vecchio sito web del nostro amato LUG ecco riemergere un po' d
Gli argomenti trattati spaziano in molteplici settori, eccovi un elenco dei documenti disponibili per il download:
* [una panoramica su Linux e sulle distribuzioni (di Marco Salvi)][1];
* [GIMP, il celebre software di manipolazione di immagini (di Samuele E. Locatelli)][2];
* [GUI - le interfacce grafiche per i sistemi Linux (di Giuseppe Ravasio)][3];
* [gli strumenti per le scienze messi a disposizione dal movimento Open Source (di Samuele E. Locatelli)][4];
* [OpenOffice.org, la suite open per la produttività (di Antonio Milesi)][5];
* [una panoramica sul Kernel Linux (di Luca Amigoni)][6];
* [La samba ballata da Mr. Linux (di Gabriele Galliani)][7];
* [la sicurezza nei sistemi Linux (di Marco Balduzzi)][8];
* [un server proxy open source: Squid (di Marco Morosini)][9];
* [WxWindows: un framework per realizzare applicazioni con interfaccia utente nativa (di Marco Cavallini)][10];
* [Un pinguino in salotto - Linux su console (di Flavio Castelli)][11].
- [una panoramica su Linux e sulle distribuzioni (di Marco Salvi)](distribuzioni.pdf);
- [GIMP, il celebre software di manipolazione di immagini (di Samuele E. Locatelli)](gimp.pdf);
- [GUI - le interfacce grafiche per i sistemi Linux (di Giuseppe Ravasio)](linux-gui.pdf);
- [gli strumenti per le scienze messi a disposizione dal movimento Open Source (di Samuele E. Locatelli)](matematicatar.bz2);
- [OpenOffice.org, la suite open per la produttività (di Antonio Milesi)](openoffice.pdf);
- [una panoramica sul Kernel Linux (di Luca Amigoni)](panoramica_kernel.pdf);
- [La samba ballata da Mr. Linux (di Gabriele Galliani)](samba.pdf);
- [la sicurezza nei sistemi Linux (di Marco Balduzzi)](sicurezza.pdf);
- [un server proxy open source: Squid (di Marco Morosini)](squid.pdf);
- [WxWindows: un framework per realizzare applicazioni con interfaccia utente nativa (di Marco Cavallini)](wxwindows.pdf);
- [Un pinguino in salotto - Linux su console (di Flavio Castelli)](xbox.pdf).
Buona lettura!
[1]: http://bglug.it/wp-content/uploads/2008/04/distribuzioni.pdf "una panoramica su Linux e sulle distribuzioni (di Marco Salvi);"
[2]: http://bglug.it/wp-content/uploads/2008/04/gimp.pdf "GIMP, il celebre software di manipolazione di immagini (di Samuele E. Locatelli)"
[3]: http://bglug.it/wp-content/uploads/2008/04/linux-gui.pdf "GUI - le interfacce grafiche per i sistemi Linux (di Giuseppe Ravasio)"
[4]: http://bglug.it/wp-content/uploads/2008/04/matematicatar.bz2 "gli strumenti per le scienze messi a disposizione dal movimento Open Source (di Samuele E. Locatelli)"
[5]: http://bglug.it/wp-content/uploads/2008/04/openoffice.pdf "OpenOffice.org, la suite open per la produttività (di Antonio Milesi)"
[6]: http://bglug.it/wp-content/uploads/2008/04/panoramica_kernel.pdf "una panoramica sul Kernel Linux (di Luca Amigoni)"
[7]: http://bglug.it/wp-content/uploads/2008/04/samba.pdf "La samba ballata da Mr. Linux (di Gabriele Galliani)"
[8]: http://bglug.it/wp-content/uploads/2008/04/sicurezza.pdf "la sicurezza nei sistemi Linux (di Marco Balduzzi)"
[9]: http://bglug.it/wp-content/uploads/2008/04/squid.pdf "un server proxy open source: Squid (di Marco Morosini)"
[10]: http://bglug.it/wp-content/uploads/2008/04/wxwindows.pdf "WxWindows: un framework per realizzare applicazioni con interfaccia utente nativa (di Marco Cavallini)"
[11]: http://bglug.it/wp-content/uploads/2008/04/xbox.pdf "Un pinguino in salotto - Linux su console (di Flavio Castelli)"

View File

@ -2,7 +2,6 @@
title: 'Tagsistant: un filesystem semantico per Linux'
author: Mangia
type: post
draft: true
date: 2008-04-18T13:52:09+00:00
url: /2008/04/18/tagsistant-un-filesystem-semantico-per-linux/
categories:
@ -25,8 +24,8 @@ Si tratta di [Tagsistant (o anche tagfs)][2], che "_utilizza FUSE per interfacci
Mettere una tag ad un file significa di fatto aggiungere nel database l'indicazione dell'etichetta associata al file stesso.
Tagsistant si occupa di rendere questa operazione automatica, senza importunare l'utente, quando un nuovo file viene creato, attraverso la sua copia o il suo spostamento tra le directory. (Questo significa che creare un link simbolico o copiare integralmente un file è di fatto la stessa cosa per Tagsistant)._"
A [questa pagina][3] è possibile rendersi meglio conto di come il sistema funzioni attraverso una demo interattiva.
A [questa pagina][2] è possibile rendersi meglio conto di come il sistema funzioni attraverso una demo interattiva.
[1]: http://fuse.sourceforge.net/ "libfuse"
[2]: http://www.tagsistant.net/ "Tagsistant"
[2]: https://web.archive.org/web/20080509131611/http://www.tagsistant.net/
[3]: http://www.tagsistant.net/browser.plp

View File

@ -2,7 +2,6 @@
title: 'Linux Day 2004: la rievocazione storica continua'
author: Mangia
type: post
draft: true
date: 2008-05-06T10:01:46+00:00
url: /2008/05/06/linux-day-2004-la-rievocazione-storica-continua/
xyz_smap:
@ -32,26 +31,19 @@ Prosegue la raccolta di materiale dagli archivi del vecchio sito del BGlug. Oggi
Ecco cosa potete scaricare:
[Sicurezze e False Sicurezze - Un confronto aperto tra modelli "free" e "proprietari" (di Stefano Zanero)][1]
[Introduzione alla programmazione in ambiente GNU/Linux con particolare riferimento al linguaggio C (di Marco Balduzzi)][2]
[La crittografia al servizio di Linux, conservare in maniera sicura i propri dati (di Flavio Castelli)][3]
[Introduzione alle distribuzioni (di Marco Salvi)][4]
[E-learning & Opensource (di Samuele E. Locatelli)][5]
[Compilazione del Kernel Linux 2.6.x (di Ermanno Novali)][6]
[La sfida dellOpen Source (di Roberto "Jimmi" Franceschini)][7]
- [Sicurezze e False Sicurezze - Un confronto aperto tra modelli "free" e "proprietari" (di Stefano Zanero)](beamer.pdf)
- [Introduzione alla programmazione in ambiente GNU/Linux con particolare riferimento al linguaggio C (di Marco Balduzzi)](coding.pdf)
- [La crittografia al servizio di Linux, conservare in maniera sicura i propri dati (di Flavio Castelli)](crittografia.pdf)
- [Introduzione alle distribuzioni (di Marco Salvi)](distro.pdf)
- [E-learning & Opensource (di Samuele E. Locatelli)](elearning.pdf)
- [Compilazione del Kernel Linux 2.6.x (di Ermanno Novali)](linux.pdf)
- [La sfida dellOpen Source (di Roberto "Jimmi" Franceschini)](opensource.pdf)
Buona lettura!
[1]: http://bglug.it/wp-content/uploads/2008/05/beamer.pdf
[2]: http://bglug.it/wp-content/uploads/2008/05/coding.pdf
[3]: http://bglug.it/wp-content/uploads/2008/05/crittografia.pdf
[4]: http://bglug.it/wp-content/uploads/2008/05/distro.pdf
[5]: http://bglug.it/wp-content/uploads/2008/05/elearning.pdf
[6]: http://bglug.it/wp-content/uploads/2008/05/linux.pdf
[7]: http://bglug.it/wp-content/uploads/2008/05/opensource.pdf

View File

@ -2,7 +2,6 @@
title: 'Linux Day 2005: avanti così, tra novità e vecchie glorie'
author: Mangia
type: post
draft: true
date: 2008-06-08T12:04:24+00:00
url: /2008/06/08/linux-day-2005-avanti-cosi-tra-novita-e-vecchie-glorie/
xyz_smap:
@ -26,21 +25,13 @@ tags:
---
Durante il **Linux Day 2005** sono stati affrontati, al solito, argomenti di varia natura: la consueta panoramica su Linux e le distribuzioni ha visto comparire qualche nome nuovo, mentre in altri interventi si parlava di networking sicuro, di espressioni regolari, ma anche di Wikipedia e di tutti i possibili utilizzi di Linux... dalle origini allo spazio!
<!--more-->
Ecco i pdf delle presentazioni:
<!--more-->Ecco i pdf delle presentazioni:
- [Le distribuzioni Linux (di Marco Salvi)](02-le-distribuzioni-linux.pdf)
- [Linux dalle origini allo spazio (di Antonio Milesi)](03-linux-dalle-origini-allo-spazio1.pdf)
- [Networking sicuro (di Marco Balduzzi)](04-networking-sicuro.pdf)
- [Wikipedia e Mediawiki: il progetto e la piattaforma (di Ermanno Novali)](06-wikipedia.pdf)
- [Alla scoperta delle Espressioni Regolari (di Flavio Castelli)](07-espressioni-regolari.pdf)
[Le distribuzioni Linux (di Marco Salvi)][1]
[Linux dalle origini allo spazio (di Antonio Milesi)][2]
[Networking sicuro (di Marco Balduzzi)][3]
[Wikipedia e Mediawiki: il progetto e la piattaforma (di Ermanno Novali)][4]
[Alla scoperta delle Espressioni Regolari (di Flavio Castelli)][5]
[1]: http://bglug.it/wp-content/uploads/2008/06/02-le-distribuzioni-linux.pdf
[2]: http://bglug.it/wp-content/uploads/2008/06/03-linux-dalle-origini-allo-spazio1.pdf
[3]: http://bglug.it/wp-content/uploads/2008/06/04-networking-sicuro.pdf
[4]: http://bglug.it/wp-content/uploads/2008/06/06-wikipedia.pdf
[5]: http://bglug.it/wp-content/uploads/2008/06/07-espressioni-regolari.pdf
Buona lettura!

View File

@ -1,8 +1,7 @@
---
title: BgLUG @ Keller estate 2008
title: BgLUG @ Keller - estate 2008
author: Mangia
type: post
draft: true
date: 2008-07-07T13:09:16+00:00
url: /2008/07/07/bglug-keller-estate-2008/
categories:
@ -11,8 +10,8 @@ tags:
- estate
- incontri
- sede
---
Da **mercoledì 9 luglio prossimo venturo**, e per tutto il resto dell'estate fino a settembre, gli incontri del BgLUG **non si terranno** presso la solita sede di largo Largo Rontgen n.3.
Farà da cornice ai nostri incontri densi di cicli di CPU sprecati in operazioni eleganti (cit) la **[birreria Keller di Curno][1]**, in via Bergamo, 23. Staremo all'esterno, sui tavoli all'aperto nell'area davanti al locale.

View File

@ -1,8 +1,7 @@
---
title: Postfix nirvana Parte I
title: Postfix nirvana - Parte I
author: jimmi
type: post
draft: true
date: 2008-07-24T04:29:37+00:00
url: /2008/07/24/postfix-nirvana-parte-i/
categories:
@ -19,55 +18,49 @@ tags:
- postfixadmin
- postgrey
- spamassassin
aliases:
- /postfix-nirvana-parte-i
---
_Questa è la prima parte della guida, e tratta delle impostazioni di base di Postfix. Nella <a title="BgLUG" href="http://bglug.it/2008/08/05/postfix-nirvana-parte-ii/" target="_blank">seconda parte</a> verranno affrontati i programmi accessori._
_Questa è la prima parte della guida, e tratta delle impostazioni di base di Postfix. Nella [seconda parte](/postfix-nirvana-parte-ii) verranno affrontati i programmi accessori._
Questo documento, scritto a quattro mani con Manuel, spiega come configurare un server di posta in modo da avere nel proprio sistema utenti, sia reali sia virtuali, che possono accedere tramite interfaccia web alle loro caselle e-mail, con protezione da virus, worm e spam.
<!--more-->
### Sommario
* [Introduzione][1]
* [Postfix: configurazione di base][2]
* [Amavisd-new, Spamassassin, ClamAV][3]
* [Postgrey][4]
* [Postfix e i suoi controlli anti-UCE][5]
### <a name="htoc1">Introduzione</a>
### Introduzione
Per utente virtuale si intende qualcuno che non ha un account fisico sulla macchina (non cè alcun suo riferimento nel file /etc/passwd) ed esiste solo per il sistema di posta. La gestione di questi utente avviene tramite interfaccia web e i loro dati sono registrati su un database SQL.
I mezzi scelti per conseguire lo scopo sono:
* <a title="Postfix" href="http://www.postfix.org/" target="_blank">Postfix 2.3.8<br /> </a>
* <a title="Amavisd-new" href="http://www.ijs.si/software/amavisd/" target="_blank">Amavisd-new 2.4.2</a>
* <a title="Clamav" href="http://clamav.net/" target="_blank">Clamav 0.93.1</a>
* <a title="Spamassassin" href="http://spamassassin.apache.org/" target="_blank">Spamassassin 3.2.3</a>
* <a title="Postgrey" href="http://postgrey.schweikert.ch/" target="_blank">Postgrey 1.27</a>
* <a title="Postfixadmin" href="http://postfixadmin.sourceforge.net/" target="_blank">Postfixadmin 2.2.0</a>
* <a title="Dovecot" href="http://dovecot.org/" target="_blank">Dovecot 1.0<br /> </a>
* <a title="Horde" href="http://horde.org/" target="_blank">Horde 3.1.3<br /> </a>
* <a title="Fetchmail" href="http://www.fetchmail.info/" target="_blank">Fetchmail 6.3.6<br /> </a>
- [Postfix 2.3.8](https://www.postfix.org/ "Postfix")
- [Amavisd-new 2.4.2](https://www.ijs.si/software/amavisd/ "Amavisd-new")
- [Clamav 0.93.1](https://www.clamav.net/ "Clamav")
- [Spamassassin 3.2.3](https://spamassassin.apache.org/ "Spamassassin")
- [Postgrey 1.27](https://postgrey.schweikert.ch/ "Postgrey")
- [Postfixadmin 2.2.0](https://postfixadmin.sourceforge.net/ "Postfixadmin")
- [Dovecot 1.0](https://dovecot.org/ "Dovecot")
- [Horde 3.1.3](https://www.horde.org/ "Horde")
- [Fetchmail 6.3.6](https://www.fetchmail.info/ "Fetchmail")
Per questa installazione ho inoltre utilizzato:
* <a title="Apache" href="http://apache.org/" target="_blank">Apache 2.2.3 </a>
* <a title="MySQL" href="http://www.mysql.com/" target="_blank">MySQL 5.0.32</a>
* <a title="PHP" href="http://www.php.net/" target="_blank">PHP 4.4.4</a>
- [Apache 2.2.3](https://apache.org/ "Apache")
- [MySQL 5.0.32](https://www.mysql.com/ "MySQL")
- [PHP 4.4.4](https://www.php.net/ "PHP")
la cui configurazione va però oltre gli scopi di questo howto. Tutti questi software sono stati installati partendo dai pacchetti offerti dalla distribuzione Debian Etch. Le principali fonti di ispirazione sono stati un howto precedentemente scritto da Manuel, <a title="Howtoforge" href="http://www.howtoforge.com/virtual_postfix_mysql_quota_courier" target="_blank">Howtoforge</a>, i wiki di <a title="Dovecot" href="http://wiki.dovecot.org/" target="_blank">Dovecot</a>, <a title="Horde" href="http://wiki.horde.org/WikiHome?referrer=WikiHome" target="_blank">Horde</a>, <a title="Debian" href="http://wiki.debian.org/Horde" target="_blank">Debian</a> e <a title="Debian Administration" href="http://www.debian-administration.org/articles/259" target="_blank">Debian Administration</a>.
la cui configurazione va però oltre gli scopi di questo howto. Tutti questi software sono stati installati partendo dai pacchetti offerti dalla distribuzione Debian Etch. Le principali fonti di ispirazione sono stati un howto precedentemente scritto da Manuel, [Howtoforge](http://www.howtoforge.com/virtual_postfix_mysql_quota_courier "Howtoforge"), i wiki di [Dovecot](https://doc.dovecot.org/ "Dovecot"), [Horde](https://wiki.horde.org/Wiki/Home?referrer=WikiHome "Horde"), [Debian](http://wiki.debian.org/Horde "Debian") e [Debian Administration](https://web.archive.org/web/20090228161415/https://debian-administration.org/articles/259 "Debian Administration").
### <a name="htoc2">Postfix: configurazione di base</a>
### Postfix: configurazione di base
Prima di procedere all'installazione di Postfix occorre assicurarsi che la propria macchina sia FQDN, cioè abbia un nome corretto (per intenderci, al comando hostname deve rispondere qualsiasi cosa che non sia localhost o localhost.localdomain). Per questo occorre impostare il nome macchina e settare il file `/etc/hosts` correttamente.
I principali file di configurazione sono due: `main.cf` in cui stanno tutti i parametri della parte MTA e `master.cf` in cui stanno i parametri del demone, ed entrambi si trovano in `/etc/postfix`.
Il `main.cf` ha moltissime opzioni (potete trovare [qui][6] un elenco completo); vediamo le più importanti (che vanno modificate rispetto al default):
Il `main.cf` ha moltissime opzioni (potete trovare [qui](https://www.postfix.org/postconf.5.html) un elenco completo); vediamo le più importanti (che vanno modificate rispetto al default):
<pre># questa sezione riguarda le mail 'rimbalzate' :
```
# questa sezione riguarda le mail 'rimbalzate' :
# si specifica cosa notificare e a quale account
soft_bounce = no
@ -108,7 +101,8 @@ relay_domains = $mydestination
alias_maps = hash:/etc/postfix/aliases
alias_database = hash:/etc/postfix/aliases
sender_canonical_maps = hash:/etc/postfix/sender_canonical</pre>
sender_canonical_maps = hash:/etc/postfix/sender_canonical
```
per ora il `master.cf` non va toccato.
@ -116,7 +110,9 @@ Sono da controllare anche il file `aliases` e il `sender_canonical`.
Nel file `aliases` ci sono i riferimenti ai vari utenti e serve per decidere chi è il destinatario delle mail: va modificato specificando a chi va recapitata la posta di root, solitamente l'utente di 'manutenzione' che utilizzate nel vostro sistema (non usate root per queste cose, vero?). Ad ogni modifica del file aliases deve seguire il comando:
<pre># postalias /etc/postfix/aliases</pre>
```
# postalias /etc/postfix/aliases
```
per aggiornare il database aliases, che viene scritto nel file `aliases.db`.
@ -124,17 +120,21 @@ Attenzione perché può esistere anche un file `/etc/aliases`: è quello che uti
Il `sender_canonical` invece serve per tradurre gli account degli utenti locali in indirizzi di posta elettronica. Una volta modificato occorre dare:
<pre># postmap /etc/postfix/sender_canonical</pre>
```
# postmap /etc/postfix/sender_canonical
```
se tutto è ok si può far partire postfix e testarlo con:
<pre># telnet 127.0.0.1 25
```
# telnet 127.0.0.1 25
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
220 ESMTP Postfix</pre>
220 ESMTP Postfix
```
### <a name="htoc3">Amavisd-new, Spamassassin, ClamAV</a>
### Amavisd-new, Spamassassin, ClamAV
La configurazione che ho effettuato fino ad ora è sufficiente per un valido, robusto e sicuro sistema di posta. Purtroppo però si sente sempre più l'esigenza di proteggere da virus e spam gli utenti: in prima battuta non ci si pensa, ma se un nostro cliente ha un virus che invia mail a raffica la cosa si ripercuote anche su di noi, sovraccaricando il nostro MTA e rischiando di farlo finire in qualche black-list da cui è poi difficile uscire...
@ -145,16 +145,21 @@ Amavisd-new è una delle versioni demone di amavis-perl; gli aspetti più intere
Sia Spamassassin che ClamAV devono essere costantemente aggiornati per essere efficaci, cosa che non è sempre garantita con i repository di Debian. Per questa ragione è consigliabile scaricarli dai repository di volatile, aggiungendo a `/etc/apt/sources.list` la riga:
<pre>deb http://ftp2.de.debian.org/debian-volatile sarge/volatile main</pre>
```
deb http://ftp2.de.debian.org/debian-volatile sarge/volatile main
```
per installare il tutto eseguo da riga di comando:
<pre># apt-get update
# apt-get install amavisd-new spamassassin clamav clamav-daemon clamav-freshclam zoo unzip bzip2 unzoo nomarch lzop pax</pre>
```
# apt-get update
# apt-get install amavisd-new spamassassin clamav clamav-daemon clamav-freshclam zoo unzip bzip2 unzoo nomarch lzop pax
```
Passo quindi alla configurazione. È necessario abilitare ClamAV e Spamassassin in `/etc/amavis/conf.d/15-content_filter_mode`, che dovrà avere questo aspetto:
<pre>use strict;
```
use strict;
# You can modify this file to re-enable SPAM checking
# through spamassassin and to re-enable antivirus checking.
@ -174,26 +179,34 @@ Passo quindi alla configurazione. È necessario abilitare ClamAV e Spamassassin
@bypass_spam_checks_maps = (
\%bypass_spam_checks, \@bypass_spam_checks_acl, \$bypass_spam_checks_re);
1; # ensure a defined return</pre>
1; # ensure a defined return
```
ed è consigliabile aggiungere la riga
<pre>$pax='pax';</pre>
```
$pax='pax';
```
nel file `/etc/amavis/conf.d/50-user`. Normalmente le impostazioni di default contenute in `/etc/amavis/conf.d/20-debian_defaults` non devono essere modificate. Riavvio i demoni con:
<pre>/etc/init.d/amavis restart
```
/etc/init.d/amavis restart
/etc/init.d/clamav-daemon restart
/etc/init.d/clamav-freshclam restart</pre>
/etc/init.d/clamav-freshclam restart
```
e posso proseguire nella configurazione di Postfix. Per fare in modo che le mail vengano inoltrate al demone di amavisd-new aggiungo le seguenti righe a `/etc/postfix/main.cf`:
<pre>content_filter = amavis:[127.0.0.1]:10024
receive_override_options = no_address_mappings</pre>
```
content_filter = amavis:[127.0.0.1]:10024
receive_override_options = no_address_mappings
```
e poi aggiungo le seguenti in `/etc/postfix/master.cf`:
<pre>amavis unix - - - - 2 smtp
```
amavis unix - - - - 2 smtp
-o smtp_data_done_timeout=1200
-o smtp_send_xforward_command=yes
@ -210,80 +223,102 @@ e poi aggiungo le seguenti in `/etc/postfix/master.cf`:
-o strict_rfc821_envelopes=yes
-o receive_override_options=\
no_unknown_recipient_checks,no_header_body_checks
-o smtpd_bind_address=127.0.0.1</pre>
-o smtpd_bind_address=127.0.0.1
```
Faccio ripartire postfix e con "`netstat -tap`" vedo Postfix (master) in ascolto sulle porte 25 (smtp) e 10025 e amavisd-new sulla porta 10024. Dopo aver spedito o ricevuto alcune e-mail posso verificare il funzionamento di tutto nei log.
ClamAV non ha solitamente bisogno di alcuna impostazione particolare. Il demone _freshclam_ provvederà a tenere sempre aggiornato il database dei virus. Debian durante l'installazione crea già gli utenti e i gruppi necessari. Sarà sufficiente aggiungere l'utente _clamav_ al gruppo _amavis_ e riavviare i demoni con i comandi:
<pre># adduser clamav amavis
```
# adduser clamav amavis
# /etc/init.d/amavis restart
# /etc/init.d/clamav-daemon restart
# /etc/init.d/clamav-freshclam restart</pre>
# /etc/init.d/clamav-freshclam restart
```
Spamassassin è un software scritto in Perl in grado di identificare e bloccare la posta indesiderata (chiamata spam, UCE - unsollicited commercial e-mail oppure anche UBE - unsollicited bulk e-mail) con una buona accuratezza tramite una serie di test euristici sugli headers e sul corpo della mail.
Come impostazioni di base, è richiesto a Spamassassin di raggiungere un punteggio pari a 6.3 per identificare la mail come spam; io ho abbassato la soglia fino a 5 impostando in `/etc/spamassassin/local.cf`:
<pre>required_score 5.0</pre>
```
required_score 5.0
```
e fino ad ora non mi è mai capitato che abbia bloccato una mail che non fosse spam, ed ha lasciato passare alcune e-mail che invece lo erano. Ovviamente non si può garantire un accuratezza del 100% perché si rischierebbe di stringere troppo i controlli ed avere troppi falsi positivi.
A questo punto per Debian modifico il file /etc/default/spamassassin con:
<pre>ENABLED=1</pre>
```
ENABLED=1
```
Ed avvio il demone:
<pre># /etc/init.d/spamassassin start</pre>
```
# /etc/init.d/spamassassin start
```
Una delle caratteristiche più utili di Spamassassin sono i filtri "bayesiani" che filtrano le mail sulla base di sequenze di caratteri che compaiono spesso nello spam, e che vengono abilitati in `/etc/spamassassin/local.cf` dalle righe:
<pre># Enable the Bayes system
```
# Enable the Bayes system
use_bayes 1
bayes_path /var/lib/amavis/.spamassassin/bayes
# Enable Bayes auto-learning
bayes_auto_learn 1</pre>
bayes_auto_learn 1
```
la seconda riga dice dove si trova il database, l'indirizzo è quello della configurazione standard di Debian, e l'ultima attiva l'autoapprendimento, che inizierà al riavvio Spamassassin. Per fargli apprendere più velocemente è possibile dargli in pasto delle directory contenenti spam o mail "pulite", loggandosi come utente amavis e dando i comandi:
<pre>sa-learn --spam -C /var/lib/amavis/.spamassassin/ --showdots [directorySPAM]
sa-learn --ham -C /var/lib/amavis/.spamassassin/ --showdots [directoryHAM]</pre>
```
sa-learn --spam -C /var/lib/amavis/.spamassassin/ --showdots [directorySPAM]
sa-learn --ham -C /var/lib/amavis/.spamassassin/ --showdots [directoryHAM]
```
Per tenere le regole sempre aggiornate posso scaricare periodicamente i file configurazione (rules, scores, etc.) inserendo in crontab una riga tipo:
<pre>0 4 * * * sa-update && /etc/init.d/spamd restart</pre>
```
0 4 * * * sa-update && /etc/init.d/spamd restart
```
È anche possibile aggiungere a Spamassassin moduli come Razor2, Pyzor, DCC, ma questo va un poco oltre lo scopo di questo howto, quindi vi rimando alla <a title="HowtoForge" href="http://www.howtoforge.com/virtual-users-domains-postfix-courier-mysql-squirrelmail-ubuntu8.04-p3" target="_blank">documentazione specifica</a>.
È anche possibile aggiungere a Spamassassin moduli come Razor2, Pyzor, DCC, ma questo va un poco oltre lo scopo di questo howto, quindi vi rimando alla [documentazione specifica](http://www.howtoforge.com/virtual-users-domains-postfix-courier-mysql-squirrelmail-ubuntu8.04-p3 "HowtoForge").
### <a name="htoc4">Postgrey</a>
### Postgrey
I filtri tipo greylist sono uno dei recenti metodi di lotta allo SPAM, e si basano sul fatto che la maggior parte degli spammer inviano i messaggi attraverso server che non gestiscono una coda per la ritrasmissione dei messaggi falliti. Quando una mail viene ricevuta per la prima volta viene registrata la tripletta server/mittente/destinatario e viene respinta con un messaggio 450 di errore temporaneo. I server di cui sopra non riproveranno, mentre un server regolare dovrebbe riprovare l'invio dopo qualche minuto, quando il nostro server, dopo aver verificato la tripletta, lo accetterà. Questo provoca un ritardo nella ricezione di tutte le e-mail, ma evita la ricezione di gran parte dello spam.
Debian mette a disposizione Posgrey, che implementa una greylist in Postfix. L'installazione si esegue come sempre con:
<pre># apt-get install postgrey</pre>
```
# apt-get install postgrey
```
dopo l'installazione trovo il demone in ascolto sulla porta 60000, come posso verificare con:
<pre># netstat -anp | grep 60000
tcp 0 0 127.0.0.1:60000 0.0.0.0:* LISTEN 18478/postgrey.pid</pre>
```
# netstat -anp | grep 60000
tcp 0 0 127.0.0.1:60000 0.0.0.0:* LISTEN 18478/postgrey.pid
```
Per fare in modo che Postfix usi il demone devo aggiungere la seguente riga in /etc/postfix/main.cf, tra le "smtpd\_recipient\_restrictions":
<pre>check_policy_service inet:127.0.0.1:60000</pre>
```
check_policy_service inet:127.0.0.1:60000
```
Controllando il log posso vedere il tutto funzionare alla prima ricezione
### <a name="htoc5">Postfix e i suoi controlli anti-UCE</a>
### Postfix e i suoi controlli anti-UCE
Postfix prevede la possibilità di effettuare un certo numero di test sulle mail in transito: è possibile controllare gli headers e il corpo del messaggio, mittenti e i destinatari, parti mime ed allegati. Lo svantaggio è che tutto questo causa un forte appesantimento del sistema di posta, e l'accuratezza non è molto elevata (c'è il rischio di avere molti falsi positivi e falsi negativi).
Nel main.cf possiamo specificare questi controlli (che sono una piccola parte rispetto a quelli disponibili):
<pre># vengono specificate le tavole con cui confrontare le mail
```
# vengono specificate le tavole con cui confrontare le mail
# in transito. Se sul vostro sistema è installato pcre è
# consigliabile utilizzare questo al posto delle regexp per
# questioni di velocità.
@ -332,7 +367,8 @@ smtpd_recipient_restrictions = permit_mynetworks,
# utenti non più attivi che ricevono e-mail valide può essere
# utile avvisare il mittente che lindirizzo non è più
# valido, ed eventualmente comunicare il nuovo indirizzo.
relocated_maps = hash:/etc/postfix/relocated</pre>
relocated_maps = hash:/etc/postfix/relocated
```
Vediamo più da vicino queste mappe (e come si compilano): alcune sono di tipo _hash_ ed altre di tipo _pcre_ (o regexp). Per quelle di tipo hash occorre dare il comando postmap prima di riavviare postfix per aggiornare il database, mentre per le altre basta solamente riavviare il demone postfix.
@ -340,13 +376,16 @@ Vediamo più da vicino queste mappe (e come si compilano): alcune sono di tipo _
la forma in cui devono essere messe le regole è:
<pre>/pattern/ AZIONE MOTIVAZIONE</pre>
```
/pattern/ AZIONE MOTIVAZIONE
```
Tra pattern, azione e motivazione ci deve essere almeno uno spazio; per questioni di chiarezza visiva mi piace impaginare il file utilizzando vari [tab] in maniera da avere tutto incolonnato.
Un esempio di body_checks è:
<pre># il testo che vogliamo intercettare va messo tra / /, e può
```
# il testo che vogliamo intercettare va messo tra / /, e può
# contenere spazi. La clausola REJECT indica il rifiuto del
# messaggio (ce ne sono altre: OK, WARN, ecc..)
# [A10] è un codice univoco che utilizzo io per capire quale
@ -356,11 +395,13 @@ Un esempio di body_checks è:
# [A10] Your email had spam-like body contents.
# Si può leggere il file sample-pcre-body.cf.
/sono spammer/ REJECT [A10] Your email had spam-like body contents.</pre>
/sono spammer/ REJECT [A10] Your email had spam-like body contents.
```
si può anche andare sul complicato utilizzando le espressioni regolari:
<pre># così io impedisco il recapito di mail con allegati dei file aventi
```
# così io impedisco il recapito di mail con allegati dei file aventi
# estensioni che fanno supporre la presenza di virus; come visto
# prima si può mettere un testo dopo il reject che spiega la
# motivazione e suggerisce di zippare l'allegato per poterlo inviare.
@ -368,13 +409,15 @@ si può anche andare sul complicato utilizzando le espressioni regolari:
/name=".*\.(com|exe|bat|cmd)"/ REJECT [1] Filetype not permitted, please ZIP them
/name=".*\.(hta|vb[esx]|wsf|wsh|js|jse)"/ REJECT [2] Filetype not permitted, please ZIP them
/name=".*\.(shb|shs|lnk|chm|pif|scr)"/ REJECT [3] Possible virus attachment
/^TVqQAAMAAAAEAAAA\/\/8AALgAAAAAAAAAQAAA/ REJECT [4] Possible virus attachment</pre>
/^TVqQAAMAAAAEAAAA\/\/8AALgAAAAAAAAAQAAA/ REJECT [4] Possible virus attachment
```
**/etc/postfix/header_checks (pcre o regexp)**
la forma è la medesima di body_ckecks, ma in questo caso dobbiamo specificare gli headers:
<pre># si lavora ad esempio sul programma con cui è stata creata
```
# si lavora ad esempio sul programma con cui è stata creata
# la mail, sul soggetto, ma ci si può sbizzarrire...
/^X-Mailer: Floodgate/ REJECT [A19] Spam-like header contents.
@ -385,17 +428,20 @@ la forma è la medesima di body_ckecks, ma in questo caso dobbiamo specificare g
# per maggiori informazioni si veda il file sample-pcre-header.cf
/^From:.*utente@dominio*$/ REJECT This account sends spam.
/^To:.*utente@dominio.locale*$/ REJECT This account isn't active.</pre>
/^To:.*utente@dominio.locale*$/ REJECT This account isn't active.
```
**/etc/postfix/mime\_header\_checks (pcre o regexp)**
è una tavola specifica per le estensioni mime, che possono sfuggire ai controlli sul body e sugli headers; la sintassi è del tutto simile ai due file precedenti.
Io utilizzo clausole molto simili a questa:
<pre># blocco i file .pif (e allo stesso modo qualsiasi file con
```
# blocco i file .pif (e allo stesso modo qualsiasi file con
# estensione pericolosa).
/name=[^&gt;]*\.pif/ REJECT Files .pif may contain viruses.</pre>
/name=[^&gt;]*\.pif/ REJECT Files .pif may contain viruses.
```
**/etc/postfix/access (hash)**
@ -404,7 +450,8 @@ La sintassi prevede 3 categorie su cui effettuare i confronti: un utente ben det
Ad esempio:
<pre># occorre specificare il codice e la risposta che postfix restituisce
```
# occorre specificare il codice e la risposta che postfix restituisce
# al mittente. Nei primi due casi andiamo in match su indirizzi e-mail
# completi nel terzo esempio il confronto lo si fa sullutente e nel
# quarto sul dominio per altre informazioni man 5 access
@ -413,7 +460,8 @@ Ad esempio:
utente1@dominio1 550 You are a spammer!
pippo@dominio2 550 This account is no longer active
utente@ 550 Your email comes from a blacklisted address
dominio 550 Your email comes from a blacklisted domain</pre>
dominio 550 Your email comes from a blacklisted domain
```
Il file access e anche importante per effettuare delle whitelist sugli indirizzi da accettare, anche se provengono da utenti, domini o indirizzi IP elencati in qualche black-list.
@ -421,21 +469,16 @@ In particolare dobbiamo, nel rispetto delle RFC, accettare qualsiasi cosa indiri
Quindi inseriamo:
<pre>postmaster@nomedominio OK
abuse@nomedominio OK</pre>
```
postmaster@nomedominio OK
abuse@nomedominio OK
```
Se qualche nostro utente vuole ricevere posta da utenti in BL, possiamo elencare qui i mittenti specifici o lintero dominio di appartenenza:
<pre>utente@dominioinbl OK
dominioinbl OK</pre>
```
utente@dominioinbl OK
dominioinbl OK
```
<p style="text-align: right;">
<a title="BgLUG" href="http://bglug.it/2008/08/05/postfix-nirvana-parte-ii/" target="_blank"><em>Continua...</em></a>
</p>
[1]: #htoc1
[2]: #htoc2
[3]: #htoc3
[4]: #htoc4
[5]: #htoc5
[6]: http://www.postfix.org/postconf.5.html "Postfix"
[_Continua..._](/postfix-nirvana-parte-ii)

View File

@ -1,8 +1,7 @@
---
title: Postfix nirvana Parte II
title: Postfix nirvana - Parte II
author: jimmi
type: post
draft: true
date: 2008-08-05T11:27:46+00:00
url: /2008/08/05/postfix-nirvana-parte-ii/
categories:
@ -19,34 +18,30 @@ tags:
- postfixadmin
- postgrey
- spamassassin
aliases:
- /postfix-nirvana-parte-ii
---
_Ecco la seconda parte della guida al buon server mail. Come preannunciato nella <a title="BgLUG" href="http://bglug.it/2008/07/24/postfix-nirvana-parte-i/" target="_blank">prima parte</a>, qui parleremo dei programmi accessori che permettono di creare facilmente mailbox virtuali e di rendere la posta (e non solo) disponibile all'utente tramite una interfaccia web avanzata. Voglio anche qui ringraziare Manuel per il decisivo contributo alla realizzazione della guida._
_Ecco la seconda parte della guida al buon server mail. Come preannunciato nella [prima parte](/postfix-nirvana-parte-i), qui parleremo dei programmi accessori che permettono di creare facilmente mailbox virtuali e di rendere la posta (e non solo) disponibile all'utente tramite una interfaccia web avanzata. Voglio anche qui ringraziare Manuel per il decisivo contributo alla realizzazione della guida._
<!--more-->
### Sommario
* [Postfixadmin][1]
* [Postfix: domini e mailbox virtuali][2]
* [Dovecot][3]
* [Dovecot LDA][4]
* [Horde][5]
* [Fetchmail e Gmail server relay][6]
### <a name="htoc1">Postfixadmin</a>
### Postfixadmin
È giunto il momento di installare Postfixadmin, che permette di gestire domini virtuali, mailboxes e alias tramite una interfaccia web costruita in PHP. Postifxadmin è pacchettizzato in Debian Etch, quindi l'installazione dei file avviene con un semplice "`apt-get install postfixadmin`".
L'operazione successiva è la creazione del database e dell'utente amministratore. È possibile farlo semplicemente con <a title="phpMyAdmin" href="http://www.phpmyadmin.net" target="_blank">phpMyAdmin</a>, oppure direttamente tramite il prompt di MySQL con i comandi:
L'operazione successiva è la creazione del database e dell'utente amministratore. È possibile farlo semplicemente con [phpMyAdmin](https://www.phpmyadmin.net), oppure direttamente tramite il prompt di MySQL con i comandi:
<pre>CREATE DATABASE postfix;
```
CREATE DATABASE postfix;
CREATE USER 'postfix'@'localhost' IDENTIFIED BY 'choose_a_password';
GRANT ALL PRIVILEGES ON `postfix` . * TO 'postfix'@'localhost';</pre>
GRANT ALL PRIVILEGES ON `postfix` . * TO 'postfix'@'localhost';
```
sostituendo gli opportuni valori, ed inserendo poi gli stessi valori nel file di configurazione `/etc/postfixadmin/config.inc.php`. Nello stesso file, oltre ai dati del database, è necessario cambiare il valore di `$CONF['configured']` da _false_ a _true_ per poter inizializzare l'applicazione. Io preferisco avere le varie maidir degli utenti suddivise in directory separate per dominio, per cui imposto:
<pre>$CONF['domain_path'] = 'YES';</pre>
```
$CONF['domain_path'] = 'YES';
```
A questo punto imposto un VirtualHost sul server web che punti alla directory del programma, nel caso di Debian `/usr/share/postfixadmin/`, dirigo il browser su `http://INDIRIZZO_DI_POSTFIXADMIN/setup.php` e, dopo la creazione delle tabelle, mi appare una lista di 'OK' e il form per la creazione dell'utente amministratore. Lo inserisco e posso eseguire il login.
@ -54,119 +49,156 @@ Postfixadmin offre all'utente la possibilità di impostare gli inoltri automatic
Creo innanzitutto un utente ed un gruppo _vacation_, aggiungendo a `/etc/passwd` la riga:
<pre>vacation:*:65501:65501::0:0:Virtual Vacation:/nonexistent:/usr/sbin/nologin</pre>
```
vacation:*:65501:65501::0:0:Virtual Vacation:/nonexistent:/usr/sbin/nologin
```
ed a /etc/group la riga:
<pre>vacation:*:65501:</pre>
```
vacation:*:65501:
```
Quindi creo una directory di base per l'autorisponditore, vi copio il file `vacation.pl`, che in Debian si trova in `/usr/share/doc/postfixadmin/VIRTUAL_VACATION/`, e cambio i permessi di tutto:
<pre># mkdir /var/spool/vacation
```
# mkdir /var/spool/vacation
# cd /usr/share/doc/postfixadmin/VIRTUAL_VACATION/
# cp vacation.pl /var/spool/vacation/
# chown vacation:vacation -R /var/spool/vacation</pre>
# chown vacation:vacation -R /var/spool/vacation
```
Nel file `vacation.pl` devo inserire gli estremi del database modificando le righe:
<pre>my $db_type = 'mysql';
```
my $db_type = 'mysql';
my $db_username = 'postfix';
my $db_password = 'password';
my $db_name = 'postfix';</pre>
my $db_name = 'postfix';
```
ed infine abilitare il modulo modificando nel file
`/etc/postfixadmin/config.inc.php` le righe:
<pre>$CONF['vacation'] = 'YES';
$CONF['vacation_domain'] = 'vacation.nomedominio';</pre>
```
$CONF['vacation'] = 'YES';
$CONF['vacation_domain'] = 'vacation.nomedominio';
```
Per far funzionare l'autorisponditore sono necessari tre moduli Perl. Due di questi li posso installare con:
<pre>apt-get install libemail-valid-perl libmail-sendmail-perl</pre>
```
apt-get install libemail-valid-perl libmail-sendmail-perl
```
mentre il terzo non è incluso nei repository di _Debian Etch_. È però possibile scaricare il pachetto dai repository di _Debian Lenny_ (testing) ed installarlo senza incontrare problemi di dipendenze con:
<pre># wget http://ftp.it.debian.org/debian/pool/main/libm/libmime-encwords-perl/libmime-encwords-perl_1.010.101-1_all.deb
# dpkg -i libmime-encwords-perl_1.010.101-1_all.deb</pre>
```
# wget http://ftp.it.debian.org/debian/pool/main/libm/libmime-encwords-perl/libmime-encwords-perl_1.010.101-1_all.deb
# dpkg -i libmime-encwords-perl_1.010.101-1_all.deb
```
In ultimo dobbiamo definire il servizio _vacation_ e fare in modo che i messaggi indirizzari al domino _vacation.nomedominio_ vi siano girati. Per fare questo aggiungo al file `/etc/postfix/master.cf` le righe:
<pre>vacation unix - n n - - pipe
flags=Rq user=vacation argv=/var/spool/vacation/vacation.pl -f ${sender} -- ${recipient}</pre>
```
vacation unix - n n - - pipe
flags=Rq user=vacation argv=/var/spool/vacation/vacation.pl -f ${sender} -- ${recipient}
```
creo poi un file `/etc/postfix/transport` contenente la riga:
<pre>vacation.nomedominio vacation:</pre>
```
vacation.nomedominio vacation:
```
compilo il database con:
<pre>#postmap /etc/postfix/transport</pre>
```
#postmap /etc/postfix/transport
```
ed aggiungo a `/etc/postfix/main.cf` la riga:
<pre>transport_maps = hash:/etc/postfix/transport</pre>
```
transport_maps = hash:/etc/postfix/transport
```
Il tutto è ora pronto a funzionare, ma per utilizzarlo devo modificare la configurazione di Postfix.
### <a name="htoc2">Postfix: domini e mailbox virtuali</a>
### Postfix: domini e mailbox virtuali
Per fare in modo che Postfix veda i domini virtuali creati da Postfixadmin devo aggiungere le seguenti righe in `/etc/postfix/main.cf`:
<pre>virtual_alias_maps = mysql:/etc/postfix/mysql_virtual_alias_maps.cf
```
virtual_alias_maps = mysql:/etc/postfix/mysql_virtual_alias_maps.cf
virtual_mailbox_domains = mysql:/etc/postfix/mysql_virtual_domains_maps.cf
virtual_mailbox_maps = mysql:/etc/postfix/mysql_virtual_mailbox_maps.cf
virtual_mailbox_base = /home/mail
virtual_uid_maps = static:6000
virtual_gid_maps = static:6000</pre>
virtual_gid_maps = static:6000
```
che indicano rispettivamente gli indirizzi delle mappe del database, l'indirizzo della directory dove verrannno create le mailbox virtuali, e l'utente e gruppo proprietari delle mailbox. L'utente e il gruppo devono esistere nel file /etc/passwd:
<pre>vmail:x:6000:6000::/home/mail:/bin/sh</pre>
```
vmail:x:6000:6000::/home/mail:/bin/sh
```
e in /etc/group:
<pre>vmail:x:6000:</pre>
```
vmail:x:6000:
```
e devo creare la directory con i giusti permessi
<pre># mkdir /home/mail
# chown vmail:vmail /home/mail</pre>
```
# mkdir /home/mail
# chown vmail:vmail /home/mail
```
Le mappe sono file di testo composti come segue:
mysql\_virtual\_alias_maps.cf:
<pre>user = postfix
```
user = postfix
password = password
hosts = 127.0.0.1
dbname = postfix
table = alias
select_field = goto
where_field = address</pre>
where_field = address
```
mysql\_virtual\_domains_maps.cf:
<pre>user = postfix
```
user = postfix
password = password
hosts = 127.0.0.1
dbname = postfix
table = domain
select_field = description
where_field = domain</pre>
where_field = domain
```
mysql\_virtual\_mailbox_maps.cf:
<pre>user = postfix
```
user = postfix
password = password
hosts = 127.0.0.1
dbname = postfix
table = mailbox
select_field = maildir
where_field = username</pre>
where_field = username
```
Ora sono pronto a inserire, tramite l'interfaccia di Postfixadmin, il mio primo dominio virtuale e i relativi alias e mailboxes. Dopo averlo riavviato Postfix è pronto a ricevere mail per gli account impostati. Posso testare il tutto in locale con telnet:
<pre># telnet localhost 25
```
# telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
@ -200,24 +232,30 @@ prova mail
quit
221 2.0.0 Bye
Connection closed by foreign host.</pre>
Connection closed by foreign host.
```
Se tutto è a posto troverò la mail nell'Inbox dell'utente.
### <a name="htoc3">Dovecot</a>
### Dovecot
Passo ad occuparmi ora del server IMAP. Anche Dovecot è pacchettizato da Debian, e si installa con:
<pre>apt-get install dovecot-imapd dovecot-pop3d</pre>
```
apt-get install dovecot-imapd dovecot-pop3d
```
È possibile attivare facilmente i server imap, imaps, pop3 e pop3s aggiungendo a `/etc/dovecot/dovecot.conf`:
<pre>protocols = imap imaps pop3 pop3s</pre>
```
protocols = imap imaps pop3 pop3s
```
ed eventualmente modificando le sezioni dedicate nello stesso file. Per fare in modo che Dovecot utilizzi le mailbox virtuali modifico seguenti righe di
`/etc/dovecot/dovecot.conf`:
<pre>mail_location = maildir:/home/mail/%d/%n
```
mail_location = maildir:/home/mail/%d/%n
auth default {
mechanisms = plain login
passdb sql {
@ -233,35 +271,43 @@ mode = 0660
user = postfix
group = postfix
}
}</pre>
}
```
La sezione "`client`" serve per abilitare l'autenticazione SASL in postfix, che si attiva aggiungendo le seguenti righe in `/etc/postfix/main.cf`:
<pre>smtpd_sasl_auth_enable = yes
```
smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain = $myhostname
smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth</pre>
smtpd_sasl_path = private/auth
```
Per ottenere i dati dell'utente dal database aggiungo poi il file
`/etc/dovecot/dovecot-mysql.conf`:
<pre>driver = mysql
```
driver = mysql
password_query = SELECT password FROM mailbox WHERE username = '%u'
user_query = SELECT maildir, 6000 AS uid, 6000 AS gid FROM mailbox WHERE username = '%u'
connect = host=127.0.0.1 port=3306 dbname=postfix user=postfix password=password default_pass_scheme = CRYPT</pre>
connect = host=127.0.0.1 port=3306 dbname=postfix user=postfix password=password default_pass_scheme = CRYPT
```
Al riavvio di Dovecot se tutto funziona posso leggere le seguenti righe nei log:
<pre>dovecot: 2008-07-13 19:40:42 Info: Dovecot v1.0.rc15 starting up
dovecot: 2008-07-13 19:40:43 Info: auth-worker(default): mysql: Connected to 127.0.0.1 (postfix)</pre>
```
dovecot: 2008-07-13 19:40:42 Info: Dovecot v1.0.rc15 starting up
dovecot: 2008-07-13 19:40:43 Info: auth-worker(default): mysql: Connected to 127.0.0.1 (postfix)
```
### <a name="htoc4">Dovecot LDA</a>
### Dovecot LDA
Dovecot fornisce anche un programma per la consegna dei messaggi agli utenti virtuali, chiamato Dovecot **L**ocal **D**elivery **A**gent, che può sostituire _virtual_ fornito dal Postfix, con alcune funzionalità aggiuntive, come l'indicizzazione delle mailbox, l'utilizzo di quote utente e di Sieve tramite appositi plugin. Per abilitarlo devo aggiungere al file `/etc/dovecot/dovecot.conf` le righe:
<pre>protocol lda {
```
protocol lda {
..
# UNIX socket path to master authentication server to find users.
#auth_socket_path = /var/run/dovecot/auth-master
@ -281,46 +327,55 @@ auth default {
}
}
..
}</pre>
}
```
Posso ora aggiungere il servizio in Postfix, aggiungendo a
`/etc/postfix/master.cf`:
<pre>dovecot unix - n n - - pipe
flags=DRhu user=vmail:vmail argv=/usr/lib/dovecot/deliver -d ${recipient}</pre>
```
dovecot unix - n n - - pipe
flags=DRhu user=vmail:vmail argv=/usr/lib/dovecot/deliver -d ${recipient}
```
e indicargli di utilizzarlo inserendo in `/etc/postfix/main.cf` le righe:
<pre>virtual_transport = dovecot
dovecot_destination_recipient_limit = 1</pre>
```
virtual_transport = dovecot
dovecot_destination_recipient_limit = 1
```
Con queste impostazioni _deliver_, che funziona da utente non privilegiato, genera un errore. Per evitarlo nella <a title="Dovecot MarkMail" href="http://dovecot.markmail.org/" target="_blank">mailing list</a> di Dovecot consigliano di impostare _deliver_ a SUID con il comando:
<pre># chmod u+s /usr/lib/dovecot/deliver</pre>
```# chmod u+s /usr/lib/dovecot/deliver```
Riavvio Dovecot e Postfix, e alla prima ricezione posso trovare nei log qualcosa di simile a questo:
<pre>server postfix/pipe[23496]: 23FD715DF87: to=&lt;utente@nomedominio&gt;, relay=dovecot, delay=0.4, delays=0.07/0.02/0/0.31, dsn=2.0.0, status=sent (delivered via dovecot service)</pre>
```server postfix/pipe[23496]: 23FD715DF87: to=&lt;utente@nomedominio&gt;, relay=dovecot, delay=0.4, delays=0.07/0.02/0/0.31, dsn=2.0.0, status=sent (delivered via dovecot service)```
### <a name="htoc5">Horde</a>
### Horde
Manca ora l'ultimo pezzo, l'interfaccia web per gli utenti tramite Horde, un framework con numerosi moduli in PHP. Anche questa applicazione è pacchettizzata da Debian, e l'installazione è banale se si seguono le indicazioni del <a title="Debian" href="http://wiki.debian.org/Horde" target="_blank">Wiki</a>.
Installo per primo il framework con:
<pre># apt-get install horde3</pre>
```# apt-get install horde3```
abilito un VirtualHost che punti alla sua directory, aggiungendo ad esempio in `/etc/apache2/sites-available/default`:
<pre>Alias /horde3 /usr/share/horde3
```
Alias /horde3 /usr/share/horde3
Options FollowSymLinks
AllowOverride Limit
deny from all
allow from TUO_IP</pre>
allow from TUO_IP
```
che mi permetterà di accedere localmente, e inizializzo il database. Quest'ultima operazione può avvenire da riga di comando con:
<pre>#gunzip &lt; /usr/share/doc/horde3/examples/scripts/sql/create.mysql.sql.gz | mysql -u MYSQL_ADMIN -p</pre>
```
#gunzip &lt; /usr/share/doc/horde3/examples/scripts/sql/create.mysql.sql.gz | mysql -u MYSQL_ADMIN -p
```
Avendo cura di modificare in `create.mysql.sql.gz` i dati di accesso dell'amministratore di Horde. Fatto ciò puntando il browser su `http://nomemacchina.nomedominio/horde3` compare la maschera iniziale di Horde. Per il debug di eventuali problemi posso puntare il browser su: `http://nomemacchina.nomedominio/horde3/test.php`
@ -341,12 +396,14 @@ Horde mette a disposizione, tra gli altri, i seguenti moduli:
Tutti questi moduli sono presenti nei repository Debian ad eccezione di MIMP, che può essere facilmente installato per Debian con le seguenti operazioni:
<pre># wget http://ftp.horde.org/pub/mimp/mimp-h3-1.1.tar.gz
```
# wget http://ftp.horde.org/pub/mimp/mimp-h3-1.1.tar.gz
# tar -xvzf mimp-h3-1.1.tar.gz
# mv mimp-h3-1.1/config /etc/horde/mimp
# mv mimp-h3-1.1 /usr/share/horde3/mimp
# cd /usr/share/horde3/mimp
# ln -s /etc/horde/mimp config</pre>
# ln -s /etc/horde/mimp config
```
La configurazione dei vari moduli avviene, analogalmente a quella del framework, in tre operazioni:
@ -364,11 +421,11 @@ Maschera _General_:
- _Determines how we generate full URLs (for location headers and such)_
<pre>Assume that we are using SSL and always generate https URLs</pre>
```Assume that we are using SSL and always generate https URLs```
- _What port number is the webserver running on?_
<pre>443</pre>
```443```
Questo mi serve perchè la mia webmail è disponibile su una connessione criptata _https_
@ -376,11 +433,11 @@ Maschera _Authentication_:
- _What backend should we use for authenticating users to Horde?_
<pre>Let a Horde application handle authentication</pre>
```Let a Horde application handle authentication```
- _The application which is providing authentication_
<pre>imp</pre>
```imp```
Queste due scelte permettono di autenticarsi con le credenziali create in _Postfixadmin_ ed effettualre il _Login_ una sola volta anzichè dover inserire due volte i dati per leggere la posta. In questo caso è importante creare un utente amministratore e inserire il suo nome nella prima casella.
@ -390,7 +447,7 @@ Modifico il file `/etc/horde/imp4/servers.php` inserendo i dati del o dei server
Nel file `/etc/horde/imp4/mime_drivers.php` modifico la linea:
<pre>$mime_drivers['imp']['html']['inline'] = true;</pre>
```$mime_drivers['imp']['html']['inline'] = true;```
Questo mi permette di vedere in linea le mail composte in HTML, anche se non meriterebbero 😉 È una scelta giustamente sconsigliata, ma altrimenti le mail HTML vengono formattate in modo impossibile da leggere.
@ -398,7 +455,8 @@ Questo mi permette di vedere in linea le mail composte in HTML, anche se non mer
Nel file `/etc/horde/ingo1/backends.php` specifico quale backend utilizzare per i filtri. Le scelte possibili sono _null_ (applica le regole su richiesta), o regole per _Maildrop_, _Procmail_ o _Sieve_. La scelta più semplice è:
<pre>/* IMAP Example */
```
/* IMAP Example */
$backends['imap'] = array(
'driver' =&gt; 'null',
'preferred' =&gt; 'example.com',
@ -406,7 +464,8 @@ $backends['imap'] = array(
'params' =&gt; array(),
'script' =&gt; 'imap',
'scriptparams' =&gt; array()
);</pre>
);
```
Anche in questo caso le altre scelte vanno commentate o cancellate.
@ -414,7 +473,8 @@ Anche in questo caso le altre scelte vanno commentate o cancellate.
Nel file `/etc/horde/turba2/sources.php` specifico quale backend utilizzare. Per utilizzare MySQL la configurazione tipica è:
<pre>$cfgSources['localsql'] = array(
```
$cfgSources['localsql'] = array(
'title' =&gt; _("My Address Book"),
'type' =&gt; 'sql',
'params' =&gt; array_merge($conf['sql'], array('table' =&gt; 'turba_objects')),
@ -452,28 +512,30 @@ Nel file `/etc/horde/turba2/sources.php` specifico quale backend utilizzare. Per
'export' =&gt; true,
'browse' =&gt; true,
'use_shares' =&gt; true,
);</pre>
);
```
ed è inoltre necessario creare la tabella in MySQL, utilizzando il comando:
<pre># mysql -u MYSQL_ADMIN -p DATABASE &lt; /usr/share/doc/turba2/examples/scripts/sql/turba_objects.mysql.sql</pre>
```# mysql -u MYSQL_ADMIN -p DATABASE &lt; /usr/share/doc/turba2/examples/scripts/sql/turba_objects.mysql.sql```
**Kronolith**
Se si sceglie il driver SQL è necessario creare la tabella con il comando:
<pre># mysql -u MYSQL_ADMIN -p DATABASE &lt; /usr/share/doc/kronolith2/examples/scripts/sql/kronolith.mysql.sql</pre>
```# mysql -u MYSQL_ADMIN -p DATABASE &lt; /usr/share/doc/kronolith2/examples/scripts/sql/kronolith.mysql.sql```
**Nag**
Se si sceglie il driver SQL è necessario creare la tabella con il comando:
<pre># mysql -u MYSQL_ADMIN -p DATABASE &lt; /usr/share/doc/nag2/examples/scripts/sql/nag.sql</pre>
```# mysql -u MYSQL_ADMIN -p DATABASE &lt; /usr/share/doc/nag2/examples/scripts/sql/nag.sql```
**Passwd**
Nel file `/etc/horde/passwd3/backends.php` ho modificato le linee:
<pre>driver' =&gt; 'sql',
```
driver' =&gt; 'sql',
'params' =&gt; array(
'phptype' =&gt; 'mysql',
'hostspec' =&gt; '127.0.0.1',
@ -486,11 +548,12 @@ Nel file `/etc/horde/passwd3/backends.php` ho modificato le linee:
'table' =&gt; 'mailbox',
'user_col' =&gt; 'username',
'pass_col' =&gt; 'password',
'show_encryption' =&gt; false)</pre>
'show_encryption' =&gt; false)
```
Per poter modificare la password nel database creato da Postfixadmin.
### <a name="htoc6">Fetchmail e Gmail server relay</a>
### Fetchmail e Gmail server relay
Vi sono altri due add-ons non strettamente collegati alla configurazione di un server mail ma molto utili specialmente per server fatti in casa.
@ -498,36 +561,43 @@ Vi sono altri due add-ons non strettamente collegati alla configurazione di un s
È un ottimo programma per ritirare mail da server POP3 o IMAP e consegnarla al server locale. Sia Postfixadmin che Horde hanno dei plugin che gestiscono fetchmail in modi leggermente diversi. Con Horde l'utente inserisce i dettagli del server remoto e scarica la posta mentre è collegato, mentre con Postfixadmin in base ai dati inseriti dall'amministratore nel database vengono creati dei file `~/.fetchmailrc` al volo che possono essere usati inserendo in crontab lo script `fetchmail.pl`.
Purtroppo entrambi hanno due limitazioni che me ne impediscono l'utilizzo: non implementano [Freepops][7] e non permettono l'uso di autenticazioni SSL. Freepops è un programmino che permette di scaricare le mail diretamente dalla webmail, aggirando la limitazione all'uso del server POP per gli abbonamenti free adottato, ad esempio, da Libero e Inwind. L'uso del protocollo SSL è indispensabile invece per scaricare mail dai server di Gmail o Autistici/Inventati.
Purtroppo entrambi hanno due limitazioni che me ne impediscono l'utilizzo: non implementano [Freepops](https://web.archive.org/web/20080123075421/http://www.freepops.org/it/ "Freepops") e non permettono l'uso di autenticazioni SSL. Freepops è un programmino che permette di scaricare le mail diretamente dalla webmail, aggirando la limitazione all'uso del server POP per gli abbonamenti free adottato, ad esempio, da Libero e Inwind. L'uso del protocollo SSL è indispensabile invece per scaricare mail dai server di Gmail o Autistici/Inventati.
La versione di Fetchmail pacchettizzata da Debian ci permette di avviare il programma in modalità demone con il tipico script `/etc/init.t/fetchmail`. Il pacchetto di Freepops purtroppo fa riferimento ad una versione troppo datata e non più funzionante, e bisogna quindi installare la versione offerta dai [Backports][8]. Una volta installati entrambi avremo il demone _freepopsd_ in ascolto alla porta 2000 (di default), e possiamo modificare il file `/etc/fetchmailrc` aggiungendo le sezioni relative ai vari server. Alcuni utilizzi tipici sono:
La versione di Fetchmail pacchettizzata da Debian ci permette di avviare il programma in modalità demone con il tipico script `/etc/init.t/fetchmail`. Il pacchetto di Freepops purtroppo fa riferimento ad una versione troppo datata e non più funzionante, e bisogna quindi installare la versione offerta dai [Backports](https://web.archive.org/web/20240518161927/https://backports.debian.org/ "Backports"). Una volta installati entrambi avremo il demone _freepopsd_ in ascolto alla porta 2000 (di default), e possiamo modificare il file `/etc/fetchmailrc` aggiungendo le sezioni relative ai vari server. Alcuni utilizzi tipici sono:
Server POP3
<pre>poll SERVER_POP with proto pop3 auth password
```
poll SERVER_POP with proto pop3 auth password
user "NOMEUTENTE.REMOTO" there
with password "password"
is NOMEUTENTE.LOCALE here options fetchall</pre>
is NOMEUTENTE.LOCALE here options fetchall
```
Server che richiedono Freepops
<pre>poll SERVER_POP with proto pop3 port 2000
```
poll SERVER_POP with proto pop3 port 2000
user "NOMEUTENTE.REMOTO" there
with password "password"
is NOMEUTENTE.LOCALE here options fetchall</pre>
is NOMEUTENTE.LOCALE here options fetchall
```
Server Gmail
<pre>poll SERVER_POP with proto pop3 port 995
```
poll SERVER_POP with proto pop3 port 995
user "NOMEUTENTE.REMOTO" there
with password "password"
is NOMEUTENTE.LOCALE here options ssl sslcertck fetchall</pre>
is NOMEUTENTE.LOCALE here options ssl sslcertck fetchall
```
**Gmail Server Relay**
Normalmente le mail spedite da un server casalingo con IP dinamico vengono rifiutate per motivi di sicurezza, e si è quindi costretti ad usare un server che vi faccia da _relay_, che vi permetta cioè di spedire mail attraverso il suo servizio. Vi dovesse capitare di non avere a disposizione un relay, o di volerne utilizzare uno alternativo, potete usufruire del servizio offerto da Gmail, il quale però richiede un'autenticazione sicura via SSL. Per implementarla aggiungo o modifico le seguenti righe di `/etc/postfix/main.cf`:
<pre>smtpd_tls_CAfile = /etc/postfix/cacert.pem
```
smtpd_tls_CAfile = /etc/postfix/cacert.pem
smtpd_tls_cert_file=/etc/postfix/gmail.pem
smtpd_tls_key_file=/etc/postfix/gmail.key
smtpd_sasl_application_name = smtpd
@ -540,21 +610,25 @@ smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = noanonymous
smtp_sasl_tls_security_options = noanonymous
relayhost = [smtp.gmail.com]:587</pre>
relayhost = [smtp.gmail.com]:587
```
creo il file `/etc/postfix/sasl_passwd`, vi aggiungo le righe:
<pre># Contents of sasl_passwd
```
# Contents of sasl_passwd
#
[smtp.gmail.com] NOMEUTENTE@gmail.com:PASSWORD</pre>
[smtp.gmail.com] NOMEUTENTE@gmail.com:PASSWORD
```
e lo compilo con:
<pre># postmap /etc/postfix/sasl_passwd</pre>
```# postmap /etc/postfix/sasl_passwd```
Infine, se non li possiedo già, creo il mio certificato auto firmato con i seguenti passaggi:
<pre># /usr/local/ssl/misc/CA.pl -newca
```
# /usr/local/ssl/misc/CA.pl -newca
CA certificate filename (or enter to create)
Making CA certificate ...
Generating a 1024 bit RSA private key
@ -589,17 +663,11 @@ Infine, se non li possiedo già, creo il mio certificato auto firmato con i segu
# openssl ca -out gmail.pem -infiles gmail.req
Using configuration from /usr/lib/ssl/openssl.cnf
Enter pass phrase for ./demoCA/private/cakey.pem:<strong>password</strong>
...</pre>
...
```
Al riavvio di Postfix dovrei poter inviare messaggi tramite Gmail, che risulterà dai log con un messaggio di questo tipo:
<pre>Jul 25 11:36:52 server postfix/smtp[28745]: 8C31415DF79: to=&lt;pippo@pippo.com&gt;, relay=smtp.gmail.com[64.233.183.109]:587, delay=6.5, delays=0.0 5/0.05/3.8/2.7, dsn=2.0.0, status=sent (250 2.0.0 OK 1216978613 i4sm31861110nfh.1)</pre>
[1]: #htoc1
[2]: #htoc2
[3]: #htoc3
[4]: #htoc4
[5]: #htoc5
[6]: #htoc6
[7]: http://www.freepops.org/it/ "Freepops"
[8]: http://backports.org/ "Backports"
```
Jul 25 11:36:52 server postfix/smtp[28745]: 8C31415DF79: to=&lt;pippo@pippo.com&gt;, relay=smtp.gmail.com[64.233.183.109]:587, delay=6.5, delays=0.0 5/0.05/3.8/2.7, dsn=2.0.0, status=sent (250 2.0.0 OK 1216978613 i4sm31861110nfh.1)
```

View File

@ -13,11 +13,8 @@ tags:
- sede
---
Dopo due mesi trascorsi presso il Keller di Curno, **il BGlug torna alla propria sede abituale**, ossia quella indicata [qui][1].
Dopo due mesi trascorsi presso il Keller di Curno, **il BGlug torna alla propria sede abituale**, ossia quella indicata [qui](/punti-di-ritrovo-polaresco).
Durante l'incontro si comincerà a discutere del [prossimo Linux Day][2], a breve ci sarà anche l'annuncio ufficiale in mailing list.
Durante l'incontro si comincerà a discutere del [prossimo Linux Day](https://www.linuxday.it/), a breve ci sarà anche l'annuncio ufficiale in mailing list.
A stasera!
[1]: http://bglug.it/chisiamo/punti-di-ritrovo/
[2]: http://www.linuxday.it/

View File

@ -2,7 +2,6 @@
title: Template per le presentazioni del Linux Day 2008
author: giuseppe
type: post
draft: true
date: 2008-10-02T11:15:17+00:00
url: /2008/10/02/template-per-le-presentazioni-del-linux-day-2008/
categories:
@ -20,10 +19,6 @@ Qualche nota:
Spero di essermi spiegato, in caso contrario contattatemi pure. Ecco i download:
* [Template presentazioni Linux Day 2008 (OpenOffice)][1]
* [Sfondi template presentazioni Linux Day 2008 (PNG)][2] (per i LaTeXaRi)
* [Sorgente template presentazioni Linux Day 2008 (SVG)][3]
[1]: http://bglug.it/wp-content/uploads/2008/10/ld2008.otp
[2]: http://bglug.it/wp-content/uploads/2008/10/ld2008_images.zip
[3]: http://bglug.it/wp-content/uploads/2008/10/ld2008.svg
* [Template presentazioni Linux Day 2008 - OpenOffice](ld2008.otp)
* [Sfondi template presentazioni Linux Day 2008 (PNG)](ld2008_images.zip) (per i LaTeXaRi)
* [Sorgente template presentazioni Linux Day 2008 (SVG)](ld2008.svg)

View File

@ -0,0 +1,417 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" width="992.12598" height="744.09448" id="svg2" sodipodi:version="0.32" inkscape:version="0.46" version="1.0" sodipodi:docbase="/home/corey/Desktop/BgLUG.it v2" sodipodi:docname="ld2008.svg" inkscape:output_extension="org.inkscape.output.svg.inkscape" inkscape:export-filename="/home/giuseppe/Projects/BgLUG/Linux Day 2008/ld2008_sidebar_left.png" inkscape:export-xdpi="90" inkscape:export-ydpi="90" style="display:inline">
<defs id="defs4">
<linearGradient inkscape:collect="always" id="linearGradient3919">
<stop style="stop-color:#2e3436;stop-opacity:1;" offset="0" id="stop3921"/>
<stop style="stop-color:#2e3436;stop-opacity:0;" offset="1" id="stop3923"/>
</linearGradient>
<linearGradient id="linearGradient3891">
<stop style="stop-color:#f57900;stop-opacity:1;" offset="0" id="stop3893"/>
<stop style="stop-color:#ff9833;stop-opacity:1;" offset="1" id="stop3895"/>
</linearGradient>
<linearGradient inkscape:collect="always" id="linearGradient3791">
<stop style="stop-color:#eeeeec;stop-opacity:1;" offset="0" id="stop3793"/>
<stop style="stop-color:#eeeeec;stop-opacity:0;" offset="1" id="stop3795"/>
</linearGradient>
<inkscape:perspective sodipodi:type="inkscape:persp3d" inkscape:vp_x="0 : 500 : 1" inkscape:vp_y="0 : 1000 : 0" inkscape:vp_z="780 : 500 : 1" inkscape:persp3d-origin="390 : 333.33333 : 1" id="perspective350"/>
<linearGradient id="linearGradient6565">
<stop style="stop-color:#dededa;stop-opacity:1;" offset="0" id="stop6567"/>
<stop style="stop-color:#eeeeec;stop-opacity:1;" offset="1" id="stop6569"/>
</linearGradient>
<linearGradient id="linearGradient22822">
<stop style="stop-color:#2e3436;stop-opacity:1" offset="0" id="stop22824"/>
<stop style="stop-color:#000000;stop-opacity:1;" offset="1" id="stop22826"/>
</linearGradient>
<linearGradient id="linearGradient17465">
<stop style="stop-color:#eeeeec;stop-opacity:1;" offset="0" id="stop17467"/>
<stop style="stop-color:#ffffff;stop-opacity:1;" offset="1" id="stop17469"/>
</linearGradient>
<linearGradient id="linearGradient11285">
<stop style="stop-color:#eeeeec;stop-opacity:1;" offset="0" id="stop11287"/>
<stop style="stop-color:#ffffff;stop-opacity:1;" offset="1" id="stop11289"/>
</linearGradient>
<linearGradient id="linearGradient9181">
<stop id="stop9183" offset="0" style="stop-color:#888a85;stop-opacity:1"/>
<stop id="stop9185" offset="1" style="stop-color:#babdb6;stop-opacity:1"/>
</linearGradient>
<linearGradient id="linearGradient5232">
<stop style="stop-color:#ffffff;stop-opacity:1;" offset="0" id="stop5234"/>
<stop style="stop-color:#ffffff;stop-opacity:0;" offset="1" id="stop5236"/>
</linearGradient>
<linearGradient id="linearGradient2223">
<stop style="stop-color:#a4c0e4;stop-opacity:1" offset="0" id="stop2225"/>
<stop style="stop-color:#eeeeec;stop-opacity:0;" offset="1" id="stop2227"/>
</linearGradient>
<filter inkscape:collect="always" id="filter4363">
<feGaussianBlur inkscape:collect="always" stdDeviation="1.4" id="feGaussianBlur4365"/>
</filter>
<radialGradient inkscape:collect="always" xlink:href="#linearGradient5232" id="radialGradient17508" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0,-1.0333331,1,0,-138.36518,754.30021)" cx="381.58096" cy="528.36517" fx="381.58096" fy="528.36517" r="360"/>
<radialGradient gradientTransform="matrix(1.31849,0,0,1.31849,-22.1264,-6.24169)" gradientUnits="userSpaceOnUse" xlink:href="#linearGradient6468" id="radialGradient4363" fy="19.5979" fx="69.473198" r="3.51531" cy="19.5979" cx="69.473198"/>
<radialGradient gradientTransform="matrix(1.77275,0,0,1.29668,-16.3404,-6.61596)" gradientUnits="userSpaceOnUse" xlink:href="#linearGradient6500" id="radialGradient4354" fy="22.299999" fx="18.5576" r="19.2292" cy="22.299999" cx="18.5576"/>
<linearGradient gradientTransform="translate(-3.83655,0.345971)" gradientUnits="userSpaceOnUse" xlink:href="#linearGradient6482" id="linearGradient4351" y2="30.2931" x2="21.2132" y1="28.083401" x1="32.350101"/>
<linearGradient gradientUnits="userSpaceOnUse" xlink:href="#linearGradient8534" id="linearGradient4330" y2="30.985201" x2="24.328899" y1="30.543301" x1="26.163"/>
<radialGradient gradientTransform="matrix(0.916159,9.31868e-2,-0.108765,1.06931,3.25367,-3.02927)" gradientUnits="userSpaceOnUse" xlink:href="#linearGradient8542" id="radialGradient8548" fy="25.271" fx="6.02422" r="4.8310299" cy="25.271" cx="6.02422"/>
<linearGradient gradientUnits="userSpaceOnUse" xlink:href="#linearGradient8524" id="linearGradient8530" y2="46.985699" x2="39.524502" y1="19.110701" x1="14.9688"/>
<radialGradient gradientTransform="matrix(1,0,0,0.284247,0,24.2909)" gradientUnits="userSpaceOnUse" xlink:href="#linearGradient6492" id="radialGradient6498" fy="33.9375" fx="23" r="18.25" cy="33.9375" cx="23"/>
<radialGradient gradientTransform="matrix(1.31849,0,0,1.31849,-22.1264,-6.24169)" gradientUnits="userSpaceOnUse" xlink:href="#linearGradient6468" id="radialGradient6474" fy="19.5979" fx="69.473198" r="3.51531" cy="19.5979" cx="69.473198"/>
<linearGradient gradientUnits="userSpaceOnUse" xlink:href="#linearGradient6452" id="linearGradient6458" y2="31.57" x2="5.9846301" y1="23.3624" x1="6.30515"/>
<linearGradient id="linearGradient6452">
<stop id="stop6454" offset="0" style="stop-color: white; stop-opacity: 1;"/>
<stop id="stop6456" offset="1" style="stop-color: white; stop-opacity: 0;"/>
</linearGradient>
<linearGradient id="linearGradient6468">
<stop id="stop6470" offset="0" style="stop-color: white; stop-opacity: 1;"/>
<stop id="stop6472" offset="1" style="stop-color: rgb(185, 185, 176); stop-opacity: 1;"/>
</linearGradient>
<linearGradient id="linearGradient6482">
<stop id="stop6484" offset="0" style="stop-color: black; stop-opacity: 1;"/>
<stop id="stop6486" offset="1" style="stop-color: black; stop-opacity: 0;"/>
</linearGradient>
<linearGradient id="linearGradient6492">
<stop id="stop6494" offset="0" style="stop-color: black; stop-opacity: 1;"/>
<stop id="stop6496" offset="1" style="stop-color: black; stop-opacity: 0;"/>
</linearGradient>
<linearGradient id="linearGradient6500">
<stop id="stop6502" offset="0" style="stop-color: rgb(133, 124, 99); stop-opacity: 1;"/>
<stop id="stop6504" offset="1" style="stop-color: rgb(34, 31, 25); stop-opacity: 1;"/>
</linearGradient>
<linearGradient gradientTransform="translate(-49.305,1.87772)" gradientUnits="userSpaceOnUse" xlink:href="#linearGradient6951" id="linearGradient6957" y2="11.1825" x2="27.753901" y1="19.239901" x1="37.017601"/>
<linearGradient id="linearGradient6951">
<stop id="stop6953" offset="0" style="stop-color: rgb(110, 61, 9); stop-opacity: 1;"/>
<stop id="stop6959" offset="0.242424" style="stop-color: rgb(234, 129, 19); stop-opacity: 1;"/>
<stop id="stop6961" offset="0.621212" style="stop-color: rgb(92, 51, 7); stop-opacity: 1;"/>
<stop id="stop6955" offset="1" style="stop-color: rgb(224, 124, 18); stop-opacity: 1;"/>
</linearGradient>
<linearGradient gradientTransform="translate(-46.407,-1.80286)" gradientUnits="userSpaceOnUse" xlink:href="#linearGradient6939" id="linearGradient6945" y2="33.438801" x2="23.109301" y1="30.001301" x1="19.394699"/>
<linearGradient id="linearGradient6939">
<stop id="stop6941" offset="0" style="stop-color: rgb(189, 189, 189); stop-opacity: 1;"/>
<stop id="stop6947" offset="0.333333" style="stop-color: rgb(226, 226, 226); stop-opacity: 1;"/>
<stop id="stop6949" offset="0.666667" style="stop-color: rgb(163, 163, 163); stop-opacity: 1;"/>
<stop id="stop6943" offset="1" style="stop-color: rgb(221, 221, 221); stop-opacity: 1;"/>
</linearGradient>
<radialGradient gradientTransform="matrix(1.57269,0,0,1.53264,-55.3668,-21.3582)" gradientUnits="userSpaceOnUse" xlink:href="#linearGradient6963" id="radialGradient6969" fy="35.356499" fx="15.4151" r="7.5791602" cy="35.356499" cx="15.4151"/>
<linearGradient id="linearGradient6963">
<stop id="stop6965" offset="0" style="stop-color: rgb(105, 105, 105); stop-opacity: 1;"/>
<stop id="stop6967" offset="1" style="stop-color: black; stop-opacity: 1;"/>
</linearGradient>
<linearGradient gradientTransform="matrix(0.755165,0.395143,-0.395143,0.755165,-25.9125,6.53259)" gradientUnits="userSpaceOnUse" xlink:href="#linearGradient2446" id="linearGradient2452" y2="42.282101" x2="7.75211" y1="37.752201" x1="13.2362"/>
<linearGradient id="linearGradient2446">
<stop id="stop2448" offset="0" style="stop-color: white; stop-opacity: 1;"/>
<stop id="stop2450" offset="1" style="stop-color: white; stop-opacity: 0;"/>
</linearGradient>
<linearGradient id="linearGradient8524">
<stop id="stop8526" offset="0" style="stop-color: white; stop-opacity: 1;"/>
<stop id="stop8528" offset="1" style="stop-color: white; stop-opacity: 0;"/>
</linearGradient>
<linearGradient id="linearGradient8534">
<stop id="stop8536" offset="0" style="stop-color: black; stop-opacity: 1;"/>
<stop id="stop8538" offset="1" style="stop-color: black; stop-opacity: 0;"/>
</linearGradient>
<linearGradient id="linearGradient8542">
<stop id="stop8544" offset="0" style="stop-color: rgb(91, 103, 107); stop-opacity: 1;"/>
<stop id="stop8546" offset="1" style="stop-color: rgb(20, 23, 24); stop-opacity: 1;"/>
</linearGradient>
<radialGradient r="14.407301" fy="42.343147" fx="26.78167" cy="42.343147" cx="26.78167" gradientTransform="matrix(1,0,0,0.282209,0,30.39355)" gradientUnits="userSpaceOnUse" id="radialGradient2417" xlink:href="#linearGradient6975" inkscape:collect="always"/>
<radialGradient r="14.407301" fy="42.343147" fx="26.78167" cy="42.343147" cx="26.78167" gradientTransform="matrix(1,0,0,0.282209,0,30.39355)" gradientUnits="userSpaceOnUse" id="radialGradient1687" xlink:href="#linearGradient6975" inkscape:collect="always"/>
<linearGradient gradientTransform="matrix(1.125413,0,0,1.125413,-2.601383,-5.668855)" gradientUnits="userSpaceOnUse" y2="35.243187" x2="24.565037" y1="10.528904" x1="23.849895" id="linearGradient8948" xlink:href="#linearGradient8942" inkscape:collect="always"/>
<linearGradient y2="42.282146" x2="7.7521091" y1="37.752247" x1="13.236155" gradientTransform="matrix(0.608217,-0.10171,4.414374e-2,0.689789,16.62085,13.35659)" gradientUnits="userSpaceOnUse" id="linearGradient8938" xlink:href="#linearGradient2446" inkscape:collect="always"/>
<radialGradient r="7.5791559" fy="35.356506" fx="15.415101" cy="35.356506" cx="15.415101" gradientTransform="matrix(0.709807,-0.118699,5.020504e-2,0.7845,14.35988,10.7997)" gradientUnits="userSpaceOnUse" id="radialGradient8936" xlink:href="#linearGradient6963" inkscape:collect="always"/>
<linearGradient y2="33.438831" x2="23.109331" y1="30.001331" x1="19.394735" gradientTransform="matrix(0.71362,-0.119336,5.179406e-2,0.809329,14.74036,9.12562)" gradientUnits="userSpaceOnUse" id="linearGradient8934" xlink:href="#linearGradient6939" inkscape:collect="always"/>
<linearGradient y2="23.742767" x2="33.436985" y1="18.867767" x1="28.058632" gradientTransform="matrix(0.71362,-0.119336,5.179406e-2,0.809329,14.74036,9.12562)" gradientUnits="userSpaceOnUse" id="linearGradient8932" xlink:href="#linearGradient6951" inkscape:collect="always"/>
<linearGradient gradientTransform="matrix(1.125413,0,0,1.125413,-2.601383,-5.668855)" gradientUnits="userSpaceOnUse" y2="12.642857" x2="23.142857" y1="16.714287" x1="23.142857" id="linearGradient6549" xlink:href="#linearGradient6543" inkscape:collect="always"/>
<linearGradient gradientTransform="matrix(1.125413,0,0,1.125413,-2.601383,-5.668855)" gradientUnits="userSpaceOnUse" y2="36.878933" x2="24.722954" y1="23.614397" x1="24.5" id="linearGradient6534" xlink:href="#linearGradient6528" inkscape:collect="always"/>
<linearGradient id="linearGradient6528" inkscape:collect="always">
<stop id="stop6530" offset="0" style="stop-color:#2e3436"/>
<stop id="stop6532" offset="1" style="stop-color:#000000;stop-opacity:1.0000000"/>
</linearGradient>
<linearGradient id="linearGradient6543" inkscape:collect="always">
<stop id="stop6545" offset="0" style="stop-color:#d3d7cf"/>
<stop id="stop6547" offset="1" style="stop-color:#ffffff;stop-opacity:1.0000000"/>
</linearGradient>
<radialGradient gradientUnits="userSpaceOnUse" gradientTransform="matrix(1,0,0,0.282209,0,30.39355)" r="14.407301" fy="42.343147" fx="26.78167" cy="42.343147" cx="26.78167" id="radialGradient6981" xlink:href="#linearGradient6975" inkscape:collect="always"/>
<linearGradient id="linearGradient6975" inkscape:collect="always">
<stop id="stop6977" offset="0" style="stop-color:#000000;stop-opacity:1;"/>
<stop id="stop6979" offset="1" style="stop-color:#000000;stop-opacity:0;"/>
</linearGradient>
<linearGradient id="linearGradient8942" inkscape:collect="always">
<stop id="stop8944" offset="0" style="stop-color:#ffffff;stop-opacity:1.0000000"/>
<stop id="stop8946" offset="1" style="stop-color:#ffffff;stop-opacity:0;"/>
</linearGradient>
<linearGradient inkscape:collect="always" xlink:href="#linearGradient22822" id="linearGradient22843" gradientUnits="userSpaceOnUse" x1="153.088" y1="948.77966" x2="153.088" y2="995.13239"/>
<mask maskUnits="userSpaceOnUse" id="mask10387">
<rect style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" id="rect10389" width="784.61542" height="221.53847" x="-13.269258" y="-1.1076923e-05"/>
</mask>
<linearGradient inkscape:collect="always" xlink:href="#linearGradient9181" id="linearGradient8439" x1="-213.5" y1="918.5" x2="-213.5" y2="1001.5963" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.775529,0,0,0.8733268,192.83117,-129.7323)"/>
<filter inkscape:collect="always" id="filter4326">
<feGaussianBlur inkscape:collect="always" stdDeviation="2.2192053" id="feGaussianBlur4328"/>
</filter>
<radialGradient inkscape:collect="always" xlink:href="#linearGradient5232" id="radialGradient2770" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0,-1.0333331,1,0,-138.36518,754.30021)" cx="381.58096" cy="528.36517" fx="381.58096" fy="528.36517" r="360"/>
<radialGradient inkscape:collect="always" xlink:href="#linearGradient5232" id="radialGradient3725" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0,-1.0333331,1,0,-138.36518,754.30021)" cx="381.58096" cy="528.36517" fx="381.58096" fy="528.36517" r="360"/>
<radialGradient inkscape:collect="always" xlink:href="#linearGradient5232" id="radialGradient3727" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0,-1.0333331,1,0,-138.36518,754.30021)" cx="381.58096" cy="528.36517" fx="381.58096" fy="528.36517" r="360"/>
<radialGradient inkscape:collect="always" xlink:href="#linearGradient5232" id="radialGradient3729" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0,-1.0333331,1,0,-138.36518,754.30021)" cx="381.58096" cy="528.36517" fx="381.58096" fy="528.36517" r="360"/>
<radialGradient inkscape:collect="always" xlink:href="#linearGradient5232" id="radialGradient3731" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0,-1.0333331,1,0,-138.36518,754.30021)" cx="381.58096" cy="528.36517" fx="381.58096" fy="528.36517" r="360"/>
<radialGradient inkscape:collect="always" xlink:href="#linearGradient5232" id="radialGradient3733" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0,-1.0333331,1,0,-138.36518,754.30021)" cx="381.58096" cy="528.36517" fx="381.58096" fy="528.36517" r="360"/>
<radialGradient inkscape:collect="always" xlink:href="#linearGradient5232" id="radialGradient3735" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0,-1.0333331,1,0,-138.36518,754.30021)" cx="381.58096" cy="528.36517" fx="381.58096" fy="528.36517" r="360"/>
<radialGradient inkscape:collect="always" xlink:href="#linearGradient5232" id="radialGradient3737" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0,-1.0333331,1,0,-138.36518,754.30021)" cx="381.58096" cy="528.36517" fx="381.58096" fy="528.36517" r="360"/>
<radialGradient inkscape:collect="always" xlink:href="#linearGradient5232" id="radialGradient3739" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0,-1.0333331,1,0,-138.36518,754.30021)" cx="381.58096" cy="528.36517" fx="381.58096" fy="528.36517" r="360"/>
<radialGradient inkscape:collect="always" xlink:href="#linearGradient5232" id="radialGradient3741" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0,-1.0333331,1,0,-138.36518,754.30021)" cx="381.58096" cy="528.36517" fx="381.58096" fy="528.36517" r="360"/>
<radialGradient inkscape:collect="always" xlink:href="#linearGradient5232" id="radialGradient3743" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0,-1.0333331,1,0,-138.36518,754.30021)" cx="381.58096" cy="528.36517" fx="381.58096" fy="528.36517" r="360"/>
<radialGradient inkscape:collect="always" xlink:href="#linearGradient5232" id="radialGradient3745" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0,-1.0333331,1,0,-138.36518,754.30021)" cx="381.58096" cy="528.36517" fx="381.58096" fy="528.36517" r="360"/>
<radialGradient inkscape:collect="always" xlink:href="#linearGradient5232" id="radialGradient3747" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0,-1.0333331,1,0,-138.36518,754.30021)" cx="381.58096" cy="528.36517" fx="381.58096" fy="528.36517" r="360"/>
<radialGradient inkscape:collect="always" xlink:href="#linearGradient5232" id="radialGradient3749" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0,-1.0333331,1,0,-138.36518,754.30021)" cx="381.58096" cy="528.36517" fx="381.58096" fy="528.36517" r="360"/>
<radialGradient inkscape:collect="always" xlink:href="#linearGradient5232" id="radialGradient3751" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0,-1.0333331,1,0,-138.36518,754.30021)" cx="381.58096" cy="528.36517" fx="381.58096" fy="528.36517" r="360"/>
<mask maskUnits="userSpaceOnUse" id="mask3695">
<g id="g3697" style="fill:url(#radialGradient3751);fill-opacity:1;display:inline" transform="matrix(1.0833333,0,0,1.0833333,446.16392,-32.644649)" mask="url(#mask10387)">
<path id="path3699" d="M 390,360 L 370,10 L 410,10 L 390,360 z" style="fill:url(#radialGradient3725);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"/>
<path id="path3701" d="M 390,360 L 450,10 L 490,10 L 390,360 z" style="fill:url(#radialGradient3727);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"/>
<path id="path3703" d="M 390,360 L 530,10 L 570,10 L 390,360 z" style="fill:url(#radialGradient3729);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"/>
<path id="path3705" d="M 390,360 L 610,10 L 657.38462,10 L 390,360 z" style="fill:url(#radialGradient3731);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" sodipodi:nodetypes="cccc"/>
<path id="path3707" d="M 390,360 L 699.23077,10 L 754,10 L 390,360 z" style="fill:url(#radialGradient3733);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" sodipodi:nodetypes="cccc"/>
<path id="path3709" d="M 390,360 L 804.57692,9.2307584 L 862.84615,8.7692094 L 390,360 z" style="fill:url(#radialGradient3735);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" sodipodi:nodetypes="cccc"/>
<path id="path3711" d="M 390,360 L 920.88462,9.2307584 L 986.53846,9.9999784 L 390,360 z" style="fill:url(#radialGradient3737);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" sodipodi:nodetypes="cccc"/>
<path style="fill:url(#radialGradient3739);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" d="M 390,360 L 330,10 L 290,10 L 390,360 z" id="path3713"/>
<path style="fill:url(#radialGradient3741);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" d="M 390,360 L 250,10 L 210,10 L 390,360 z" id="path3715"/>
<path style="fill:url(#radialGradient3743);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" d="M 390,360 L 170,10 L 130,10 L 390,360 z" id="path3717"/>
<path style="fill:url(#radialGradient3745);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" d="M 390,360 L 90,10 L 50,10 L 390,360 z" id="path3719"/>
<path style="fill:url(#radialGradient3747);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" d="M 390,360 L 30,30 L 30,70 L 390,360 z" id="path3721"/>
<path style="fill:url(#radialGradient3749);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" d="M 390,360 L 30,110 L 30,150 L 390,360 z" id="path3723"/>
</g>
</mask>
<linearGradient inkscape:collect="always" xlink:href="#linearGradient2223" id="linearGradient3785" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1.3054289,0,0,0.385142,0,-9.3e-6)" x1="8.8000002" y1="-0.80000001" x2="9.4067268" y2="795.81567"/>
<linearGradient inkscape:collect="always" xlink:href="#linearGradient11285" id="linearGradient3787" gradientUnits="userSpaceOnUse" gradientTransform="translate(-20.04991,10.496746)" x1="40.799999" y1="31.200001" x2="40.799999" y2="200"/>
<linearGradient inkscape:collect="always" xlink:href="#linearGradient3791" id="linearGradient3797" x1="98" y1="673.22827" x2="98" y2="177.06705" gradientUnits="userSpaceOnUse"/>
<linearGradient inkscape:collect="always" xlink:href="#linearGradient3919" id="linearGradient3925" x1="830" y1="194.09448" x2="830" y2="654.72876" gradientUnits="userSpaceOnUse" gradientTransform="translate(-5.3385827,0.7874095)"/>
<radialGradient r="43.526714" fy="12.142302" fx="15.601279" cy="12.142302" cx="15.601279" gradientTransform="matrix(0.760282,0,0,0.763475,7.817777,3.623652)" gradientUnits="userSpaceOnUse" id="radialGradient2945" xlink:href="#linearGradient4126" inkscape:collect="always"/>
<radialGradient r="29.993349" fy="15.716079" fx="18.247644" cy="15.716079" cx="18.247644" gradientTransform="matrix(0.773125,0,0,0.776469,7.508259,3.322294)" gradientUnits="userSpaceOnUse" id="radialGradient2943" xlink:href="#linearGradient3962" inkscape:collect="always"/>
<linearGradient id="linearGradient4825" inkscape:collect="always">
<stop id="stop4827" offset="0" style="stop-color:#ffffff;stop-opacity:1;"/>
<stop id="stop4829" offset="1" style="stop-color:#ffffff;stop-opacity:0;"/>
</linearGradient>
<linearGradient id="linearGradient6001" inkscape:collect="always">
<stop id="stop6003" offset="0" style="stop-color:#ffffff;stop-opacity:1;"/>
<stop id="stop6005" offset="1" style="stop-color:#ffffff;stop-opacity:0;"/>
</linearGradient>
<linearGradient id="linearGradient4126">
<stop id="stop4128" offset="0.0000000" style="stop-color:#ffffff;stop-opacity:1.0000000;"/>
<stop id="stop4130" offset="1.0000000" style="stop-color:#ffffff;stop-opacity:0.16494845;"/>
</linearGradient>
<linearGradient id="linearGradient3962">
<stop id="stop3964" offset="0.0000000" style="stop-color:#d3e9ff;stop-opacity:1.0000000;"/>
<stop id="stop4134" offset="0.15517241" style="stop-color:#d3e9ff;stop-opacity:1.0000000;"/>
<stop id="stop4346" offset="0.75000000" style="stop-color:#4074ae;stop-opacity:1.0000000;"/>
<stop id="stop3966" offset="1.0000000" style="stop-color:#36486c;stop-opacity:1.0000000;"/>
</linearGradient>
<inkscape:perspective id="perspective4402" inkscape:persp3d-origin="24 : 16 : 1" inkscape:vp_z="48 : 24 : 1" inkscape:vp_y="0 : 1000 : 0" inkscape:vp_x="0 : 24 : 1" sodipodi:type="inkscape:persp3d"/>
<linearGradient inkscape:collect="always" xlink:href="#linearGradient6001" id="linearGradient4521" gradientUnits="userSpaceOnUse" x1="-25.176178" y1="30.057165" x2="-22.252472" y2="21.041553"/>
<linearGradient inkscape:collect="always" xlink:href="#linearGradient6001" id="linearGradient4523" gradientUnits="userSpaceOnUse" x1="-25.176178" y1="30.057165" x2="-22.113543" y2="22.661524"/>
<radialGradient inkscape:collect="always" xlink:href="#linearGradient4825" id="radialGradient4525" gradientUnits="userSpaceOnUse" cx="12.071323" cy="12.493138" fx="12.071323" fy="12.493138" r="6.7175145"/>
<linearGradient inkscape:collect="always" xlink:href="#linearGradient6001" id="linearGradient4527" gradientUnits="userSpaceOnUse" x1="-22.822565" y1="28.337734" x2="-22.113543" y2="22.661524"/>
<linearGradient inkscape:collect="always" xlink:href="#linearGradient6001" id="linearGradient4529" gradientUnits="userSpaceOnUse" x1="-21.658581" y1="15.649428" x2="-21.962101" y2="21.336346"/>
<radialGradient inkscape:collect="always" xlink:href="#linearGradient4825" id="radialGradient4531" gradientUnits="userSpaceOnUse" cx="12.071323" cy="12.493138" fx="12.071323" fy="12.493138" r="6.7175145"/>
<radialGradient inkscape:collect="always" xlink:href="#linearGradient4825" id="radialGradient4533" gradientUnits="userSpaceOnUse" cx="12.071323" cy="12.493138" fx="12.071323" fy="12.493138" r="6.7175145"/>
<radialGradient inkscape:collect="always" xlink:href="#linearGradient4825" id="radialGradient4535" gradientUnits="userSpaceOnUse" cx="12.071323" cy="12.493138" fx="12.071323" fy="12.493138" r="6.7175145"/>
<radialGradient inkscape:collect="always" xlink:href="#linearGradient4825" id="radialGradient4613" gradientUnits="userSpaceOnUse" cx="12.071323" cy="12.493138" fx="12.071323" fy="12.493138" r="6.7175145"/>
<radialGradient inkscape:collect="always" xlink:href="#linearGradient4825" id="radialGradient4615" gradientUnits="userSpaceOnUse" cx="12.071323" cy="12.493138" fx="12.071323" fy="12.493138" r="6.7175145"/>
<radialGradient inkscape:collect="always" xlink:href="#linearGradient4825" id="radialGradient4617" gradientUnits="userSpaceOnUse" cx="12.071323" cy="12.493138" fx="12.071323" fy="12.493138" r="6.7175145"/>
<radialGradient inkscape:collect="always" xlink:href="#linearGradient4825" id="radialGradient4619" gradientUnits="userSpaceOnUse" cx="12.071323" cy="12.493138" fx="12.071323" fy="12.493138" r="6.7175145"/>
<linearGradient inkscape:collect="always" xlink:href="#linearGradient3919" id="linearGradient2679" gradientUnits="userSpaceOnUse" gradientTransform="translate(-696.28349,0.7874095)" x1="830" y1="194.09448" x2="830" y2="654.72876"/>
</defs>
<sodipodi:namedview id="base" pagecolor="#ffffff" bordercolor="#666666" borderopacity="1.0" inkscape:pageopacity="0.0" inkscape:pageshadow="2" inkscape:zoom="0.70710678" inkscape:cx="404.66895" inkscape:cy="342.6866" inkscape:document-units="px" inkscape:current-layer="layer8" width="780px" height="1000px" showgrid="false" inkscape:window-width="1280" inkscape:window-height="710" inkscape:window-x="0" inkscape:window-y="33" showguides="true" inkscape:guide-bbox="true" inkscape:object-nodes="false" objecttolerance="50" inkscape:object-paths="false" inkscape:grid-points="true" gridtolerance="10000" inkscape:showpageshadow="false" showborder="true" units="cm">
<inkscape:grid id="GridFromPre046Settings" type="xygrid" originx="0px" originy="0px" spacingx="10px" spacingy="10px" color="#0000ff" empcolor="#0000ff" opacity="0.2" empopacity="0.4" empspacing="5" visible="true" enabled="true"/>
</sodipodi:namedview>
<metadata id="metadata7">
<rdf:RDF>
<cc:Work rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
<dc:title>Linux Day 2008</dc:title>
<dc:date>28/09/2008</dc:date>
<dc:creator>
<cc:Agent>
<dc:title>Giuseppe Capizzi</dc:title>
</cc:Agent>
</dc:creator>
<cc:license rdf:resource="http://creativecommons.org/licenses/by-nc-sa/3.0/"/>
</cc:Work>
<cc:License rdf:about="http://creativecommons.org/licenses/by-nc-sa/3.0/">
<cc:permits rdf:resource="http://creativecommons.org/ns#Reproduction"/>
<cc:permits rdf:resource="http://creativecommons.org/ns#Distribution"/>
<cc:requires rdf:resource="http://creativecommons.org/ns#Notice"/>
<cc:requires rdf:resource="http://creativecommons.org/ns#Attribution"/>
<cc:prohibits rdf:resource="http://creativecommons.org/ns#CommercialUse"/>
<cc:permits rdf:resource="http://creativecommons.org/ns#DerivativeWorks"/>
<cc:requires rdf:resource="http://creativecommons.org/ns#ShareAlike"/>
</cc:License>
</rdf:RDF>
</metadata>
<g inkscape:groupmode="layer" id="layer7" inkscape:label="background">
<rect style="opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" id="rect2674" width="992.12598" height="744.09448" x="0" y="0"/>
</g>
<g inkscape:groupmode="layer" id="layer4" inkscape:label="foot" style="display:inline">
<rect style="opacity:1;fill:url(#linearGradient8439);fill-opacity:1;stroke:#555753;stroke-width:0.99999994;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;display:inline" id="rect19169" width="991.12598" height="69.866142" x="0.5" y="673.72833"/>
<rect y="723.59448" x="0.88655162" height="20" width="992.12598" id="rect20147" style="opacity:1;fill:#2e3436;fill-opacity:1;stroke:none;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;display:inline"/>
<text xml:space="preserve" style="font-size:64px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:end;text-anchor:end;opacity:1;fill:#eeeeec;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Arial;-inkscape-font-specification:Arial" x="976" y="708.09448" id="text3927"><tspan sodipodi:role="line" id="tspan3929" x="976" y="708.09448" style="font-size:28px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:end;text-anchor:end;fill:#eeeeec;font-family:Fontin Sans;-inkscape-font-specification:Fontin Sans"><tspan style="font-weight:bold;-inkscape-font-specification:Fontin Sans Bold" id="tspan3931">bglug</tspan>.it</tspan></text>
<g inkscape:label="Layer 1" id="g4433" transform="translate(834.27226,675.19717)">
<g id="g4599" transform="matrix(0.7761556,0.6305415,-0.6305415,0.7761556,166.06431,-8.6418085)">
<g inkscape:r_cy="true" inkscape:r_cx="true" transform="matrix(-0.662835,0.486302,0.486302,0.662835,6.7635599,-0.1427001)" id="g3801">
<path transform="translate(14.95026,22.93047)" inkscape:r_cy="true" inkscape:r_cx="true" d="M 18.788838,12.493138 A 6.7175145,6.7175145 0 1 1 5.3538089,12.493138 A 6.7175145,6.7175145 0 1 1 18.788838,12.493138 z" sodipodi:ry="6.7175145" sodipodi:rx="6.7175145" sodipodi:cy="12.493138" sodipodi:cx="12.071323" id="path3803" style="opacity:1;fill:url(#radialGradient4613);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" sodipodi:type="arc"/>
<path sodipodi:type="arc" style="opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" id="path3805" sodipodi:cx="12.071323" sodipodi:cy="12.493138" sodipodi:rx="6.7175145" sodipodi:ry="6.7175145" d="M 18.788838,12.493138 A 6.7175145,6.7175145 0 1 1 5.3538089,12.493138 A 6.7175145,6.7175145 0 1 1 18.788838,12.493138 z" inkscape:r_cx="true" inkscape:r_cy="true" transform="matrix(0.308271,0,0,0.308271,23.30035,31.57234)"/>
</g>
<g id="g3807" transform="matrix(-0.511037,0.374932,0.374932,0.511037,-7.9607101,2.4653299)" inkscape:r_cx="true" inkscape:r_cy="true">
<path transform="translate(14.95026,22.93047)" inkscape:r_cy="true" inkscape:r_cx="true" d="M 18.788838,12.493138 A 6.7175145,6.7175145 0 1 1 5.3538089,12.493138 A 6.7175145,6.7175145 0 1 1 18.788838,12.493138 z" sodipodi:ry="6.7175145" sodipodi:rx="6.7175145" sodipodi:cy="12.493138" sodipodi:cx="12.071323" id="path3809" style="opacity:1;fill:url(#radialGradient4615);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" sodipodi:type="arc"/>
<path sodipodi:type="arc" style="opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" id="path3811" sodipodi:cx="12.071323" sodipodi:cy="12.493138" sodipodi:rx="6.7175145" sodipodi:ry="6.7175145" d="M 18.788838,12.493138 A 6.7175145,6.7175145 0 1 1 5.3538089,12.493138 A 6.7175145,6.7175145 0 1 1 18.788838,12.493138 z" inkscape:r_cx="true" inkscape:r_cy="true" transform="matrix(0.308271,0,0,0.308271,23.30035,31.57234)"/>
</g>
<g inkscape:r_cy="true" inkscape:r_cx="true" transform="matrix(-0.511037,0.374932,0.374932,0.511037,-7.2549801,-6.0729101)" id="g3813">
<path sodipodi:type="arc" style="opacity:1;fill:url(#radialGradient4617);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" id="path3815" sodipodi:cx="12.071323" sodipodi:cy="12.493138" sodipodi:rx="6.7175145" sodipodi:ry="6.7175145" d="M 18.788838,12.493138 A 6.7175145,6.7175145 0 1 1 5.3538089,12.493138 A 6.7175145,6.7175145 0 1 1 18.788838,12.493138 z" inkscape:r_cx="true" inkscape:r_cy="true" transform="translate(14.95026,22.93047)"/>
<path transform="matrix(0.308271,0,0,0.308271,23.30035,31.57234)" inkscape:r_cy="true" inkscape:r_cx="true" d="M 18.788838,12.493138 A 6.7175145,6.7175145 0 1 1 5.3538089,12.493138 A 6.7175145,6.7175145 0 1 1 18.788838,12.493138 z" sodipodi:ry="6.7175145" sodipodi:rx="6.7175145" sodipodi:cy="12.493138" sodipodi:cx="12.071323" id="path3817" style="opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" sodipodi:type="arc"/>
</g>
<g style="opacity:1" id="g3819" transform="matrix(-0.55157,0.404742,0.40467,0.551668,0.1645199,-8.4894001)" inkscape:r_cx="true" inkscape:r_cy="true">
<path sodipodi:type="arc" style="opacity:1;fill:url(#radialGradient4619);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" id="path3821" sodipodi:cx="12.071323" sodipodi:cy="12.493138" sodipodi:rx="6.7175145" sodipodi:ry="6.7175145" d="M 18.788838,12.493138 A 6.7175145,6.7175145 0 1 1 5.3538089,12.493138 A 6.7175145,6.7175145 0 1 1 18.788838,12.493138 z" inkscape:r_cx="true" inkscape:r_cy="true" transform="translate(14.95026,22.93047)"/>
<path transform="matrix(0.308271,0,0,0.308271,23.30035,31.57234)" inkscape:r_cy="true" inkscape:r_cx="true" d="M 18.788838,12.493138 A 6.7175145,6.7175145 0 1 1 5.3538089,12.493138 A 6.7175145,6.7175145 0 1 1 18.788838,12.493138 z" sodipodi:ry="6.7175145" sodipodi:rx="6.7175145" sodipodi:cy="12.493138" sodipodi:cx="12.071323" id="path3823" style="opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" sodipodi:type="arc"/>
</g>
</g>
<g id="g4537">
<path style="fill:url(#radialGradient2943);fill-opacity:1;fill-rule:nonzero;stroke:#39396c;stroke-miterlimit:4;stroke-opacity:1" d="M 41.495098,21.557863 C 41.495098,29.873539 34.782666,36.614775 26.503763,36.614775 C 18.2241,36.614775 11.512052,29.873464 11.512052,21.557863 C 11.512052,13.242571 18.2241,6.5020202 26.503763,6.5020202 C 34.782666,6.5020202 41.495098,13.242571 41.495098,21.557863 L 41.495098,21.557863 z" id="path2825"/>
<g id="g2827" style="opacity:1;fill:#204a87;fill-opacity:0.71345029;fill-rule:nonzero;stroke:none;stroke-miterlimit:4" transform="matrix(0.741526,0,0,0.741526,8.116144,4.688364)">
<g id="g2829" style="fill:#204a87">
<g id="g2831" style="fill:#204a87">
<path d="M 44.0713,20.7144 C 44.0713,20.9771 44.0713,20.7144 44.0713,20.7144 L 43.5264,21.3316 C 43.1924,20.938 42.8174,20.607 42.4366,20.2613 L 41.6007,20.3843 L 40.837,19.521 L 40.837,20.5894 L 41.4913,21.0845 L 41.9268,21.5777 L 42.5088,20.9195 C 42.6553,21.1939 42.7998,21.4683 42.9453,21.7427 L 42.9453,22.565 L 42.29,23.3052 L 41.0908,24.1284 L 40.1826,25.0347 L 39.6006,24.3745 L 39.8916,23.6343 L 39.3105,22.9761 L 38.3291,20.8784 L 37.4932,19.9331 L 37.2744,20.1792 L 37.6025,21.3726 L 38.2197,22.0718 C 38.5722,23.0894 38.9209,24.062 39.3838,25.0347 C 40.1016,25.0347 40.7783,24.9585 41.4912,24.8687 L 41.4912,25.4449 L 40.6191,27.5841 L 39.8193,28.4884 L 39.165,29.8888 C 39.165,30.6564 39.165,31.424 39.165,32.1915 L 39.3838,33.0978 L 39.0205,33.508 L 38.2197,34.0021 L 37.3838,34.7013 L 38.0752,35.4826 L 37.1299,36.3068 L 37.3115,36.84 L 35.8935,38.4455 L 34.9492,38.4455 L 34.1494,38.9396 L 33.6396,38.9396 L 33.6396,38.2814 L 33.4228,36.963 C 33.1415,36.1368 32.8486,35.3165 32.5507,34.4962 C 32.5507,33.8907 32.5868,33.2911 32.623,32.6857 L 32.9873,31.8634 L 32.4775,30.8751 L 32.5146,29.5177 L 31.8232,28.7364 L 32.1689,27.6055 L 31.6064,26.9673 L 30.624,26.9673 L 30.2969,26.5972 L 29.3155,27.2149 L 28.9161,26.7613 L 28.0069,27.543 C 27.3897,26.8433 26.7715,26.1441 26.1534,25.4449 L 25.4268,23.7164 L 26.0811,22.7301 L 25.7178,22.319 L 26.5166,20.4254 C 27.1729,19.609 27.8584,18.8258 28.5518,18.0397 L 29.7881,17.7106 L 31.169,17.5465 L 32.1143,17.7936 L 33.459,19.15 L 33.9317,18.6158 L 34.585,18.5338 L 35.8213,18.9449 L 36.7666,18.9449 L 37.4209,18.3687 L 37.7119,17.9576 L 37.0566,17.5465 L 35.9658,17.4645 C 35.6631,17.0446 35.3818,16.6032 35.0224,16.2301 L 34.6581,16.3942 L 34.5126,17.4645 L 33.8583,16.7243 L 33.7138,15.9001 L 32.9872,15.3259 L 32.6952,15.3259 L 33.4227,16.1482 L 33.1317,16.8884 L 32.5506,17.0525 L 32.9139,16.3123 L 32.2586,15.9842 L 31.6785,15.326 L 30.5867,15.5721 L 30.4422,15.9002 L 29.7879,16.3123 L 29.4246,17.2176 L 28.5164,17.6697 L 28.116,17.2176 L 27.6805,17.2176 L 27.6805,15.7362 L 28.6258,15.2421 L 29.3524,15.2421 L 29.2059,14.6669 L 28.6258,14.0907 L 29.6063,13.8846 L 30.1512,13.2684 L 30.5867,12.5272 L 31.3875,12.5272 L 31.1687,11.952 L 31.6785,11.6229 L 31.6785,12.2811 L 32.7683,12.5272 L 33.8581,11.6229 L 33.9313,11.2108 L 34.8756,10.5531 C 34.5338,10.5956 34.192,10.6268 33.858,10.7177 L 33.858,9.9766 L 34.2213,9.1538 L 33.858,9.1538 L 33.0596,9.894 L 32.8408,10.3056 L 33.0596,10.8823 L 32.6953,11.8686 L 32.1142,11.5395 L 31.6064,10.9643 L 30.8056,11.5395 L 30.5146,10.2236 L 31.8955,9.3188 L 31.8955,8.8247 L 32.7685,8.249 L 34.1494,7.9194 L 35.0947,8.249 L 36.8388,8.5781 L 36.4033,9.0713 L 35.458,9.0713 L 36.4033,10.0586 L 37.1299,9.2363 L 37.3506,8.8745 C 37.3506,8.8745 40.1377,11.3725 41.7305,14.105 C 43.3233,16.8384 44.0713,20.0601 44.0713,20.7144 z" id="path2833" style="fill:#204a87"/>
</g>
</g>
<g id="g2835" style="fill:#204a87">
<g id="g2837" style="fill:#204a87">
<path d="M 26.0703,9.2363 L 25.9971,9.7295 L 26.5069,10.0586 L 27.378,9.4829 L 26.9425,8.9892 L 26.3605,9.3188 L 26.0705,9.2363" id="path2839" style="fill:#204a87"/>
</g>
</g>
<g id="g2841" style="fill:#204a87">
<g id="g2843" style="fill:#204a87">
<path d="M 26.8701,5.8633 L 24.9795,5.1226 L 22.7998,5.3692 L 20.1094,6.1094 L 19.6006,6.6035 L 21.2725,7.7549 L 21.2725,8.4131 L 20.6182,9.0713 L 21.4912,10.8003 L 22.0713,10.4702 L 22.7998,9.3188 C 23.9228,8.9716 24.9297,8.5781 25.9971,8.0844 L 26.8701,5.8632" id="path2845" style="fill:#204a87"/>
</g>
</g>
<g id="g2847" style="fill:#204a87">
<g id="g2849" style="fill:#204a87">
<path d="M 28.833,12.7749 L 28.542,12.0337 L 28.0322,12.1987 L 28.1787,13.103 L 28.833,12.7749" id="path2851" style="fill:#204a87"/>
</g>
</g>
<g id="g2853" style="fill:#204a87">
<g id="g2855" style="fill:#204a87">
<path d="M 29.123,12.6089 L 28.9775,13.5972 L 29.7773,13.4322 L 30.3584,12.857 L 29.8496,12.3629 C 29.6787,11.9078 29.4824,11.483 29.2685,11.0465 L 28.833,11.0465 L 28.833,11.5397 L 29.123,11.8688 L 29.123,12.609" id="path2857" style="fill:#204a87"/>
</g>
</g>
<g id="g2859" style="fill:#204a87">
<g id="g2861" style="fill:#204a87">
<path d="M 18.3652,28.2422 L 17.7832,27.0899 L 16.6929,26.8433 L 16.1114,25.2808 L 14.6578,25.4449 L 13.4224,24.5406 L 12.1133,25.692 L 12.1133,25.8736 C 11.7173,25.7593 11.2305,25.7437 10.8779,25.5269 L 10.5869,24.7046 L 10.5869,23.7993 L 9.7148,23.8813 C 9.7876,23.3051 9.8598,22.7299 9.9331,22.1538 L 9.4238,22.1538 L 8.9155,22.812 L 8.4062,23.0581 L 7.6791,22.6479 L 7.6063,21.7426 L 7.7518,20.7553 L 8.8426,19.933 L 9.7147,19.933 L 9.8597,19.4389 L 10.95,19.685 L 11.7498,20.6733 L 11.8953,19.0268 L 13.2766,17.8754 L 13.7854,16.641 L 14.803,16.2299 L 15.3845,15.4076 L 16.6926,15.1596 L 17.3474,14.1733 C 16.6931,14.1733 16.0388,14.1733 15.3845,14.1733 L 16.6203,13.5971 L 17.4919,13.5971 L 18.7282,13.185 L 18.8737,12.6928 L 18.4372,12.2807 L 17.9284,12.1157 L 18.0739,11.6225 L 17.7106,10.8823 L 16.838,11.2104 L 16.9835,10.5527 L 15.9659,9.9765 L 15.1666,11.3744 L 15.2389,11.8685 L 14.4396,12.1986 L 13.9303,13.2679 L 13.7125,12.2806 L 12.3312,11.7044 L 12.1129,10.9642 L 13.9303,9.8939 L 14.7301,9.1537 L 14.8029,8.2489 L 14.3669,8.0018 L 13.7854,7.9193 L 13.4221,8.8246 C 13.4221,8.8246 12.8142,8.9437 12.6579,8.9823 C 10.6618,10.8217 6.6286,14.7924 5.6916,22.2885 C 5.7287,22.4623 6.3708,23.4701 6.3708,23.4701 L 7.8972,24.3744 L 9.4236,24.7865 L 10.0784,25.6097 L 11.0955,26.3499 L 11.677,26.2679 L 12.113,26.4642 L 12.113,26.597 L 11.5319,28.16 L 11.0954,28.8182 L 11.2409,29.1483 L 10.8776,30.3807 L 12.1862,32.7674 L 13.4943,33.9197 L 14.0763,34.742 L 14.0031,36.4705 L 14.4396,37.4568 L 14.0031,39.3494 C 14.0031,39.3494 13.9689,39.3377 14.0246,39.5271 C 14.0808,39.7166 16.3537,40.9783 16.4982,40.8709 C 16.6422,40.7615 16.7653,40.6658 16.7653,40.6658 L 16.6203,40.2556 L 17.2014,39.6794 L 17.4197,39.1032 L 18.365,38.7731 L 19.0916,36.9626 L 18.8738,36.4704 L 19.3816,35.7302 L 20.4724,35.4822 L 21.0544,34.1658 L 20.9089,32.5213 L 21.781,31.2869 L 21.9265,30.0525 C 20.7331,29.4607 19.5495,28.8513 18.365,28.242" id="path2863" style="fill:#204a87"/>
</g>
</g>
<g id="g2865" style="fill:#204a87">
<g id="g2867" style="fill:#204a87">
<path d="M 16.7656,9.5649 L 17.4922,10.0586 L 18.0742,10.0586 L 18.0742,9.4829 L 17.3476,9.1538 L 16.7656,9.5649" id="path2869" style="fill:#204a87"/>
</g>
</g>
<g id="g2871" style="fill:#204a87">
<g id="g2873" style="fill:#204a87">
<path d="M 14.876,8.9072 L 14.5122,9.812 L 15.2393,9.812 L 15.6031,8.9892 C 15.9166,8.7675 16.2286,8.5444 16.5479,8.331 L 17.275,8.5781 C 17.7594,8.9072 18.2438,9.2363 18.7286,9.5649 L 19.4561,8.9072 L 18.6558,8.5781 L 18.292,7.8374 L 16.9111,7.6728 L 16.8383,7.2612 L 16.184,7.4262 L 15.8936,8.002 L 15.5298,7.2613 L 15.3848,7.5904 L 15.4576,8.4132 L 14.876,8.9072" id="path2875" style="fill:#204a87"/>
</g>
</g>
<g id="g2877" style="fill:#204a87">
<g style="opacity:0.75;fill:#204a87" id="g2879">
<path id="path2881" d="" style="fill:#204a87"/>
</g>
<g id="g2883" style="fill:#204a87">
<path id="path2885" d="" style="fill:#204a87"/>
</g>
</g>
<g id="g2887" style="fill:#204a87">
<g style="opacity:0.75;fill:#204a87" id="g2889">
<path id="path2891" d="" style="fill:#204a87"/>
</g>
<g id="g2893" style="fill:#204a87">
<path id="path2895" d="" style="fill:#204a87"/>
</g>
</g>
<g id="g2897" style="fill:#204a87">
<g id="g2899" style="fill:#204a87">
<path d="M 17.4922,6.8496 L 17.856,6.521 L 18.5831,6.3564 C 19.0811,6.1142 19.5811,5.9511 20.1095,5.7802 L 19.8195,5.2865 L 18.881,5.4213 L 18.4376,5.8632 L 17.7066,5.9692 L 17.0567,6.2744 L 16.7408,6.4272 L 16.5479,6.6855 L 17.4922,6.8496" id="path2901" style="fill:#204a87"/>
</g>
</g>
<g id="g2903" style="fill:#204a87">
<g id="g2905" style="fill:#204a87">
<path d="M 18.7285,14.6665 L 19.165,14.0083 L 18.5102,13.5151 L 18.7285,14.6665" id="path2907" style="fill:#204a87"/>
</g>
</g>
</g>
<path style="opacity:0.39560439;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:url(#radialGradient2945);stroke-miterlimit:4;stroke-opacity:1" d="M 40.491318,21.554068 C 40.491318,29.31533 34.225629,35.607121 26.497718,35.607121 C 18.769096,35.607121 12.503762,29.315258 12.503762,21.554068 C 12.503762,13.793163 18.769096,7.5020114 26.497718,7.5020114 C 34.225629,7.5020114 40.491318,13.793163 40.491318,21.554068 L 40.491318,21.554068 z" id="path2909"/>
<g id="g4087" transform="matrix(0.738696,0,0,0.738696,39.80859,44.59767)">
<path transform="matrix(1.131034,0.613097,-0.476556,0.879144,12.59459,-39.93013)" inkscape:r_cy="true" inkscape:r_cx="true" d="M -2.8284283,21.041553 A 15.733126,9.4575529 0 1 1 -34.29468,21.041553 A 15.733126,9.4575529 0 1 1 -2.8284283,21.041553 z" sodipodi:ry="9.4575529" sodipodi:rx="15.733126" sodipodi:cy="21.041553" sodipodi:cx="-18.561554" id="path3986" style="opacity:1;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient4521);stroke-width:1.19351077;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" sodipodi:type="arc"/>
<path sodipodi:type="arc" style="opacity:1;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient4523);stroke-width:1.19351077;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" id="path3988" sodipodi:cx="-18.561554" sodipodi:cy="21.041553" sodipodi:rx="15.733126" sodipodi:ry="9.4575529" d="M -2.8284283,21.041553 A 15.733126,9.4575529 0 1 1 -34.29468,21.041553 A 15.733126,9.4575529 0 1 1 -2.8284283,21.041553 z" inkscape:r_cx="true" inkscape:r_cy="true" transform="matrix(0.939326,-0.879086,0.683307,0.730131,-9.18191,-60.42605)"/>
<g id="g3990" transform="matrix(-1.045772,0.767251,0.767251,1.045772,-5.87951,-78.11844)" inkscape:r_cx="true" inkscape:r_cy="true">
<path sodipodi:type="arc" style="opacity:1;fill:url(#radialGradient4525);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" id="path3992" sodipodi:cx="12.071323" sodipodi:cy="12.493138" sodipodi:rx="6.7175145" sodipodi:ry="6.7175145" d="M 18.788838,12.493138 A 6.7175145,6.7175145 0 1 1 5.3538089,12.493138 A 6.7175145,6.7175145 0 1 1 18.788838,12.493138 z" inkscape:r_cx="true" inkscape:r_cy="true" transform="translate(14.95026,22.93047)"/>
<path transform="matrix(0.308271,0,0,0.308271,23.30035,31.57234)" inkscape:r_cy="true" inkscape:r_cx="true" d="M 18.788838,12.493138 A 6.7175145,6.7175145 0 1 1 5.3538089,12.493138 A 6.7175145,6.7175145 0 1 1 18.788838,12.493138 z" sodipodi:ry="6.7175145" sodipodi:rx="6.7175145" sodipodi:cy="12.493138" sodipodi:cx="12.071323" id="path3994" style="opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" sodipodi:type="arc"/>
</g>
<path transform="matrix(-1.280316,-0.126159,9.806226e-2,-0.99518,-43.90111,-15.45061)" inkscape:r_cy="true" inkscape:r_cx="true" d="M -2.8284283,21.041553 A 15.733126,9.4575529 0 1 1 -34.29468,21.041553 A 15.733126,9.4575529 0 1 1 -2.8284283,21.041553 z" sodipodi:ry="9.4575529" sodipodi:rx="15.733126" sodipodi:cy="21.041553" sodipodi:cx="-18.561554" id="path3996" style="opacity:1;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient4527);stroke-width:1.19351077;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" sodipodi:type="arc"/>
<path transform="matrix(0.917874,-0.858983,0.667701,0.713433,-13.86281,-62.88356)" inkscape:r_cy="true" inkscape:r_cx="true" d="M -2.8284283,21.041553 A 15.733126,9.4575529 0 1 1 -34.29468,21.041553 A 15.733126,9.4575529 0 1 1 -2.8284283,21.041553 z" sodipodi:ry="9.4575529" sodipodi:rx="15.733126" sodipodi:cy="21.041553" sodipodi:cx="-18.561554" id="path3998" style="opacity:1;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient4529);stroke-width:1.2214241;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" sodipodi:type="arc"/>
<g inkscape:r_cy="true" inkscape:r_cx="true" transform="matrix(-0.806276,0.59154,0.59154,0.806276,-29.11034,-74.00369)" id="g4000">
<path sodipodi:type="arc" style="opacity:1;fill:url(#radialGradient4531);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" id="path4002" sodipodi:cx="12.071323" sodipodi:cy="12.493138" sodipodi:rx="6.7175145" sodipodi:ry="6.7175145" d="M 18.788838,12.493138 A 6.7175145,6.7175145 0 1 1 5.3538089,12.493138 A 6.7175145,6.7175145 0 1 1 18.788838,12.493138 z" inkscape:r_cx="true" inkscape:r_cy="true" transform="translate(14.95026,22.93047)"/>
<path transform="matrix(0.308271,0,0,0.308271,23.30035,31.57234)" inkscape:r_cy="true" inkscape:r_cx="true" d="M 18.788838,12.493138 A 6.7175145,6.7175145 0 1 1 5.3538089,12.493138 A 6.7175145,6.7175145 0 1 1 18.788838,12.493138 z" sodipodi:ry="6.7175145" sodipodi:rx="6.7175145" sodipodi:cy="12.493138" sodipodi:cx="12.071323" id="path4004" style="opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" sodipodi:type="arc"/>
</g>
<g id="g4006" transform="matrix(-0.806276,0.59154,0.59154,0.806276,-27.99688,-87.4747)" inkscape:r_cx="true" inkscape:r_cy="true">
<path transform="translate(14.95026,22.93047)" inkscape:r_cy="true" inkscape:r_cx="true" d="M 18.788838,12.493138 A 6.7175145,6.7175145 0 1 1 5.3538089,12.493138 A 6.7175145,6.7175145 0 1 1 18.788838,12.493138 z" sodipodi:ry="6.7175145" sodipodi:rx="6.7175145" sodipodi:cy="12.493138" sodipodi:cx="12.071323" id="path4008" style="opacity:1;fill:url(#radialGradient4533);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" sodipodi:type="arc"/>
<path sodipodi:type="arc" style="opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" id="path4010" sodipodi:cx="12.071323" sodipodi:cy="12.493138" sodipodi:rx="6.7175145" sodipodi:ry="6.7175145" d="M 18.788838,12.493138 A 6.7175145,6.7175145 0 1 1 5.3538089,12.493138 A 6.7175145,6.7175145 0 1 1 18.788838,12.493138 z" inkscape:r_cx="true" inkscape:r_cy="true" transform="matrix(0.308271,0,0,0.308271,23.30035,31.57234)"/>
</g>
<g inkscape:r_cy="true" inkscape:r_cx="true" transform="matrix(-0.870227,0.638572,0.638458,0.870381,-16.29091,-91.28726)" id="g4012" style="opacity:1">
<path transform="translate(14.95026,22.93047)" inkscape:r_cy="true" inkscape:r_cx="true" d="M 18.788838,12.493138 A 6.7175145,6.7175145 0 1 1 5.3538089,12.493138 A 6.7175145,6.7175145 0 1 1 18.788838,12.493138 z" sodipodi:ry="6.7175145" sodipodi:rx="6.7175145" sodipodi:cy="12.493138" sodipodi:cx="12.071323" id="path4014" style="opacity:1;fill:url(#radialGradient4535);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" sodipodi:type="arc"/>
<path sodipodi:type="arc" style="opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" id="path4016" sodipodi:cx="12.071323" sodipodi:cy="12.493138" sodipodi:rx="6.7175145" sodipodi:ry="6.7175145" d="M 18.788838,12.493138 A 6.7175145,6.7175145 0 1 1 5.3538089,12.493138 A 6.7175145,6.7175145 0 1 1 18.788838,12.493138 z" inkscape:r_cx="true" inkscape:r_cy="true" transform="matrix(0.308271,0,0,0.308271,23.30035,31.57234)"/>
</g>
</g>
</g>
</g>
</g>
<g inkscape:groupmode="layer" id="layer2" inkscape:label="sky" style="display:inline">
<rect style="fill:url(#linearGradient3785);fill-opacity:1;stroke:none;stroke-width:10;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline" id="rect2221" width="992.12598" height="177.16536" x="3.7747583e-15" y="-1.0982373e-05" inkscape:export-xdpi="90" inkscape:export-ydpi="90"/>
<rect inkscape:export-ydpi="90" inkscape:export-xdpi="90" y="0.83464432" x="3.7747583e-15" height="177.16536" width="992.12598" id="rect2865" style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:10;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline" mask="url(#mask3695)" transform="translate(0,-0.8346553)"/>
</g>
<g inkscape:groupmode="layer" id="layer5" inkscape:label="body" style="display:inline" sodipodi:insensitive="true">
<rect style="opacity:1;fill:url(#linearGradient3797);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" id="rect3789" width="992.12598" height="496.06299" x="0" y="177.16531"/>
</g>
<g inkscape:groupmode="layer" id="layer3" inkscape:label="panel" style="display:inline">
<g style="display:inline" id="g2324" transform="translate(1.0883895e-7,-27.406054)" inkscape:export-xdpi="90" inkscape:export-ydpi="90">
<rect transform="matrix(0.9999995,-9.8854436e-4,9.8854436e-4,0.9999995,0,0)" ry="9.999999" rx="9.999999" y="40.496746" x="9.9500866" height="159.44882" width="708.66144" id="rect11283" style="fill:url(#linearGradient3787);fill-opacity:1;stroke:#babdb6;stroke-width:1.99999976;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"/>
<path sodipodi:nodetypes="ccccccccc" id="rect11482" d="M 19.604562,42.501768 C 13.082451,42.618431 10.754645,50.128797 11.99251,55.603049 C 12.199837,115.7119 11.816947,131.86497 12.389538,191.94649 C 14.281752,199.93964 24.059835,198.07358 30.176834,198.05391 C 188.11157,197.8144 551.80123,197.90838 709.72279,197.46053 C 716.67575,196.62823 717.35557,188.06826 716.42684,182.5789 C 716.19849,123.05648 716.64622,107.46569 716.00029,47.98548 C 714.23501,40.50167 704.89445,41.77767 699.11936,42.002164 C 541.19281,42.179122 177.52889,42.272727 19.604562,42.501768 z" style="fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:1.99999976;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"/>
</g>
</g>
<g inkscape:groupmode="layer" id="layer11" inkscape:label="skyline" style="display:inline">
<path style="fill:#2e3436;fill-opacity:1;fill-rule:nonzero;stroke:none;display:inline" d="M 874.06742,73.040345 C 873.34175,73.087365 872.60387,73.312535 871.84867,73.759095 C 867.11455,76.495355 862.00528,78.324735 856.87992,80.102845 C 856.1743,97.314985 856.87557,114.59258 857.03617,131.82159 C 853.85375,131.50439 850.71475,131.99064 847.56742,132.35284 C 844.28527,131.50181 841.52479,129.28212 838.47367,127.85284 C 834.66983,125.57892 830.15053,126.06498 825.94242,125.88409 C 824.45709,120.67345 822.81279,115.46719 820.66117,110.50909 C 818.36143,105.13823 811.98947,104.01319 808.84867,99.384095 C 807.79219,95.316005 807.92408,91.073295 807.47367,86.915345 C 806.52451,86.744335 804.61038,86.398865 803.66117,86.227845 C 802.54711,90.381035 802.10256,94.651535 801.22367,98.852845 C 798.89325,102.15 795.72517,104.61692 792.59867,107.04034 C 788.26812,110.351 787.29216,116.16247 785.19242,120.94659 C 783.34447,125.35235 785.30352,130.04201 786.00492,134.47784 C 781.1107,135.28968 776.1551,136.20301 771.84867,138.88409 C 771.55217,130.52303 773.70237,121.46742 769.37992,113.82159 C 767.37534,110.62224 766.26295,107.02052 765.37992,103.35284 C 764.14425,103.53777 762.88897,103.72643 761.66117,103.91534 C 761.1979,108.16876 759.47192,112.00402 757.31742,115.60284 C 753.4725,122.11216 755.90933,133.23233 754.87992,137.16534 C 753.85051,141.09835 752.38125,144.51788 752.12992,147.16534 L 0,147.16534 L 0,177.16534 L 992.12992,177.16534 L 992.12992,147.16534 L 991.94242,147.16534 C 992.30142,139.39344 992.4972,138.94849 989.75492,126.16534 C 986.71948,123.11956 983.64486,120.12656 980.56742,117.13409 C 980.58262,112.42806 980.53214,107.7099 980.75492,103.00909 C 982.36502,92.508675 973.4683,84.614795 972.34867,74.571595 C 971.58091,74.444505 970.05392,74.198715 969.28617,74.071595 C 967.85324,80.938305 964.38546,86.922745 961.22367,93.040345 C 959.55825,102.50818 959.90188,112.15279 959.97367,121.72784 C 956.51759,119.98373 953.03318,118.32547 949.50492,116.75909 C 947.95119,109.73645 946.79301,102.61454 944.94242,95.665345 C 943.93871,95.626245 941.94614,95.548165 940.94242,95.509095 C 939.0689,102.52926 937.6843,109.69522 936.25492,116.82159 C 932.94485,118.59259 929.64677,120.3822 926.31742,122.10284 C 926.53064,124.2969 926.81273,126.47116 927.06742,128.66534 C 925.4735,129.56489 923.86385,130.47266 922.28617,131.38409 C 923.4453,134.87321 921.18687,141.49007 919.94242,141.29034 C 917.26817,134.82982 911.4663,131.47226 905.87992,128.10284 C 901.14136,127.96418 900.62996,134.19365 897.56742,136.82159 C 896.44728,136.41915 894.18754,135.59905 893.06742,135.19659 C 892.95249,116.73517 893.47906,98.275705 892.91117,79.821595 C 889.56656,78.910375 886.18684,78.162915 882.84867,77.259095 C 880.09871,75.833135 877.212,72.836605 874.06742,73.040345 z" id="path16" sodipodi:nodetypes="cccccccccccccccccccczccccccccccccccccccccccccccc"/>
</g>
<g inkscape:groupmode="layer" id="layer10" inkscape:label="title" style="display:inline">
<g style="display:inline" id="g4312" transform="matrix(1.0420639,0,0,1.0420639,-44.281496,-66.851496)">
<g style="opacity:0.75;fill:#2e3436;display:inline;filter:url(#filter4326)" id="g3522" transform="matrix(0.9999994,-9.8854423e-4,9.8854423e-4,0.9999994,-113.72476,-137.91898)">
<text transform="matrix(0.9993946,-3.4790853e-2,3.4790853e-2,0.9993946,0,0)" sodipodi:linespacing="125%" id="text3524" y="319.88165" x="288.36026" style="font-size:92.19404602px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#2e3436;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Anivers" xml:space="preserve"><tspan style="font-size:76.8283844px;text-align:start;text-anchor:start;fill:#2e3436;fill-opacity:1;font-family:Baby Kruffy" y="319.88165" x="288.36026" id="tspan3526" sodipodi:role="line" dx="0 2.7162941 3.1690092 3.1690092 0 0 -9.5070267">Linux <tspan style="fill:#2e3436" id="tspan3528" dy="8.000001">DaY </tspan></tspan></text>
</g>
<g transform="matrix(0.9999994,-9.8854423e-4,9.8854423e-4,0.9999994,-115.72476,-139.91898)" id="g8165" style="display:inline">
<text xml:space="preserve" style="font-size:92.19404602px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#f9a40b;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Anivers" x="288.36026" y="319.88165" id="text3211" sodipodi:linespacing="125%" transform="matrix(0.9993946,-3.4790853e-2,3.4790853e-2,0.9993946,0,0)"><tspan dx="0 2.7162941 3.1690092 3.1690092 0 0 -9.5070267" sodipodi:role="line" id="tspan3213" x="288.36026" y="319.88165" style="font-size:76.8283844px;text-align:start;text-anchor:start;fill:#f9a40b;fill-opacity:1;font-family:Baby Kruffy">Linux <tspan dy="8.000001" id="tspan2763" style="fill:#2e3436">DaY </tspan></tspan></text>
</g>
</g>
<text xml:space="preserve" style="font-size:23.69161797px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#888a85;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;display:inline;font-family:Anivers" x="430.70755" y="136.54861" id="text9151" sodipodi:linespacing="125%" transform="matrix(0.9999995,-9.8854479e-4,9.8854479e-4,0.9999995,0,0)"><tspan sodipodi:role="line" id="tspan9153" x="430.70755" y="136.54861" style="font-size:23.69161797px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;fill:#888a85;font-family:Fontin Sans;-inkscape-font-specification:Fontin Sans">Bergamo Linux User Group</tspan></text>
<g id="g3910" style="fill:#babdb6">
<path id="path3871" d="M 585.14913,65.645517 C 585.14907,75.443752 580.67598,83.568345 571.72984,90.019318 C 567.95659,92.697101 563.45307,94.918431 558.21927,96.683316 L 571.63855,97.870057 L 569.72152,108.45943 L 543.88711,104.44276 L 545.98672,88.284854 C 550.5511,86.945985 554.44602,85.394096 557.67155,83.629184 C 565.33967,79.551693 568.93032,74.956886 568.44348,69.844749 C 568.13916,66.254139 566.58727,64.458816 563.78782,64.458778 C 560.68401,64.458816 556.66736,66.375856 551.73785,70.209899 L 531.74585,48.757302 L 564.70069,30.591061 C 570.90822,30.591134 575.83774,33.664482 579.48929,39.811113 C 583.26247,46.140448 585.14907,54.751907 585.14913,65.645517" style="font-size:75.04833221px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;opacity:1;fill:#babdb6;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;display:inline;font-family:Arial;-inkscape-font-specification:Arial"/>
<path id="path3869" d="M 598.23226,51.72566 C 594.52181,52.712524 591.36028,54.101233 588.71561,55.916928 C 582.32104,60.258961 579.12502,66.335885 579.125,74.111966 C 579.12501,82.874914 581.35579,89.72495 585.85568,94.69849 C 589.80294,99.07996 594.6635,101.28125 600.42651,101.28125 C 603.66325,101.28125 606.7608,99.86789 609.72126,97.06533 C 612.24748,94.69698 614.35029,91.67825 616.00817,87.96781 C 617.58704,84.5337 618.37494,81.544484 618.375,79.018216 C 618.37496,72.939455 617.23742,67.522457 614.94802,62.746231 C 611.4744,55.404363 605.88989,51.725708 598.23226,51.72566 z M 604.10003,82.14934 C 605.08682,82.149359 605.92889,82.44483 606.63945,83.036903 C 607.54729,83.826374 608.02008,84.89994 608.0201,86.24199 C 608.02007,87.58408 607.53746,88.81029 606.59014,89.91552 C 605.4454,91.29707 604.06651,91.9865 602.44818,91.98649 C 601.46133,91.9865 600.61925,91.69103 599.90876,91.09893 C 598.9614,90.30949 598.47878,89.27042 598.4788,87.96781 C 598.47878,86.62575 598.9614,85.39953 599.90876,84.29428 C 601.09292,82.873286 602.48163,82.149357 604.10003,82.14934 z" style="font-size:75.04833221px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;opacity:1;fill:#babdb6;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;display:inline;font-family:Arial;-inkscape-font-specification:Arial"/>
<path id="path3865" d="M 632.14274,52.22566 C 635.85318,53.212524 639.01471,54.601233 641.65939,56.416928 C 648.05396,60.758961 651.24998,66.835885 651.25,74.611966 C 651.25,83.374914 648.99455,90.22495 644.49466,95.19849 C 640.5474,99.57996 635.71149,101.78125 629.94849,101.78125 C 626.71176,101.78125 623.61419,100.36789 620.65374,97.56533 C 618.12752,95.19698 616.02471,92.17825 614.36683,88.46781 C 612.78797,85.033703 612.00005,82.044484 612,79.518216 C 612.00004,73.439455 613.13758,68.022457 615.42698,63.246231 C 618.9006,55.904363 624.4851,52.225708 632.14274,52.22566 z M 626.27497,82.64934 C 625.28818,82.649359 624.42145,82.94483 623.7109,83.536903 C 622.80306,84.326374 622.35492,85.399939 622.3549,86.74199 C 622.35493,88.08408 622.83754,89.31029 623.78486,90.41552 C 624.9296,91.79707 626.30848,92.4865 627.92682,92.48649 C 628.91366,92.4865 629.75575,92.19103 630.46624,91.59893 C 631.4136,90.80949 631.89622,89.77042 631.8962,88.46781 C 631.89622,87.12575 631.41359,85.899534 630.46624,84.794284 C 629.28208,83.373286 627.89336,82.649357 626.27497,82.64934 z" style="font-size:75.04833221px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;opacity:1;fill:#babdb6;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;display:inline;font-family:Arial;-inkscape-font-specification:Arial"/>
<path id="path3861" d="M 666.875,108.97588 C 666.34015,108.98298 665.80026,108.96169 665.25,108.94463 C 650.97525,108.39855 644.84697,94.725348 644.4375,81.007128 C 644.02798,65.309554 650.44641,62.566955 659.875,57.475878 C 662.71066,55.944721 664.82877,57.412636 661.46875,53.663378 C 658.10871,49.914123 656.21869,42.892381 656.21875,38.319628 C 656.21871,30.948608 661.35623,27.067118 671.59375,26.725878 C 674.80144,26.589368 677.52894,28.092118 679.78125,31.163378 C 682.10173,34.234628 683.24995,37.761606 683.25,41.788378 C 683.24999,47.248369 681.08672,51.529599 676.71875,54.600878 C 680.13124,56.102356 683.01748,57.916842 685.40625,60.100878 C 691.13924,65.219603 693.79017,71.403319 693.3125,78.569628 C 692.69821,87.919844 690.18043,95.220548 685.8125,100.47588 C 681.20559,106.04246 674.89768,108.86938 666.875,108.97588 z M 670.125,82.600878 C 675.18225,82.6567 679.67762,79.879906 680.9375,75.507128 C 682.4881,70.125247 678.56408,64.351692 672.1875,62.600878 C 665.81091,60.850063 659.36313,63.781498 657.8125,69.163378 C 656.26188,74.545257 660.18592,80.350064 666.5625,82.100878 C 667.75811,82.429155 668.95794,82.587996 670.125,82.600878 z M 669.9375,50.819628 C 671.43894,50.819604 672.72051,50.394364 673.8125,49.507128 C 674.90445,48.688103 675.49995,47.559612 675.5,46.194628 C 675.49995,44.420105 674.7202,42.94862 673.21875,41.788378 C 671.7172,40.628107 670.087,40.069616 668.3125,40.069628 C 666.81098,40.069619 665.52946,40.438111 664.4375,41.257128 C 663.34548,42.144367 662.78118,43.323855 662.78125,44.757128 C 662.78123,46.463367 663.52977,47.909351 665.03125,49.069628 C 666.53272,50.22986 668.16295,50.819606 669.9375,50.819628 z" style="font-size:75.04833221px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;opacity:1;fill:#babdb6;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;display:inline;font-family:Arial;-inkscape-font-specification:Arial"/>
</g>
</g>
<g inkscape:groupmode="layer" id="layer6" inkscape:label="sidebar_right" style="display:none">
<rect style="opacity:0.1;fill:url(#linearGradient3925);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" id="rect3917" width="265.74802" height="460.62991" x="708.66144" y="194.8819" ry="17.716536" rx="17.716536"/>
</g>
<g inkscape:groupmode="layer" id="layer8" inkscape:label="sidebar_left" style="display:inline">
<rect rx="17.716536" ry="17.716536" y="194.8819" x="17.716536" height="460.62991" width="265.74802" id="rect2676" style="opacity:0.1;fill:url(#linearGradient2679);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"/>
</g>
<g inkscape:groupmode="layer" id="layer1" inkscape:label="logo" style="display:inline">
<g style="display:inline" id="g8173" transform="matrix(0.850959,-0.1547842,0.1547842,0.850959,-154.46233,-106.80187)">
<path sodipodi:type="arc" style="opacity:0.5;fill:#080909;fill-opacity:1;stroke-width:2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline;filter:url(#filter4363)" id="path4361" sodipodi:cx="100" sodipodi:cy="100" sodipodi:rx="70" sodipodi:ry="70" d="M 170,100 A 70,70 0 1 1 30,100 A 70,70 0 1 1 170,100 z" transform="matrix(1.0357143,0,0,1.0357143,117.99819,152.18925)"/>
<path transform="matrix(1.0357143,0,0,1.0357143,113.99819,148.18925)" d="M 170,100 A 70,70 0 1 1 30,100 A 70,70 0 1 1 170,100 z" sodipodi:ry="70" sodipodi:rx="70" sodipodi:cy="100" sodipodi:cx="100" id="path4350" style="fill:#ffffff;fill-opacity:1;stroke-width:2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline" sodipodi:type="arc"/>
<image xlink:href="ld2008_files/bglogo_02.gif" sodipodi:absref="/home/giuseppe/Projects/BgLUG/BgLUG.it v2/images/bglogo_02.gif" width="159" height="156" id="image3208" x="138.7589" y="175.5714"/>
<path sodipodi:type="arc" style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:14.31951141;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline" id="path4367" sodipodi:cx="100" sodipodi:cy="100" sodipodi:rx="70" sodipodi:ry="70" d="M 170,100 A 70,70 0 1 1 30,100 A 70,70 0 1 1 170,100 z" transform="matrix(0.968894,0,0,0.968894,121.04022,155.23128)"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 73 KiB

View File

@ -1,8 +1,7 @@
---
title: Linux Day 2008 La locandina!
title: Linux Day 2008 - La locandina!
author: Mangia
type: post
draft: true
date: 2008-10-03T09:17:26+00:00
url: /2008/10/03/linux-day-2008-la-locandina/
categories:
@ -17,9 +16,7 @@ Ecco a voi, lettori affezionati ed occasionali, la locandina con tutte le inform
La sede dell'evento, come ormai da tradizione, sarà la **facoltà di Ingegneria dell'Università degli Studi di Bergamo**, con ben due aule a disposizione per seminari e dibattiti, oltre alla sala **Installation Party**, dove sarà possibile chiedere una mano per installare Linux sul proprio computer.
<p style="text-align: center;">
<a title="Locandina Linux Day 2008" href="http://bglug.it/wp-content/uploads/2008/10/locandina_ld08.pdf"><img loading="lazy" decoding="async" class="size-medium wp-image-80" title="locandina_ld08" src="http://bglug.it/wp-content/uploads/2008/10/locandina_ld08-211x300.jpg" alt="Locandina del Linux Day 2008" width="211" height="300" srcset="https://bglug.it/wp-content/uploads/2008/10/locandina_ld08-211x300.jpg 211w, https://bglug.it/wp-content/uploads/2008/10/locandina_ld08.jpg 300w" sizes="(max-width: 211px) 100vw, 211px" /></a>
</p>
[![Locandina del Linux Day 2008](locandina_ld08-211x300.jpg)](locandina_ld08.pdf)
Eccovi anche una mappa che indica il luogo del LD:

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Some files were not shown because too many files have changed in this diff Show More