Inserito immagini in post che ne erano privi #170

Merged
omarl merged 12 commits from omarl/bglug.it:post-senza-immagini into main 2024-08-03 19:42:14 +00:00
8 changed files with 124 additions and 88 deletions
Showing only changes of commit e5774f1402 - Show all commits

View File

@ -4,6 +4,9 @@ author: jimmi
type: post type: post
date: 2008-07-24T04:29:37+00:00 date: 2008-07-24T04:29:37+00:00
slug: postfix-nirvana-part1 slug: postfix-nirvana-part1
image: postfix-dovecot.jpg
image_alt: "Logo del topolino di Postfix e Dovecot"
image_caption: "Image credits: by [xmodulo](https://www.flickr.com/photos/91795203@N02/12290801226 'Flickr')"
aliases: aliases:
- /2008/07/24/postfix-nirvana-parte-i/ - /2008/07/24/postfix-nirvana-parte-i/
categories: categories:
@ -58,7 +61,7 @@ I principali file di configurazione sono due: `main.cf` in cui stanno tutti i pa
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): 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):
``` ```bash
# questa sezione riguarda le mail 'rimbalzate' : # questa sezione riguarda le mail 'rimbalzate' :
# si specifica cosa notificare e a quale account # si specifica cosa notificare e a quale account
@ -109,7 +112,7 @@ 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: 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:
``` ```bash
# postalias /etc/postfix/aliases # postalias /etc/postfix/aliases
``` ```
@ -119,13 +122,13 @@ 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: Il `sender_canonical` invece serve per tradurre gli account degli utenti locali in indirizzi di posta elettronica. Una volta modificato occorre dare:
``` ```bash
# postmap /etc/postfix/sender_canonical # postmap /etc/postfix/sender_canonical
``` ```
se tutto è ok si può far partire postfix e testarlo con: se tutto è ok si può far partire postfix e testarlo con:
``` ```bash
# telnet 127.0.0.1 25 # telnet 127.0.0.1 25
Trying 127.0.0.1... Trying 127.0.0.1...
Connected to 127.0.0.1. Connected to 127.0.0.1.
@ -144,20 +147,20 @@ 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: 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:
``` ```bash
deb http://ftp2.de.debian.org/debian-volatile sarge/volatile main deb http://ftp2.de.debian.org/debian-volatile sarge/volatile main
``` ```
per installare il tutto eseguo da riga di comando: per installare il tutto eseguo da riga di comando:
``` ```bash
# apt-get update # apt-get update
# apt-get install amavisd-new spamassassin clamav clamav-daemon clamav-freshclam zoo unzip bzip2 unzoo nomarch lzop pax # 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: Passo quindi alla configurazione. È necessario abilitare ClamAV e Spamassassin in `/etc/amavis/conf.d/15-content_filter_mode`, che dovrà avere questo aspetto:
``` ```bash
use strict; use strict;
# You can modify this file to re-enable SPAM checking # You can modify this file to re-enable SPAM checking
@ -183,13 +186,13 @@ use strict;
ed è consigliabile aggiungere la riga ed è consigliabile aggiungere la riga
``` ```bash
$pax='pax'; $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: 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:
``` ```bash
/etc/init.d/amavis restart /etc/init.d/amavis restart
/etc/init.d/clamav-daemon restart /etc/init.d/clamav-daemon restart
/etc/init.d/clamav-freshclam restart /etc/init.d/clamav-freshclam restart
@ -197,14 +200,14 @@ nel file `/etc/amavis/conf.d/50-user`. Normalmente le impostazioni di default co
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`: 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`:
``` ```bash
content_filter = amavis:[127.0.0.1]:10024 content_filter = amavis:[127.0.0.1]:10024
receive_override_options = no_address_mappings receive_override_options = no_address_mappings
``` ```
e poi aggiungo le seguenti in `/etc/postfix/master.cf`: e poi aggiungo le seguenti in `/etc/postfix/master.cf`:
``` ```bash
amavis unix - - - - 2 smtp amavis unix - - - - 2 smtp
-o smtp_data_done_timeout=1200 -o smtp_data_done_timeout=1200
-o smtp_send_xforward_command=yes -o smtp_send_xforward_command=yes
@ -229,7 +232,7 @@ Faccio ripartire postfix e con "`netstat -tap`" vedo Postfix (master) in ascolto
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: 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:
``` ```bash
# adduser clamav amavis # adduser clamav amavis
# /etc/init.d/amavis restart # /etc/init.d/amavis restart
# /etc/init.d/clamav-daemon restart # /etc/init.d/clamav-daemon restart
@ -240,7 +243,7 @@ Spamassassin è un software scritto in Perl in grado di identificare e bloccare
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`: 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`:
``` ```bash
required_score 5.0 required_score 5.0
``` ```
@ -248,19 +251,19 @@ e fino ad ora non mi è mai capitato che abbia bloccato una mail che non fosse s
A questo punto per Debian modifico il file /etc/default/spamassassin con: A questo punto per Debian modifico il file /etc/default/spamassassin con:
``` ```bash
ENABLED=1 ENABLED=1
``` ```
Ed avvio il demone: Ed avvio il demone:
``` ```bash
# /etc/init.d/spamassassin start # /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: 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:
``` ```bash
# Enable the Bayes system # Enable the Bayes system
use_bayes 1 use_bayes 1
@ -272,14 +275,14 @@ 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: 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:
``` ```bash
sa-learn --spam -C /var/lib/amavis/.spamassassin/ --showdots [directorySPAM] sa-learn --spam -C /var/lib/amavis/.spamassassin/ --showdots [directorySPAM]
sa-learn --ham -C /var/lib/amavis/.spamassassin/ --showdots [directoryHAM] 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: Per tenere le regole sempre aggiornate posso scaricare periodicamente i file configurazione (rules, scores, etc.) inserendo in crontab una riga tipo:
``` ```bash
0 4 * * * sa-update && /etc/init.d/spamd restart 0 4 * * * sa-update && /etc/init.d/spamd restart
``` ```
@ -291,20 +294,20 @@ I filtri tipo greylist sono uno dei recenti metodi di lotta allo SPAM, e si basa
Debian mette a disposizione Posgrey, che implementa una greylist in Postfix. L'installazione si esegue come sempre con: Debian mette a disposizione Posgrey, che implementa una greylist in Postfix. L'installazione si esegue come sempre con:
``` ```bash
# apt-get install postgrey # apt-get install postgrey
``` ```
dopo l'installazione trovo il demone in ascolto sulla porta 60000, come posso verificare con: dopo l'installazione trovo il demone in ascolto sulla porta 60000, come posso verificare con:
``` ```bash
# netstat -anp | grep 60000 # netstat -anp | grep 60000
tcp 0 0 127.0.0.1:60000 0.0.0.0:* LISTEN 18478/postgrey.pid 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": Per fare in modo che Postfix usi il demone devo aggiungere la seguente riga in /etc/postfix/main.cf, tra le "smtpd\_recipient\_restrictions":
``` ```bash
check_policy_service inet:127.0.0.1:60000 check_policy_service inet:127.0.0.1:60000
``` ```
@ -316,7 +319,7 @@ Postfix prevede la possibilità di effettuare un certo numero di test sulle mail
Nel main.cf possiamo specificare questi controlli (che sono una piccola parte rispetto a quelli disponibili): Nel main.cf possiamo specificare questi controlli (che sono una piccola parte rispetto a quelli disponibili):
``` ```bash
# 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 è # in transito. Se sul vostro sistema è installato pcre è
# consigliabile utilizzare questo al posto delle regexp per # consigliabile utilizzare questo al posto delle regexp per
@ -375,7 +378,7 @@ Vediamo più da vicino queste mappe (e come si compilano): alcune sono di tipo _
la forma in cui devono essere messe le regole è: la forma in cui devono essere messe le regole è:
``` ```bash
/pattern/ AZIONE MOTIVAZIONE /pattern/ AZIONE MOTIVAZIONE
``` ```
@ -383,7 +386,7 @@ Tra pattern, azione e motivazione ci deve essere almeno uno spazio; per question
Un esempio di body_checks è: Un esempio di body_checks è:
``` ```bash
# 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 # contenere spazi. La clausola REJECT indica il rifiuto del
# messaggio (ce ne sono altre: OK, WARN, ecc..) # messaggio (ce ne sono altre: OK, WARN, ecc..)
@ -399,7 +402,7 @@ Un esempio di body_checks è:
si può anche andare sul complicato utilizzando le espressioni regolari: si può anche andare sul complicato utilizzando le espressioni regolari:
``` ```bash
# 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 # estensioni che fanno supporre la presenza di virus; come visto
# prima si può mettere un testo dopo il reject che spiega la # prima si può mettere un testo dopo il reject che spiega la
@ -415,7 +418,7 @@ si può anche andare sul complicato utilizzando le espressioni regolari:
la forma è la medesima di body_ckecks, ma in questo caso dobbiamo specificare gli headers: la forma è la medesima di body_ckecks, ma in questo caso dobbiamo specificare gli headers:
``` ```bash
# 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... # la mail, sul soggetto, ma ci si può sbizzarrire...
@ -435,7 +438,7 @@ la forma è la medesima di body_ckecks, ma in questo caso dobbiamo specificare g
è 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. è 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: Io utilizzo clausole molto simili a questa:
``` ```bash
# blocco i file .pif (e allo stesso modo qualsiasi file con # blocco i file .pif (e allo stesso modo qualsiasi file con
# estensione pericolosa). # estensione pericolosa).
@ -449,7 +452,7 @@ La sintassi prevede 3 categorie su cui effettuare i confronti: un utente ben det
Ad esempio: Ad esempio:
``` ```bash
# 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 # 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 # completi nel terzo esempio il confronto lo si fa sullutente e nel
@ -468,14 +471,14 @@ In particolare dobbiamo, nel rispetto delle RFC, accettare qualsiasi cosa indiri
Quindi inseriamo: Quindi inseriamo:
``` ```bash
postmaster@nomedominio OK postmaster@nomedominio OK
abuse@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: Se qualche nostro utente vuole ricevere posta da utenti in BL, possiamo elencare qui i mittenti specifici o lintero dominio di appartenenza:
``` ```bash
utente@dominioinbl OK utente@dominioinbl OK
dominioinbl OK dominioinbl OK
``` ```

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

