Aggiunta immagini
This commit is contained in:
parent
296eb5c2cc
commit
e5774f1402
@ -4,6 +4,9 @@ author: jimmi
|
||||
type: post
|
||||
date: 2008-07-24T04:29:37+00:00
|
||||
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:
|
||||
- /2008/07/24/postfix-nirvana-parte-i/
|
||||
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):
|
||||
|
||||
```
|
||||
```bash
|
||||
# questa sezione riguarda le mail 'rimbalzate' :
|
||||
# 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:
|
||||
|
||||
```
|
||||
```bash
|
||||
# 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:
|
||||
|
||||
```
|
||||
```bash
|
||||
# postmap /etc/postfix/sender_canonical
|
||||
```
|
||||
|
||||
se tutto è ok si può far partire postfix e testarlo con:
|
||||
|
||||
```
|
||||
```bash
|
||||
# telnet 127.0.0.1 25
|
||||
Trying 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:
|
||||
|
||||
```
|
||||
```bash
|
||||
deb http://ftp2.de.debian.org/debian-volatile sarge/volatile main
|
||||
```
|
||||
|
||||
per installare il tutto eseguo da riga di comando:
|
||||
|
||||
```
|
||||
```bash
|
||||
# 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:
|
||||
|
||||
```
|
||||
```bash
|
||||
use strict;
|
||||
|
||||
# You can modify this file to re-enable SPAM checking
|
||||
@ -183,13 +186,13 @@ use strict;
|
||||
|
||||
ed è consigliabile aggiungere la riga
|
||||
|
||||
```
|
||||
```bash
|
||||
$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:
|
||||
|
||||
```
|
||||
```bash
|
||||
/etc/init.d/amavis restart
|
||||
/etc/init.d/clamav-daemon 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`:
|
||||
|
||||
```
|
||||
```bash
|
||||
content_filter = amavis:[127.0.0.1]:10024
|
||||
receive_override_options = no_address_mappings
|
||||
```
|
||||
|
||||
e poi aggiungo le seguenti in `/etc/postfix/master.cf`:
|
||||
|
||||
```
|
||||
```bash
|
||||
amavis unix - - - - 2 smtp
|
||||
-o smtp_data_done_timeout=1200
|
||||
-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:
|
||||
|
||||
```
|
||||
```bash
|
||||
# adduser clamav amavis
|
||||
# /etc/init.d/amavis 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`:
|
||||
|
||||
```
|
||||
```bash
|
||||
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:
|
||||
|
||||
```
|
||||
```bash
|
||||
ENABLED=1
|
||||
```
|
||||
|
||||
Ed avvio il demone:
|
||||
|
||||
```
|
||||
```bash
|
||||
# /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:
|
||||
|
||||
```
|
||||
```bash
|
||||
# Enable the Bayes system
|
||||
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:
|
||||
|
||||
```
|
||||
```bash
|
||||
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:
|
||||
|
||||
```
|
||||
```bash
|
||||
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:
|
||||
|
||||
```
|
||||
```bash
|
||||
# apt-get install postgrey
|
||||
```
|
||||
|
||||
dopo l'installazione trovo il demone in ascolto sulla porta 60000, come posso verificare con:
|
||||
|
||||
```
|
||||
```bash
|
||||
# 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":
|
||||
|
||||
```
|
||||
```bash
|
||||
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):
|
||||
|
||||
```
|
||||
```bash
|
||||
# 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
|
||||
@ -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 è:
|
||||
|
||||
```
|
||||
```bash
|
||||
/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 è:
|
||||
|
||||
```
|
||||
```bash
|
||||
# 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..)
|
||||
@ -399,7 +402,7 @@ Un esempio di body_checks è:
|
||||
|
||||
si può anche andare sul complicato utilizzando le espressioni regolari:
|
||||
|
||||
```
|
||||
```bash
|
||||
# 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
|
||||
@ -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:
|
||||
|
||||
```
|
||||
```bash
|
||||
# si lavora ad esempio sul programma con cui è stata creata
|
||||
# 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.
|
||||
Io utilizzo clausole molto simili a questa:
|
||||
|
||||
```
|
||||
```bash
|
||||
# blocco i file .pif (e allo stesso modo qualsiasi file con
|
||||
# estensione pericolosa).
|
||||
|
||||
@ -449,7 +452,7 @@ La sintassi prevede 3 categorie su cui effettuare i confronti: un utente ben det
|
||||
|
||||
Ad esempio:
|
||||
|
||||
```
|
||||
```bash
|
||||
# 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 sull’utente e nel
|
||||
@ -468,14 +471,14 @@ In particolare dobbiamo, nel rispetto delle RFC, accettare qualsiasi cosa indiri
|
||||
|
||||
Quindi inseriamo:
|
||||
|
||||
```
|
||||
```bash
|
||||
postmaster@nomedominio OK
|
||||
abuse@nomedominio OK
|
||||
```
|
||||
|
||||
Se qualche nostro utente vuole ricevere posta da utenti in BL, possiamo elencare qui i mittenti specifici o l’intero dominio di appartenenza:
|
||||
|
||||
```
|
||||
```bash
|
||||
utente@dominioinbl OK
|
||||
dominioinbl OK
|
||||
```
|
||||
|
Binary file not shown.
After Width: | Height: | Size: 39 KiB |
@ -4,6 +4,9 @@ author: jimmi
|
||||
type: post
|
||||
date: 2008-08-05T11:27:46+00:00
|
||||
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:
|
||||
- /2008/08/05/postfix-nirvana-parte-ii/
|
||||
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:
|
||||
|
||||
```
|
||||
```bash
|
||||
CREATE DATABASE postfix;
|
||||
CREATE USER 'postfix'@'localhost' IDENTIFIED BY 'choose_a_password';
|
||||
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:
|
||||
|
||||
```
|
||||
```bash
|
||||
$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:
|
||||
|
||||
```
|
||||
```bash
|
||||
vacation:*:65501:65501::0:0:Virtual Vacation:/nonexistent:/usr/sbin/nologin
|
||||
```
|
||||
|
||||
ed a /etc/group la riga:
|
||||
|
||||
```
|
||||
```bash
|
||||
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:
|
||||
|
||||
```
|
||||
```bash
|
||||
# mkdir /var/spool/vacation
|
||||
# cd /usr/share/doc/postfixadmin/VIRTUAL_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:
|
||||
|
||||
```
|
||||
```bash
|
||||
my $db_type = 'mysql';
|
||||
my $db_username = 'postfix';
|
||||
my $db_password = 'password';
|
||||
@ -80,46 +83,46 @@ my $db_name = 'postfix';
|
||||
ed infine abilitare il modulo modificando nel file
|
||||
`/etc/postfixadmin/config.inc.php` le righe:
|
||||
|
||||
```
|
||||
```bash
|
||||
$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:
|
||||
|
||||
```
|
||||
```bash
|
||||
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:
|
||||
|
||||
```
|
||||
```bash
|
||||
# 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:
|
||||
|
||||
```
|
||||
```bash
|
||||
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:
|
||||
|
||||
```
|
||||
```bash
|
||||
vacation.nomedominio vacation:
|
||||
```
|
||||
|
||||
compilo il database con:
|
||||
|
||||
```
|
||||
```bash
|
||||
#postmap /etc/postfix/transport
|
||||
```
|
||||
|
||||
ed aggiungo a `/etc/postfix/main.cf` la riga:
|
||||
|
||||
```
|
||||
```bash
|
||||
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`:
|
||||
|
||||
```
|
||||
```bash
|
||||
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
|
||||
@ -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:
|
||||
|
||||
```
|
||||
```bash
|
||||
vmail:x:6000:6000::/home/mail:/bin/sh
|
||||
```
|
||||
|
||||
e in /etc/group:
|
||||
|
||||
```
|
||||
```bash
|
||||
vmail:x:6000:
|
||||
```
|
||||
|
||||
e devo creare la directory con i giusti permessi
|
||||
|
||||
```
|
||||
```bash
|
||||
# mkdir /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:
|
||||
|
||||
```
|
||||
```bash
|
||||
user = postfix
|
||||
password = password
|
||||
hosts = 127.0.0.1
|
||||
@ -173,7 +176,7 @@ where_field = address
|
||||
|
||||
mysql\_virtual\_domains_maps.cf:
|
||||
|
||||
```
|
||||
```bash
|
||||
user = postfix
|
||||
password = password
|
||||
hosts = 127.0.0.1
|
||||
@ -185,7 +188,7 @@ where_field = domain
|
||||
|
||||
mysql\_virtual\_mailbox_maps.cf:
|
||||
|
||||
```
|
||||
```bash
|
||||
user = postfix
|
||||
password = password
|
||||
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:
|
||||
|
||||
```
|
||||
```bash
|
||||
# telnet localhost 25
|
||||
Trying 127.0.0.1...
|
||||
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:
|
||||
|
||||
```
|
||||
```bash
|
||||
apt-get install dovecot-imapd dovecot-pop3d
|
||||
```
|
||||
|
||||
È possibile attivare facilmente i server imap, imaps, pop3 e pop3s aggiungendo a `/etc/dovecot/dovecot.conf`:
|
||||
|
||||
```
|
||||
```bash
|
||||
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`:
|
||||
|
||||
```
|
||||
```bash
|
||||
mail_location = maildir:/home/mail/%d/%n
|
||||
auth default {
|
||||
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`:
|
||||
|
||||
```
|
||||
```bash
|
||||
smtpd_sasl_auth_enable = yes
|
||||
smtpd_sasl_local_domain = $myhostname
|
||||
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
|
||||
`/etc/dovecot/dovecot-mysql.conf`:
|
||||
|
||||
```
|
||||
```bash
|
||||
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'
|
||||
@ -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:
|
||||
|
||||
```
|
||||
```bash
|
||||
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)
|
||||
```
|
||||
@ -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:
|
||||
|
||||
```
|
||||
```bash
|
||||
protocol lda {
|
||||
..
|
||||
# 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
|
||||
`/etc/postfix/master.cf`:
|
||||
|
||||
```
|
||||
```bash
|
||||
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:
|
||||
|
||||
```
|
||||
```bash
|
||||
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:
|
||||
|
||||
```# 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:
|
||||
|
||||
```server postfix/pipe[23496]: 23FD715DF87: to=<utente@nomedominio>, 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=<utente@nomedominio>, relay=dovecot, delay=0.4, delays=0.07/0.02/0/0.31, dsn=2.0.0, status=sent (delivered via dovecot service)
|
||||
```
|
||||
|
||||
### 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:
|
||||
|
||||
```# 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`:
|
||||
|
||||
```
|
||||
```bash
|
||||
Alias /horde3 /usr/share/horde3
|
||||
Options FollowSymLinks
|
||||
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:
|
||||
|
||||
```
|
||||
```bash
|
||||
#gunzip < /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:
|
||||
|
||||
```
|
||||
```bash
|
||||
# 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
|
||||
@ -421,11 +430,15 @@ Maschera _General_:
|
||||
|
||||
- _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?_
|
||||
|
||||
```443```
|
||||
```bash
|
||||
443
|
||||
```
|
||||
|
||||
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?_
|
||||
|
||||
```Let a Horde application handle authentication```
|
||||
```bash
|
||||
Let a Horde application handle 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.
|
||||
|
||||
@ -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:
|
||||
|
||||
```$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.
|
||||
|
||||
@ -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 è:
|
||||
|
||||
```
|
||||
```bash
|
||||
/* IMAP Example */
|
||||
$backends['imap'] = array(
|
||||
'driver' => '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 è:
|
||||
|
||||
```
|
||||
```bash
|
||||
$cfgSources['localsql'] = array(
|
||||
'title' => _("My Address Book"),
|
||||
'type' => 'sql',
|
||||
@ -517,24 +536,30 @@ $cfgSources['localsql'] = array(
|
||||
|
||||
ed è inoltre necessario creare la tabella in MySQL, utilizzando il comando:
|
||||
|
||||
```# mysql -u MYSQL_ADMIN -p DATABASE < /usr/share/doc/turba2/examples/scripts/sql/turba_objects.mysql.sql```
|
||||
```bash
|
||||
mysql -u MYSQL_ADMIN -p DATABASE < /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:
|
||||
|
||||
```# mysql -u MYSQL_ADMIN -p DATABASE < /usr/share/doc/kronolith2/examples/scripts/sql/kronolith.mysql.sql```
|
||||
```bash
|
||||
mysql -u MYSQL_ADMIN -p DATABASE < /usr/share/doc/kronolith2/examples/scripts/sql/kronolith.mysql.sql
|
||||
```
|
||||
|
||||
**Nag**
|
||||
|
||||
Se si sceglie il driver SQL è necessario creare la tabella con il comando:
|
||||
|
||||
```# mysql -u MYSQL_ADMIN -p DATABASE < /usr/share/doc/nag2/examples/scripts/sql/nag.sql```
|
||||
```bash
|
||||
mysql -u MYSQL_ADMIN -p DATABASE < /usr/share/doc/nag2/examples/scripts/sql/nag.sql
|
||||
```
|
||||
|
||||
**Passwd**
|
||||
Nel file `/etc/horde/passwd3/backends.php` ho modificato le linee:
|
||||
|
||||
```
|
||||
```bash
|
||||
driver' => 'sql',
|
||||
'params' => array(
|
||||
'phptype' => 'mysql',
|
||||
@ -567,7 +592,7 @@ La versione di Fetchmail pacchettizzata da Debian ci permette di avviare il prog
|
||||
|
||||
Server POP3
|
||||
|
||||
```
|
||||
```bash
|
||||
poll SERVER_POP with proto pop3 auth password
|
||||
user "NOMEUTENTE.REMOTO" there
|
||||
with password "password"
|
||||
@ -576,7 +601,7 @@ is NOMEUTENTE.LOCALE here options fetchall
|
||||
|
||||
Server che richiedono Freepops
|
||||
|
||||
```
|
||||
```bash
|
||||
poll SERVER_POP with proto pop3 port 2000
|
||||
user "NOMEUTENTE.REMOTO" there
|
||||
with password "password"
|
||||
@ -585,7 +610,7 @@ is NOMEUTENTE.LOCALE here options fetchall
|
||||
|
||||
Server Gmail
|
||||
|
||||
```
|
||||
```bash
|
||||
poll SERVER_POP with proto pop3 port 995
|
||||
user "NOMEUTENTE.REMOTO" there
|
||||
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`:
|
||||
|
||||
```
|
||||
```bash
|
||||
smtpd_tls_CAfile = /etc/postfix/cacert.pem
|
||||
smtpd_tls_cert_file=/etc/postfix/gmail.pem
|
||||
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:
|
||||
|
||||
```
|
||||
```bash
|
||||
# Contents of sasl_passwd
|
||||
#
|
||||
[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:
|
||||
|
||||
```# 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:
|
||||
|
||||
```
|
||||
```bash
|
||||
# /usr/local/ssl/misc/CA.pl -newca
|
||||
CA certificate filename (or enter to create)
|
||||
Making CA certificate ...
|
||||
@ -664,10 +691,10 @@ Infine, se non li possiedo già, creo il mio certificato auto firmato con i segu
|
||||
Using configuration from /usr/lib/ssl/openssl.cnf
|
||||
Enter pass phrase for ./demoCA/private/cakey.pem:<strong>password</strong>
|
||||
...
|
||||
```
|
||||
```
|
||||
|
||||
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=<pippo@pippo.com>, 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 |
@ -4,6 +4,9 @@ author: Mangia
|
||||
type: post
|
||||
date: 2008-09-10T08:53:37+00:00
|
||||
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:
|
||||
- /2008/09/10/si-rientra-in-sede/
|
||||
categories:
|
||||
@ -12,9 +15,9 @@ tags:
|
||||
- incontri
|
||||
- Linux Day
|
||||
- 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.
|
||||
|
||||
|
Binary file not shown.
After Width: | Height: | Size: 662 KiB |
@ -4,6 +4,9 @@ author: g@u55
|
||||
type: post
|
||||
date: 2010-04-19T07:37:07+00:00
|
||||
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:
|
||||
- /2010/04/19/bglug-release-night-ubuntu-10-04-lucid-lynx/
|
||||
categories:
|
||||
|
Binary file not shown.
After Width: | Height: | Size: 65 KiB |
Loading…
x
Reference in New Issue
Block a user