View File

@ -4,6 +4,9 @@ author: jimmi
type: post type: post
date: 2008-08-05T11:27:46+00:00 date: 2008-08-05T11:27:46+00:00
slug: postfix-nirvana-part2 slug: postfix-nirvana-part2
image: postfix-dovecot.jpg
image_alt: "Logo del topolino di Postfix e Dovecot"
image_caption: "Image credits: by [xmodulo](https://www.flickr.com/photos/91795203@N02/12290801226 'Flickr')"
aliases: aliases:
- /2008/08/05/postfix-nirvana-parte-ii/ - /2008/08/05/postfix-nirvana-parte-ii/
categories: categories:
@ -31,7 +34,7 @@ _Ecco la seconda parte della guida al buon server mail. Come preannunciato nella
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: 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:
``` ```bash
CREATE DATABASE postfix; CREATE DATABASE postfix;
CREATE USER 'postfix'@'localhost' IDENTIFIED BY 'choose_a_password'; CREATE USER 'postfix'@'localhost' IDENTIFIED BY 'choose_a_password';
GRANT ALL PRIVILEGES ON `postfix` . * TO 'postfix'@'localhost'; GRANT ALL PRIVILEGES ON `postfix` . * TO 'postfix'@'localhost';
@ -39,7 +42,7 @@ 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: 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:
``` ```bash
$CONF['domain_path'] = 'YES'; $CONF['domain_path'] = 'YES';
``` ```
@ -49,19 +52,19 @@ 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: Creo innanzitutto un utente ed un gruppo _vacation_, aggiungendo a `/etc/passwd` la riga:
``` ```bash
vacation:*:65501:65501::0:0:Virtual Vacation:/nonexistent:/usr/sbin/nologin vacation:*:65501:65501::0:0:Virtual Vacation:/nonexistent:/usr/sbin/nologin
``` ```
ed a /etc/group la riga: ed a /etc/group la riga:
``` ```bash
vacation:*:65501: 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: 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:
``` ```bash
# mkdir /var/spool/vacation # mkdir /var/spool/vacation
# cd /usr/share/doc/postfixadmin/VIRTUAL_VACATION/ # cd /usr/share/doc/postfixadmin/VIRTUAL_VACATION/
# cp vacation.pl /var/spool/vacation/ # cp vacation.pl /var/spool/vacation/
@ -70,7 +73,7 @@ Quindi creo una directory di base per l'autorisponditore, vi copio il file `vaca
Nel file `vacation.pl` devo inserire gli estremi del database modificando le righe: Nel file `vacation.pl` devo inserire gli estremi del database modificando le righe:
``` ```bash
my $db_type = 'mysql'; my $db_type = 'mysql';
my $db_username = 'postfix'; my $db_username = 'postfix';
my $db_password = 'password'; my $db_password = 'password';
@ -80,46 +83,46 @@ my $db_name = 'postfix';
ed infine abilitare il modulo modificando nel file ed infine abilitare il modulo modificando nel file
`/etc/postfixadmin/config.inc.php` le righe: `/etc/postfixadmin/config.inc.php` le righe:
``` ```bash
$CONF['vacation'] = 'YES'; $CONF['vacation'] = 'YES';
$CONF['vacation_domain'] = 'vacation.nomedominio'; $CONF['vacation_domain'] = 'vacation.nomedominio';
``` ```
Per far funzionare l'autorisponditore sono necessari tre moduli Perl. Due di questi li posso installare con: Per far funzionare l'autorisponditore sono necessari tre moduli Perl. Due di questi li posso installare con:
``` ```bash
apt-get install libemail-valid-perl libmail-sendmail-perl 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: 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:
``` ```bash
# wget http://ftp.it.debian.org/debian/pool/main/libm/libmime-encwords-perl/libmime-encwords-perl_1.010.101-1_all.deb # 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 # 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: 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:
``` ```bash
vacation unix - n n - - pipe vacation unix - n n - - pipe
flags=Rq user=vacation argv=/var/spool/vacation/vacation.pl -f ${sender} -- ${recipient} flags=Rq user=vacation argv=/var/spool/vacation/vacation.pl -f ${sender} -- ${recipient}
``` ```
creo poi un file `/etc/postfix/transport` contenente la riga: creo poi un file `/etc/postfix/transport` contenente la riga:
``` ```bash
vacation.nomedominio vacation: vacation.nomedominio vacation:
``` ```
compilo il database con: compilo il database con:
``` ```bash
#postmap /etc/postfix/transport #postmap /etc/postfix/transport
``` ```
ed aggiungo a `/etc/postfix/main.cf` la riga: ed aggiungo a `/etc/postfix/main.cf` la riga:
``` ```bash
transport_maps = hash:/etc/postfix/transport transport_maps = hash:/etc/postfix/transport
``` ```
@ -129,7 +132,7 @@ Il tutto è ora pronto a funzionare, ma per utilizzarlo devo modificare la confi
Per fare in modo che Postfix veda i domini virtuali creati da Postfixadmin devo aggiungere le seguenti righe in `/etc/postfix/main.cf`: Per fare in modo che Postfix veda i domini virtuali creati da Postfixadmin devo aggiungere le seguenti righe in `/etc/postfix/main.cf`:
``` ```bash
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_domains = mysql:/etc/postfix/mysql_virtual_domains_maps.cf
virtual_mailbox_maps = mysql:/etc/postfix/mysql_virtual_mailbox_maps.cf virtual_mailbox_maps = mysql:/etc/postfix/mysql_virtual_mailbox_maps.cf
@ -140,19 +143,19 @@ 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: 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:
``` ```bash
vmail:x:6000:6000::/home/mail:/bin/sh vmail:x:6000:6000::/home/mail:/bin/sh
``` ```
e in /etc/group: e in /etc/group:
``` ```bash
vmail:x:6000: vmail:x:6000:
``` ```
e devo creare la directory con i giusti permessi e devo creare la directory con i giusti permessi
``` ```bash
# mkdir /home/mail # mkdir /home/mail
# chown vmail:vmail /home/mail # chown vmail:vmail /home/mail
``` ```
@ -161,7 +164,7 @@ Le mappe sono file di testo composti come segue:
mysql\_virtual\_alias_maps.cf: mysql\_virtual\_alias_maps.cf:
``` ```bash
user = postfix user = postfix
password = password password = password
hosts = 127.0.0.1 hosts = 127.0.0.1
@ -173,7 +176,7 @@ where_field = address
mysql\_virtual\_domains_maps.cf: mysql\_virtual\_domains_maps.cf:
``` ```bash
user = postfix user = postfix
password = password password = password
hosts = 127.0.0.1 hosts = 127.0.0.1
@ -185,7 +188,7 @@ where_field = domain
mysql\_virtual\_mailbox_maps.cf: mysql\_virtual\_mailbox_maps.cf:
``` ```bash
user = postfix user = postfix
password = password password = password
hosts = 127.0.0.1 hosts = 127.0.0.1
@ -197,7 +200,7 @@ 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: 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:
``` ```bash
# telnet localhost 25 # telnet localhost 25
Trying 127.0.0.1... Trying 127.0.0.1...
Connected to localhost. Connected to localhost.
@ -241,20 +244,20 @@ Se tutto è a posto troverò la mail nell'Inbox dell'utente.
Passo ad occuparmi ora del server IMAP. Anche Dovecot è pacchettizato da Debian, e si installa con: Passo ad occuparmi ora del server IMAP. Anche Dovecot è pacchettizato da Debian, e si installa con:
``` ```bash
apt-get install dovecot-imapd dovecot-pop3d apt-get install dovecot-imapd dovecot-pop3d
``` ```
È possibile attivare facilmente i server imap, imaps, pop3 e pop3s aggiungendo a `/etc/dovecot/dovecot.conf`: È possibile attivare facilmente i server imap, imaps, pop3 e pop3s aggiungendo a `/etc/dovecot/dovecot.conf`:
``` ```bash
protocols = imap imaps pop3 pop3s 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 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`: `/etc/dovecot/dovecot.conf`:
``` ```bash
mail_location = maildir:/home/mail/%d/%n mail_location = maildir:/home/mail/%d/%n
auth default { auth default {
mechanisms = plain login mechanisms = plain login
@ -276,7 +279,7 @@ group = postfix
La sezione "`client`" serve per abilitare l'autenticazione SASL in postfix, che si attiva aggiungendo le seguenti righe in `/etc/postfix/main.cf`: La sezione "`client`" serve per abilitare l'autenticazione SASL in postfix, che si attiva aggiungendo le seguenti righe in `/etc/postfix/main.cf`:
``` ```bash
smtpd_sasl_auth_enable = yes smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain = $myhostname smtpd_sasl_local_domain = $myhostname
smtpd_sasl_security_options = noanonymous smtpd_sasl_security_options = noanonymous
@ -288,7 +291,7 @@ smtpd_sasl_path = private/auth
Per ottenere i dati dell'utente dal database aggiungo poi il file Per ottenere i dati dell'utente dal database aggiungo poi il file
`/etc/dovecot/dovecot-mysql.conf`: `/etc/dovecot/dovecot-mysql.conf`:
``` ```bash
driver = mysql driver = mysql
password_query = SELECT password FROM mailbox WHERE username = '%u' password_query = SELECT password FROM mailbox WHERE username = '%u'
user_query = SELECT maildir, 6000 AS uid, 6000 AS gid FROM mailbox WHERE username = '%u' user_query = SELECT maildir, 6000 AS uid, 6000 AS gid FROM mailbox WHERE username = '%u'
@ -297,7 +300,7 @@ connect = host=127.0.0.1 port=3306 dbname=postfix user=postfix password=password
Al riavvio di Dovecot se tutto funziona posso leggere le seguenti righe nei log: Al riavvio di Dovecot se tutto funziona posso leggere le seguenti righe nei log:
``` ```bash
dovecot: 2008-07-13 19:40:42 Info: Dovecot v1.0.rc15 starting up 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) dovecot: 2008-07-13 19:40:43 Info: auth-worker(default): mysql: Connected to 127.0.0.1 (postfix)
``` ```
@ -306,7 +309,7 @@ dovecot: 2008-07-13 19:40:43 Info: auth-worker(default): mysql: Connected to 127
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: 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:
``` ```bash
protocol lda { protocol lda {
.. ..
# UNIX socket path to master authentication server to find users. # UNIX socket path to master authentication server to find users.
@ -333,25 +336,29 @@ auth default {
Posso ora aggiungere il servizio in Postfix, aggiungendo a Posso ora aggiungere il servizio in Postfix, aggiungendo a
`/etc/postfix/master.cf`: `/etc/postfix/master.cf`:
``` ```bash
dovecot unix - n n - - pipe dovecot unix - n n - - pipe
flags=DRhu user=vmail:vmail argv=/usr/lib/dovecot/deliver -d ${recipient} flags=DRhu user=vmail:vmail argv=/usr/lib/dovecot/deliver -d ${recipient}
``` ```
e indicargli di utilizzarlo inserendo in `/etc/postfix/main.cf` le righe: e indicargli di utilizzarlo inserendo in `/etc/postfix/main.cf` le righe:
``` ```bash
virtual_transport = dovecot virtual_transport = dovecot
dovecot_destination_recipient_limit = 1 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: 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:
```# chmod u+s /usr/lib/dovecot/deliver``` ```bash
# chmod u+s /usr/lib/dovecot/deliver
```
Riavvio Dovecot e Postfix, e alla prima ricezione posso trovare nei log qualcosa di simile a questo: Riavvio Dovecot e Postfix, e alla prima ricezione posso trovare nei log qualcosa di simile a questo:
```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)``` ```bash
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)
```
### Horde ### Horde
@ -359,11 +366,13 @@ Manca ora l'ultimo pezzo, l'interfaccia web per gli utenti tramite Horde, un fra
Installo per primo il framework con: Installo per primo il framework con:
```# apt-get install horde3``` ```bash
# apt-get install horde3
```
abilito un VirtualHost che punti alla sua directory, aggiungendo ad esempio in `/etc/apache2/sites-available/default`: abilito un VirtualHost che punti alla sua directory, aggiungendo ad esempio in `/etc/apache2/sites-available/default`:
``` ```bash
Alias /horde3 /usr/share/horde3 Alias /horde3 /usr/share/horde3
Options FollowSymLinks Options FollowSymLinks
AllowOverride Limit AllowOverride Limit
@ -373,7 +382,7 @@ allow from TUO_IP
che mi permetterà di accedere localmente, e inizializzo il database. Quest'ultima operazione può avvenire da riga di comando con: che mi permetterà di accedere localmente, e inizializzo il database. Quest'ultima operazione può avvenire da riga di comando con:
``` ```bash
#gunzip &lt; /usr/share/doc/horde3/examples/scripts/sql/create.mysql.sql.gz | mysql -u MYSQL_ADMIN -p #gunzip &lt; /usr/share/doc/horde3/examples/scripts/sql/create.mysql.sql.gz | mysql -u MYSQL_ADMIN -p
``` ```
@ -396,7 +405,7 @@ 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: Tutti questi moduli sono presenti nei repository Debian ad eccezione di MIMP, che può essere facilmente installato per Debian con le seguenti operazioni:
``` ```bash
# 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 # tar -xvzf mimp-h3-1.1.tar.gz
# mv mimp-h3-1.1/config /etc/horde/mimp # mv mimp-h3-1.1/config /etc/horde/mimp
@ -421,11 +430,15 @@ Maschera _General_:
- _Determines how we generate full URLs (for location headers and such)_ - _Determines how we generate full URLs (for location headers and such)_
```Assume that we are using SSL and always generate https URLs``` ```bash
Assume that we are using SSL and always generate https URLs
```
- _What port number is the webserver running on?_ - _What port number is the webserver running on?_
```443``` ```bash
443
```
Questo mi serve perchè la mia webmail è disponibile su una connessione criptata _https_ Questo mi serve perchè la mia webmail è disponibile su una connessione criptata _https_
@ -433,11 +446,15 @@ Maschera _Authentication_:
- _What backend should we use for authenticating users to Horde?_ - _What backend should we use for authenticating users to Horde?_
```Let a Horde application handle authentication``` ```bash
Let a Horde application handle authentication
```
- _The application which is providing authentication_ - _The application which is providing authentication_
```imp``` ```bash
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. 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.
@ -447,7 +464,9 @@ 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: Nel file `/etc/horde/imp4/mime_drivers.php` modifico la linea:
```$mime_drivers['imp']['html']['inline'] = true;``` ```bash
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. 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.
@ -455,7 +474,7 @@ 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 è: 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 è:
``` ```bash
/* IMAP Example */ /* IMAP Example */
$backends['imap'] = array( $backends['imap'] = array(
'driver' =&gt; 'null', 'driver' =&gt; 'null',
@ -473,7 +492,7 @@ 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 è: Nel file `/etc/horde/turba2/sources.php` specifico quale backend utilizzare. Per utilizzare MySQL la configurazione tipica è:
``` ```bash
$cfgSources['localsql'] = array( $cfgSources['localsql'] = array(
'title' =&gt; _("My Address Book"), 'title' =&gt; _("My Address Book"),
'type' =&gt; 'sql', 'type' =&gt; 'sql',
@ -517,24 +536,30 @@ $cfgSources['localsql'] = array(
ed è inoltre necessario creare la tabella in MySQL, utilizzando il comando: ed è inoltre necessario creare la tabella in MySQL, utilizzando il comando:
```# mysql -u MYSQL_ADMIN -p DATABASE &lt; /usr/share/doc/turba2/examples/scripts/sql/turba_objects.mysql.sql``` ```bash
mysql -u MYSQL_ADMIN -p DATABASE &lt; /usr/share/doc/turba2/examples/scripts/sql/turba_objects.mysql.sql
```
**Kronolith** **Kronolith**
Se si sceglie il driver SQL è necessario creare la tabella con il comando: Se si sceglie il driver SQL è necessario creare la tabella con il comando:
```# mysql -u MYSQL_ADMIN -p DATABASE &lt; /usr/share/doc/kronolith2/examples/scripts/sql/kronolith.mysql.sql``` ```bash
mysql -u MYSQL_ADMIN -p DATABASE &lt; /usr/share/doc/kronolith2/examples/scripts/sql/kronolith.mysql.sql
```
**Nag** **Nag**
Se si sceglie il driver SQL è necessario creare la tabella con il comando: Se si sceglie il driver SQL è necessario creare la tabella con il comando:
```# mysql -u MYSQL_ADMIN -p DATABASE &lt; /usr/share/doc/nag2/examples/scripts/sql/nag.sql``` ```bash
mysql -u MYSQL_ADMIN -p DATABASE &lt; /usr/share/doc/nag2/examples/scripts/sql/nag.sql
```
**Passwd** **Passwd**
Nel file `/etc/horde/passwd3/backends.php` ho modificato le linee: Nel file `/etc/horde/passwd3/backends.php` ho modificato le linee:
``` ```bash
driver' =&gt; 'sql', driver' =&gt; 'sql',
'params' =&gt; array( 'params' =&gt; array(
'phptype' =&gt; 'mysql', 'phptype' =&gt; 'mysql',
@ -567,7 +592,7 @@ La versione di Fetchmail pacchettizzata da Debian ci permette di avviare il prog
Server POP3 Server POP3
``` ```bash
poll SERVER_POP with proto pop3 auth password poll SERVER_POP with proto pop3 auth password
user "NOMEUTENTE.REMOTO" there user "NOMEUTENTE.REMOTO" there
with password "password" with password "password"
@ -576,7 +601,7 @@ is NOMEUTENTE.LOCALE here options fetchall
Server che richiedono Freepops Server che richiedono Freepops
``` ```bash
poll SERVER_POP with proto pop3 port 2000 poll SERVER_POP with proto pop3 port 2000
user "NOMEUTENTE.REMOTO" there user "NOMEUTENTE.REMOTO" there
with password "password" with password "password"
@ -585,7 +610,7 @@ is NOMEUTENTE.LOCALE here options fetchall
Server Gmail Server Gmail
``` ```bash
poll SERVER_POP with proto pop3 port 995 poll SERVER_POP with proto pop3 port 995
user "NOMEUTENTE.REMOTO" there user "NOMEUTENTE.REMOTO" there
with password "password" with password "password"
@ -596,7 +621,7 @@ is NOMEUTENTE.LOCALE here options ssl sslcertck fetchall
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`: 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`:
``` ```bash
smtpd_tls_CAfile = /etc/postfix/cacert.pem smtpd_tls_CAfile = /etc/postfix/cacert.pem
smtpd_tls_cert_file=/etc/postfix/gmail.pem smtpd_tls_cert_file=/etc/postfix/gmail.pem
smtpd_tls_key_file=/etc/postfix/gmail.key smtpd_tls_key_file=/etc/postfix/gmail.key
@ -615,7 +640,7 @@ relayhost = [smtp.gmail.com]:587
creo il file `/etc/postfix/sasl_passwd`, vi aggiungo le righe: creo il file `/etc/postfix/sasl_passwd`, vi aggiungo le righe:
``` ```bash
# Contents of sasl_passwd # Contents of sasl_passwd
# #
[smtp.gmail.com] NOMEUTENTE@gmail.com:PASSWORD [smtp.gmail.com] NOMEUTENTE@gmail.com:PASSWORD
@ -623,11 +648,13 @@ creo il file `/etc/postfix/sasl_passwd`, vi aggiungo le righe:
e lo compilo con: e lo compilo con:
```# postmap /etc/postfix/sasl_passwd``` ```bash
# postmap /etc/postfix/sasl_passwd
```
Infine, se non li possiedo già, creo il mio certificato auto firmato con i seguenti passaggi: Infine, se non li possiedo già, creo il mio certificato auto firmato con i seguenti passaggi:
``` ```bash
# /usr/local/ssl/misc/CA.pl -newca # /usr/local/ssl/misc/CA.pl -newca
CA certificate filename (or enter to create) CA certificate filename (or enter to create)
Making CA certificate ... Making CA certificate ...
@ -668,6 +695,6 @@ Infine, se non li possiedo già, creo il mio certificato auto firmato con i segu
Al riavvio di Postfix dovrei poter inviare messaggi tramite Gmail, che risulterà dai log con un messaggio di questo tipo: Al riavvio di Postfix dovrei poter inviare messaggi tramite Gmail, che risulterà dai log con un messaggio di questo tipo:
``` ```bash
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) 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)
``` ```

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

View File

@ -4,6 +4,9 @@ author: Mangia
type: post type: post
date: 2008-09-10T08:53:37+00:00 date: 2008-09-10T08:53:37+00:00
slug: si-rientra-in-sede slug: si-rientra-in-sede
image: spazio_polaresco.jpg
image_alt: "Fotografia dall'esterno del Polaresco"
image_caption: "Image credits: by [GuardiamarinaVeneziano](https://commons.wikimedia.org/wiki/File:Spazio_Polaresco.jpg 'Wikimedia Commons')"
aliases: aliases:
- /2008/09/10/si-rientra-in-sede/ - /2008/09/10/si-rientra-in-sede/
categories: categories:
@ -12,9 +15,9 @@ tags:
- incontri - incontri
- Linux Day - Linux Day
- sede - sede
--- ---
Dopo due mesi trascorsi presso il Keller di Curno, **il BGlug torna alla propria sede abituale**, ossia quella indicata [qui](/punti-di-ritrovo-polaresco).
Dopo due mesi trascorsi presso il Keller di Curno, **il BGlug torna alla propria sede abituale**, ossia quella indicata [qui](https://www.openstreetmap.org/way/61711841).
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. 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.

Binary file not shown.

After

Width:  |  Height:  |  Size: 662 KiB

View File

@ -4,6 +4,9 @@ author: g@u55
type: post type: post
date: 2010-04-19T07:37:07+00:00 date: 2010-04-19T07:37:07+00:00
slug: bglug-ubuntu-lucid slug: bglug-ubuntu-lucid
image: lucid_lynx.jpg
image_alt: "DVD per installazione di Ubuntu 10.04 Lucid Lynx"
image_caption: "Image credits: by [RockaEterna](https://www.gnome-look.org/p/1102064 'Gnome-look website')"
aliases: aliases:
- /2010/04/19/bglug-release-night-ubuntu-10-04-lucid-lynx/ - /2010/04/19/bglug-release-night-ubuntu-10-04-lucid-lynx/
categories: categories:

Binary file not shown.

After

Width:  |  Height:  |  Size: 65 KiB