Old:Nagios: monitorare server e servizi: differenze tra le versioni

Vai alla navigazione Vai alla ricerca
m
Riga 1: Riga 1:
= '''SERVER DI POSTA''' =
==Introduzione==
Apt-cacher � un programma che ha lo scopo di creare una cache di pacchetti deb su un server, per poi renderli disponibili a tutte le macchine presenti sulla LAN. In questo modo � possibile limitare la banda utlizzata in uscita e velocizzare i tempi di installazione.


A differenza di apt-proxy (http://apt-proxy.sourceforge.net/), apt-cacher ha una struttura completamente piatta, per cui i pacchetti della cache sono conservati in una unica directory anche se provengono da repository diversi; questa soluzione ne rende l'utilizzo pi semplice e immediato.


==Installazione==
Per installare apt-cache sufficiente digitare sul server che dovr contenere la cache
<pre>
# apt-get install apt-cacher
</pre>


L'idea � quella di avere una connessione permanente a internet che pu� ricevere posta dall'esterno e gestire la posta interna alla lan ,quindi a meno che non abbiate gi� un dominio per prima cosa andare su www.dyndns.org o servizio analogo(www.no-ip.com), registratevi, sceglietevi un dominio (mandare le email a utente@123.231.201.178 non proprio comodissimo, soprattutto quando il giorno dopo il numero cambia) e associatelo al vostro indirizzo ip. Se avete un ip dinamico, installate sul vostro computer un programmetto come ddclient (basta apt-gettarlo e rispondere alle domande) che aggiorna automaticamente l'indirizzo ip associato al dominio ogni volta che vi collegate.
==Configurazione==
Per configurare apt-cacher necessario:


1) modificare il file
<pre>
/etc/default/apt-cacher
</pre>
ponendo ad 1 il valore di AUTOSTART. In questo modo apt-cacher si avvier automaticamente ad ogni sessione. Nel caso vogliate avviare/fermare apt-cacher manualmente baster usare il comando
<pre>
# /etc/init.d/apt-cacher {start|stop|restart|force-reload}
</pre>
2) modificare il file
<pre>
/etc/apt-cacher/apt-cacher.conf
</pre>
che contiene tutte le opzioni configurabili.
Riportiamo il file di configurazione originale per completezza
<pre>
#################################################################
# This is the config file for apt-cacher. On most Debian systems
# you can safely leave the defaults alone.
#################################################################


# cache_dir is used to set the location of the local cache. This can
# become quite large, so make sure it is somewhere with plenty of space.
cache_dir=/var/cache/apt-cacher


== POSTFIX ==
# The email address of the administrator is displayed in the info page
# and traffic reports.
admin_email=root@localhost


Cominciamo con un server MTA, Mail Transport Agent, che riceve la posta (� quello che tiene aperta la porta 25 smtp in ricezione per intenderci). Si pu� scegliere tra exim, postfix, sendmail, qmail e altri. Scegliamo postfix perche � un buon compromesso in quanto a prestazioni, compatibilit�, flessibilit�, sicurezza.
# For the daemon startup settings please edit the file /etc/default/apt-cacher.


''apt-get install postfix''
# Daemon port setting, only useful in stand-alone mode. You need to run the
# daemon as root to use privileged ports (<1024).
daemon_port=3142


Installandolo verr� automaticamente rimosso un altro eventuale MTA gi� installato con apt, probabilmente exim o exim4 che � quello di default su debian.  
# optional settings, user and group to run the daemon as. Make sure they have
# sufficient permissions on the cache and log directories. Comment the settings
# to run apt-cacher as the native user.
group=www-data
user=www-data


Debconf pone delle domande quando si installa postfix. Grazie a queste possiamo avere un server di posta gi� praticamente pronto, molto semplice certo, ma funzionante.  
# optional setting, binds the listening daemon to one specified IP. Use IP
# ranges for more advanced configuration, see below.
# daemon_addr=localhost


Diamo una spiegazione delle varie schermate.
# If your apt-cacher machine is directly exposed to the Internet and you are
# worried about unauthorised machines fetching packages through it, you can
# specify a list of IPv4 addresses which are allowed to use it and another
# list of IPv4 addresses which aren't.
# Localhost (127.0.0.1) is always allowed. Other addresses must be matched
# by allowed_hosts and not by denied_hosts to be permitted to use the cache.
# Setting allowed_hosts to "*" means "allow all".
# Otherwise the format is a comma-separated list containing addresses,
# optionally with masks (like 10.0.0.0/22), or ranges of addresses (two
# addresses separated by a hyphen, no masks, like '192.168.0.3-192.168.0.56').
allowed_hosts=*
denied_hosts=


Vi informa delle scelte possibili. Sono previste varie configurazioni; noi sceglieremo "Internet site using smarthost", che in pratica sarebbe l'avere un server che riceve posta e che la invia tutta ad un altro server (quello fornito dal nostro ISP per esempio). Premete ok per passare alla prossima schermata.
# And similiarly for IPv6 with allowed_hosts_6 and denied_hosts_6.
# Note that IPv4-mapped IPv6 addresses (::ffff:w.x.y.z) are truncated to
# w.x.y.z and are handled as IPv4.
allowed_hosts_6=fec0::/16
denied_hosts_6=


Sciegliamo "Internet with smarthost"
# This thing can be done by Apache but is much simplier here - limit access to
# Debian mirrors based on server names in the URLs
#allowed_locations=ftp.uni-kl.de,ftp.nerim.net,debian.tu-bs.de


Mail name: sar� quello che appare dopo la chiocciola nell'indirizzo di posta. Ovviamente deve essere il nome valido del vostro server, dal momento che chi vi risponder� vi mander� la posta a quell'indirizzo.
# Apt-cacher can generate usage reports every 24 hours if you set this
# directive to 1. You can view the reports in a web browser by pointing
# to your cache machine with '/apt-cacher/report' on the end, like this:
#      http://yourcache.example.com/apt-cacher/report
# Generating reports is very fast even with many thousands of logfile
# lines, so you can safely turn this on without creating much
# additional system load.
generate_reports=1


SMTP relay host: qui indichiamo il server di posta a cui facciamo il relay. In parole semplici, quando inviamo una mail al nostro server, esso la spedir� a questo relay che poi la recapiter�. � necessario dato che molti bloccano l'arrivo di email da ip non ritenuti affidabili.
# Apt-cacher can clean up its cache directory every 24 hours if you set
# this directive to 1. Cleaning the cache can take some time to run
# (generally in the order of a few minutes) and removes all package
# files that are not mentioned in any existing 'Packages' lists. This
# has the effect of deleting packages that have been superseded by an
# updated 'Packages' list.
clean_cache=1


Other destinations to accept mail for: indirizzi che identificano questo server. Quando gli arriva una mail con questa destinazione, capir� che � lui il destinatario. Qua mettete il vostro nome di dominio.
# The directory to use for apt-cacher access and error logs.
# The access log records every request in the format:
# date-time|client ip address|HIT/MISS/EXPIRED|object size|object name
# The error log is slightly more free-form, and is also used for debug
# messages if debug mode is turned on.
# Note that the old 'logfile' and 'errorfile' directives are
# deprecated: if you set them explicitly they will be honoured, but it's
# better to just get rid of them from old config files.
logdir=/var/log/apt-cacher


Local networks: quali reti sono abilitate a spedire mail. Non mettendo nulla postfix inserir� tutte le reti connesse.
# apt-cacher can use different methods to decide whether package lists need to
# be updated,
# A) looking at the age of the cached files
# B) getting HTTP header from server and comparing that with cached data. This
# method is more reliable and avoids desynchronisation of data and index files
# but needs to transfer few bytes from the server every time somebody requests
# the files ("apt-get update")
# Set the following value to the maximum age (in hours) for method A or to 0
# for method B
expire_hours=0


Meglio che inseriamo noi a mano localhost (127.0.0.0/8) e la nostra LAN (192.168.1.0/24) nel caso la nostra LAN sia 192.168.1.xxx.
# Apt-cacher can pass all its requests to an external http proxy like
# Squid, which could be very useful if you are using an ISP that blocks
# port 80 and requires all web traffic to go through its proxy. The
# format is 'hostname:port', eg: 'proxy.example.com:8080'.
http_proxy=proxy.example.com:8080


Use procmail for local delivery: rispondete SI, dato che useremo procmail.
# Use of an external proxy can be turned on or off with this flag.
# Value should be either 0 (off) or 1 (on).
use_proxy=0


Mailbox size limit: dimensione massima della casella di posta. 0 significa illimitata. Impostatela a vostro piacimento.
# External http proxy sometimes need authentication to get full access. The
# format is 'username:password'.
http_proxy_auth=proxyuser:proxypass


Where should mail for root go: questa imposta un alias per l'utente root, dato che non pu� ricevere posta. Tutto quello che � indirizzato a lui andr� nella casella di un altro utente, non root, che scieglierete voi.
# Use of external proxy authentication can be turned on or off with this flag.
# Value should be either 0 (off) or 1 (on).
use_proxy_auth=0


In particolare occhio a mettere /24 in "local networks" e non /255 o altre robe strane che possono venirvi in mente. Se non sapete cosa vuol dire quel /24, tenete /24. Se sapete cosa vuol dire, non avete bisogno di spiegazioni.  
# Rate limiting sets the maximum bandwidth in bytes per second to use
# for fetching packages. Syntax is fully defined in 'man wget'.
# Use 'k' or 'm' to use kilobits or megabits / second: eg, 'limit=25k'.
# Use 0 or a negative value for no rate limiting.
limit=0


Non preoccupatevi se vi sembra che "local networks" specifichi a postfix di ricevere posta solo da quei computer, in realt� dice a postfix di fare RELAY solo per la posta che arriva da quei computer, la posta che arriver� da internet la riceve lo stesso.
# Debug mode makes apt-cacher spew a lot of extra debug junk to the
# error log (whose location is defined with the 'logdir' directive).
# Leave this off unless you need it, or your error log will get very
# big. Acceptable values are 0 or 1.
debug=0


A questo punto dobbiamo fare solo dei piccoli ritocchi. Editiamo dunque il file di configurazione principale che si chiama ''/etc/postfix/main.cf''. Le voci da sistemare sono:
# Adapt the line in the usage info web page to match your server configuration
# example_sources_line=deb&nbsp;http://<b>my.cacher.server:3142/</b>ftp.au.debian.org/debian&nbsp;unstable&nbsp;main&nbsp;contrib&nbsp;non-free


''myhostname'': controlliamo che ci sia il nome giusto. Vdi /etc/hostname
# Print a 410 (Gone) HTTP message with the specified text when accessed via
# CGI. Useful to tell users to adapt their sources.list files when the
# apt-cacher server is beeing relocated (via apt-get's error messages while
# running "update")
#cgi_advise_to_use = Please use http://cacheserver:3142/ as apt-cacher access URL
#cgi_advise_to_use = Server relocated. To change sources.list, run perl -pe "s,/apt-cacher\??,:3142," -i /etc/apt/sources.list


Poi in ''/etc/aliases'' come da esempio giriamo tutti i messaggi di sistema all'utente se vogliamo ricevere tutto noi
# Server mapping - this allows to hide real server names behind virtual paths
esempio:
# that appear in the access URL. This method is known from apt-proxy. This is
# also the only method to use FTP access to the target hosts. The syntax is simple, the part of the beginning to replace, followed by a list
#of mirror urls, all space separated. Multiple profile are separated by semicolons
# path_map = debian ftp.uni-kl.de/pub/linux/debian ftp2.de.debian.org/debian ; ubuntu archive.ubuntu.com/ubuntu ;
#security security.debian.org/debian-security ftp2.de.debian.org/debian-security
# Note that you need to specify all target servers in the allowed_locations
# options if you make use of it. Also note that the paths should not overlap
# each other. FTP access method not supported yet, maybe in the future.
</pre>


''haldaemon: root
Le opzioni pi� importanti sono:
mail: root
news: root
proftpd: root
sync: root
root: nomeutente
''


# <code>cache_dir</code> che determina la directory in cui verr salvata la cache
# <code>allowed_hosts</code> che specifica uno o pi indirizzi a cui limitare l'accesso alla cache
# <code>daemon_port</code> che specifica la porta sulla quale ascolta apt-cacher


nomeutentex quello che verr� usato da chi vorr� inviare posta, ad esempio all'indirizzo nomeutente1@tuo.dominio.org. Si possono creare utenze che puntano ad altre utenze, nel senso: root che punta a utente1, e utente1 che punta ad utenteposta. Il vero e proprio database di postfix si chiama '/etc/aliases.db', che non va editato a mano. Per sincronizzarlo con le nostre modifiche, lanciamo il comando newaliases:
==Client==
Non necessario installare apt-cacher sui client. Per accedere alla cache potrete:


''newaliases''
'''Metodo 1''' (pi� veloce)


che non restituisce alcun output se tutto va bene. Nel caso vi spari fuori qualcosa tipo "duplicate entry:", editate di nuovo '/etc/aliases', eliminate il duplicato ed eseguite di nuovo il comando newaliases. Tenete presente che non � necessario che siano associati direttamente agli utenti di sistema normali.
modificare il file


<pre>
/etc/apt/apt.conf
</pre>


Qesto esempio riporta in parte la configurazione di /etc/postfix/main.cf :
inserendo una riga da del tipo


''# appending .domain is the MUA's job.
<pre>
append_dot_mydomain = no
Acquire::http::Proxy "http://server_con_cache:porta/";
# Uncomment the next line to generate "delayed mail" warnings
</pre>
# delay_warning_time = 4h
mydomain = nomeserver
myhostname = nomeserver.nomedominio.it
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
mydestination = nomeserver, localhost.localdomain, localhost, nomeserver.nomedominio.it
myorigin = $mydomain
relayhost = out.virgilio.it
relay_domains = $mydestination
mynetworks = 127.0.0.0/8 192.168.0.0/24
mailbox_command = procmail -a "$EXTENSION"
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
disable_dns_lookups = yes
sender_canonical_maps = hash:/etc/postfix/sender_canonical
# aggiunta per mailscanner
# header_checks = regexp:/etc/postfix/header_checks
# aggiunta per server da DEBIANIZZATI
# mailbox_command = /usr/bin/spamc | procmail -a "&SENDER &RECIPIENT $EXTENSION"''


Chiariamo il concetto con un esempio. <br>
Supponiamo che il server abbia hostname computer e apt-cacher ascolti sulla porta 3142 (quella di default).


Le due parti aggiunte , lasciatele commentate fino alla fine altrimenti senza aver installato procmail , vi daranno errori.
La nuova riga da inserire per utilizzare la cache sar�


Ora create i file per far corrispondere i vostri indirizzi email ai vostri utenti locali. Si tratta dei file'' /etc/postfix/sender_canonical'' (che contiene gli indirizzi che verranno inseriti nel campo from per ogni utente al posto di utente@vostra.macchina) .
<pre>
Acquire::http::Proxy "http://computer:3142/";
</pre>


Questo un esmpio ''/etc/postfix/sender_canonical'':


'''Metodo 2'''


''root root@myserver.it
dovrete solo modificare il file
gino gino.paoli@myserver.it
www-data security@myserver.it
utente1 pierino@myserver.it
''


se modificate il file ''/etc/postfix/sender_canonical'' date:
<pre>
/etc/apt/sources.list
</pre>


''postmap /etc/postfix/sender_canonical''
inserendo una riga da del tipo


<pre>
deb http://server_con_cache:porta/repository_da_utilizzare/debian [flavour] [sezioni]
</pre>


Ora da un utente a vostra scelta provate a verificare se il server funziona
Chiariamo il concetto con un esempio. <br>
Supponiamo che il server abbia hostname computer e apt-cacher ascolti sulla porta 3142 (quella di default). Supponiamo poi che il repository utilizzato sia


Dovete a vare installato ''mail'' , altrimenti
<pre>
deb http://ftp.it.debian.org/debian unstable main contrib non-free
''apt-get install mail''
</pre>


con il comando ''mail''  esempio :
La nuova riga da inserire per utilizzare la cache sar�


''nomeuser@nomeserver:~$ mail root
<pre>
(invio)
deb http://computer:3142/ftp.it.debian.org/debian unstable main contriib non-free
Subject: test
</pre>
(invio)
prova
(ctrl-D)
Cc: www-data
(invio)
nomeuser@nomeserver:~$''


potete inviare anche le mail verso indirizzi esterni


se vi arrivano vuol dire che tutto funziona
----


Baster poi salvare e lanciare un


<pre>
# apt-get update
</pre>


== PROCMAIL ==
per cominciare ad utilizzare la cache.


Importante notare che tutte le righe dovranno presentare la dicitura deb http e non deb ftp.


==Importare Pacchetti==
A questo punto siamo pronti per usare apt-cacher. Se per si hanno gi a disposizione tanti pacchetti installati sul server e presenti nella directory


In questa guida ho preferito una configurazione in un unico file ,che per me � stata pi� semplice da gestire
<pre>
e anche perch� il lavoro che dovevo svolgere io era semplice
/var/cache/apt/archives
</pre>


qui se non volete complicarvi la vita fate come ho fatto io , altrimenti leggetevi qualche guida e potrete capire un po meglio
potreste volerli importare nella cache. Niente di pi� semplice :)


Copiate tutti i pacchetti nella directory


Postfix cos� sarebbe a posto, ma non possiamo ancora fare una prova, perch� manca procmail, un programma che smista la posta.
<pre>
/var/cache/apt-cacher/import
</pre>


Postfix ne potrebbe anche fare a meno, ma con procmail si possono fare cose pi� belle, per esempio filtrare la posta mettendola in varie directory a seconda dell'user (fittizio) o a seconda della sorgente (vedi mailing list).
e poi lanciate il comando


Quindi installiamolo.
<pre>
# /usr/share/apt-cacher/apt-cacher-import.pl
</pre>


''apt-get install procmail''
che mette a disposizione tutti i pacchetti importati nella cache.


Il suo file di configurazione va messo nella home dell'utente per la posta, ovvero "utenteposta". Creiamolo con i giusti permessi:
Non resta che augurare happy caching!


''touch /home/utenteposta/.procmailrc
chmod 600 /home/utenteposta/.procmailrc
chown utenteposta:usergroup /home/utenteposta/.procmailrc''


----
Autore: giorsat <br>
Esteso da: [[Utente:Sal|Sal]]


A questo punto occorre decidere come farlo , infatti in base alle proprie esigenze e alla complessit� del file
[[Categoria:Server]][[Categoria:Apt]]
� possibile seguire due tipi di configurazione del file.
[[Categoria:Repository]]
 
Esiste chi crea pi� file per filtri vari,diversi utenti e altro che poi fanno riferimento al file principale oppure chi mette tutti i comandi in un unico file.
 
Per me la scelta del file unico � stata migliore dato che � molto semplice e in un solo file ho tutta la configurazione di procmail
 
Quello sotto � un esempio del mio file
 
''# ~/.procmailrc
SHELL=/bin/sh
#log
VERBOSE = yes # impostare a no dopo il debug
LOGABSTRACT = all # produce log MOLTO estesi, impostare a no in seguito
FORMAIL=/usr/bin/formail # path di formail, usato per processare alcune email
SENDMAIL=/usr/sbin/sendmail # path di sendmail
# File di log
#se tutto funziona dopo un p� potete commentarlo
LOGFILE=${HOME}/procmail.log
# Directory della posta
MAILDIR=${HOME}"/.Maildir"
# Cartella di default. Notare lo slash (/) alla fine che indica a Procmail
# di trattare la cartella in formato Maildir (compatibile con il server IMAP
# che configureremo) e non Mbox !!!
DEFAULT=${MAILDIR}/
YEAR=`date +%Y`
MONTH=`date +%m`
## SPAMASSASSIN ##
## Prima di consegnare le mail, le filtriamo tutte con spamassassin
:0fw:
| spamassassin
# Poi salviamo lo spam in una cartella a parte denominata Spam/
# Lo spam dientificato da un controllo negli header sul campo
# X-Spam-Status agiunto da spamassassin quando la mail viene analizzata
:0:
* ^X-Spam-Status: Yes
.Spam/
#utenti
:0:
* ^TO_nomeutente@nomedominio.it
nomeutente/.Maildir/`$FORMAIL -rt -xMessage-Id:`''
 
 
 
........................................................................................................................................
 
 
':0:' marca l'inizio della sezione;
 
'* ^TO_' indica l'indirizzo email completo dell'utente;
 
 
La successiva riga indica la directory dove le mail di quell'utente verranno parcheggiate, e con che formato.
 
Quindi avremo ad esempio per ogni utente la parte prima indicata e correggerremo solo il finale
 
'':0:
* ^TO_nomeutente1@tuo.dominio.com
nomeutente1/.Maildir/`$FORMAIL -rt -xMessage-Id:`
 
:0:
* ^TO_nomeutente2@tuo.dominio.com
nomeutente2/.Maildir/`$FORMAIL -rt -xMessage-Id:`''
 
...
 
eccetera.
 
Nel caso arrivino mail che non soddisfano i filtri precedentemente applicati nel file di cfg di procmail possiamo scaricarle in una directory precisa aggiungendo queste 3 righe:
 
'':0:
 
* ^TO_
 
nomeutentex/.Maildir/`$FORMAIL -rt -xMessage-Id:`''
 
 
Precisazione: `$FORMAIL -rt -xMessage-Id:` serve ovviamente per dare un nome al file.
 
 
 
 
== SERVER IMAP ==
 
 
 
 
Bene, a questo punto abbiamo un sistema pronto, per quanto semplice, che riceve posta e la smista in directory. Non � ancora funzionante perch� le directory non gliele abbiamo ancora create, e prima di farlo dobbiamo scegliere un server IMAP o POP da usare, cio� il server a cui gli utenti si collegheranno per leggere la posta col loro client. In teoria potrebbero leggere la posta direttamente dal filesystem, ma non � molto comodo. Abbiamo varie possibilit�, fra cui due sono state prese in considerazione e spiegate: 'courier-imap' e 'dovecot'. Entrambi sono server IMAP, che ci consentono di tenere tutta la posta nel server senza scaricarla nel client. Quale scegliere? Beh, quello che preferite. Ovviamente sono gi� pronti e pacchettizzati in debian (dovecot per� c'� solo in debian sid in questo momento) quindi per installarli usamo al solito apt-get.
 
''apt-get install courier-imap fam''
 
Notare che con courier installiamo anche fam, File Alteration Monitor. Non � un elemento indispensabile, tuttavia courier � gi� pronto ad usarlo, permettendo che vari utenti possano condividere delle stesse directory e venir immediatamente avvisati dei cambiamenti. Ora che sono installati (o uno o l'altro) abbiamo a disposizione uno strumento che ci permette di finire il lavoro con procmail, cio� creare le directory organizzate correttamente.
 
 
=== CREAZIONE DIRECTORY PER OGNI UTENTE ===
 
 
Creiamo una directory per ogni utente che abbiamo specificato. Entriamo nella directory home dell'utente designato come root per la gestione delle email ('/home/utenteposta') e cominciamo.
 
 
''maildirmake.courier /home/utenteposta/.Maildir
chown -R utenteposta:usergroup /home/utenteposta/.Maildir
 
maildirmake.courier /home/utenteposta2/.Maildir
chown -R utenteposta2:usergroup /home/utenteposta2/.Maildir''
 
...
 
Ripetete quelle 2 righe di comando per ogni utente che avete aggiunto al file /etc/aliases, o comunque ogni utente che deve avere una casella di posta distinta.
 
Notate che impostiamo l'utente di tutto a utenteposta e i permessi a 700, cos� utenteposta sar� l'unico oltre a root a poter leggere la posta direttamente dal disco.
 
A questo punto si pu� gi� provare a vedere se il server riceve la posta e la mette nel posto giusto.
 
Ricordatevi di aprire la porta 25 sul vostro firewall se ne state usando uno, altrimenti non potrete ricevere posta dall'esterno:
 
''iptables -I INPUT -p tcp --dport 25 -m state --state NEW -j ACCEPT''
 
Aprite il vostro client di posta abituale, la vostra webmail preferita (o chiedete a qualche amico collegato a internet di farlo, cos� vedete se la posta arriva anche da fuori) e mandate un'email a nomeutente1@tuo.dominio.com. Se tutto va bene dentro a /home/utenteposta/nomeutente1/new/ trovate i files di testo corrispondenti a ciascuna email.
 
 
 
 
=== CREAZIONE DATABASE UTENTE ===
 
 
Come prima, dobbiamo creare il database degli utenti. Oltre a indicare chi si pu� loggare a imap, e guardare la posta, dobbiamo dirgli con quale password e qual'� la sua posta. Per fare questo creiamo un file, di tipo database GDBM o DB, che si chiama ''/etc/courier/userdb'':
 
''touch /etc/courier/userdb
chmod 600 /etc/courier/userdb
chown root:root /etc/courier/userdb''
 
Notate che non deve avere permessi alcuni per gli appartenenti del gruppo o per gli altri. Ora recuperiamo l'UID e il GID dell'utente utenteposta, andando a leggere ''/etc/passwd''
 
''grep utenteposta /etc/passwd
 
utenteposta:x:107:65534::/home/utenteposta:/bin/bash''
 
Bene, ora possiamo cominciare a inserire a mano i vari utenti. Usiamo un programma del pacchetto courier, che si chiama userdb.
 
''userdb "john@example.com" set home=/home/utenteposta/ mail=/home/utenteposta/.Maildir/ uid=107 gid=65534''
 
Ripetiamo l'operazione per ogni utente.
 
Manca da inserire la password, per�: lo facciamo con un altro programma che si chiama userdbpw, che ci chiede la password criptandola in md5sum:
 
''userdbpw -md5 | userdb "john@example.com" set imappw''
 
Ci chieder� di inserire la password due volte, senza farci vedere l'echo sul terminale, e la inserir� nel file userdb.
Notate che in questo modo le password salvate sul disco sono criptate, ma non quelle mandate dal client al server per l'autenticazione.
 
In quel caso bisogna usare un sistema diverso, di tipo CRAM-MD5 per esempio.
 
Compiliamo il database con il comando
 
''makeuserdb''
 
che creer� due file: ''userdb.dat'' contenente le informazioni tranne le password e 'userdbshadow.dat' che conterr� le password.
 
L'ultima cosa da fare abilitare l'uso di userdb: aprite il file ''/etc/courier/authdaemonrc'' e modificate:
 
''authmodulelist="authpam"''
 
in
 
''authmodulelist="authuserdb"''
 
Ora possiamo passare a configurare il demone di autenticazione di courier.
 
Esso verr� chiamato ogni volta che qualcuno tenta una connessione. Il suo file di configurazione si chiama ''/etc/courier/authdaemonrc'' ed � molto ben commentato... l'unica opzione da cambiare � 'authmodulelist'.
 
Qua indichiamo quale o quali moduli di autenticazione verranno usati, ovvero in che modo il demone deve recuperare la lista degli utenti e delle password.
 
Dal momento che abbiamo preparato un database DB, carichiamo il modulo authuserdb. Ora che abbiamo sistemato la parte di autenticazione, possiamo far partire il demone che se ne occupa, quindi:
 
''/etc/init.d/courier-authdaemon start''
 
Il file di configurazione di courier-imap si chiama ''/etc/courier/imapd''. Contiene gi� tutto quello che serve al demone per funzionare, quindi non lo modificheremo. L'unica opzione che val la pena guardare � ''ADDRESS'': essa indica quali indirizzi deve ascoltare.
 
Non so come inserire un range di indirizzi, quindi lasciamo 0 (prego qualcuno che lo sa di spiegarlo). Avviamo quindi il servizio.
 
''/etc/init.d/courier-imap start''
 
 
 
== FETCHMAIL ==
 
 
 
Fetchmail � un programma che diventa molto comodo quando si hanno altre caselle di posta e si vuole concentrare tutto su una.
 
Ha due modalit� di funzionamento, come demone e come normale programma ma noi lo useremo come demone per controllare ad intervalli profissati la presenza di posta.
 
Se c'� verr� scaricata e inoltrata al nostro server che provveder� a smistarla e a recapitarla nella casella locale.
 
Procediamo ad installarlo:
 
''apt-get install fetchmail''
 
Il file di configurazione lo dobbiamo creare in /etc, si chiamer� ''fetchmailrc''.
 
''touch /etc/fetchmailrc
chown fetchmail /etc/fetchmailrc
chmod 600 /etc/fetchmailrc''
 
La cosa pi� semplice da fare � un copia/incolla di questo file di esempio, che cmq � quello che uso io nel mio server.
 
Nei commenti c'� la spiegazione delle impostazioni (man fetchmailrc per informazioni ulteriori).
 
''# Intervallo di tempo che passa fra ogni controllo. 300 secondi = 5 minuti
# 180 = 3 minuti
#
set daemon 300
# Il log delle operazioni viene fatto tramite syslog
set syslog
# Utente a cui va a finire la posta se non ce ne sono altri disponibili
#
set postmaster "discarica@example.com"
# Evita di perdere le mail se succede un essore 4xx. Dall'altro lato,
# per�, gli errori 5xx diventano pi� pericolosi
#
set no bouncemail
# Non manda insulti a chi manda spam
#
set no spambounce
# Ignora le stringhe; potrebbero essere usate da script
#
set properties ""
# I default seguenti sono usati nelle connessioni ai vari server, ma
# possono venire sovrascritti dalle impostazioni locali
#
defaults:
# Aggiunge un header di debug
#
tracepolls
# Usa pop3 come protocollo di default
#
protocol POP3
# Ignora gli errori antispam di postfix, dato che � molto lontano
# dalla sicurezza usarli assieme all'opzione bouncemail
#
antispam -1
# Massimo numero di email da forwardare in un colpo
#
batchlimit 100
# Scarica tutte le email, anche quelle marcate come lette
#
fetchall
# Caselle di posta da controllare
#
poll mail.provider.it
username "user" password "pass"
is "john@example.com" here
#
poll in.virgilio.it timeout 60 with protocol imap
username "utente" there with password "xyzxyz"
is "nomeutentex@example.com" here options keep''
 
 
Come potete vedere la sinstassi del poll � molto varia. Nel primo esempio abbiamo una casella di posta che verr� controllata e le email che contiene verranno girate all'utente locale john@example.com. Nel secondo esempio vediamo la possibilit� di aggiungere altre opzioni, ad esempio un timeout oltre al quale fetchmail desiste dal contattare un server, oppure indicare esplicitamente un protocollo, e infine la possibilit� di lasciare le email nel server (keep).
 
Ce ne sono molte altre, la cosa migliore da fare � leggere le pagine di manuale.
 
La configurazione di fetchmail si esaurisce qui. Facciamo partire il servizio:
 
''/etc/init.d/fetchmail start''
 
andando a modificare anche in ''/etc/default/fetchmail''
 
mettendo :
 
''Italic text''start_daemon=yes
 
 
Adesso bisogna aggiungere alla configurazione di procmail 3 righe per dirgli dove mettere le email che sono state spedite all'utente "utente@virgilio.it", altrimenti le scarter�. Per fare questo andiamo ad editare il file che descrive gli utenti di procmail, ''/home/utenteposta/.pm/utenti.rc'', e aggiungiamo:
 
'':0:
 
* ^TO_utente@virgilio.it
 
nomeutentex/Maildir/`$FORMAIL -rt -xMessage-Id:`''
 
In questo modo le mail prelevate da quella casella di posta saranno recapitate nella casella locale dell'utente nomeutentex. Le modifiche a questo file si possono fare al volo senza riavviare procmail, e verranno prese immediatamente.
 
 
== MAILSCANNER SPAMASSASSIN CLAMAV AMAVISD-NEW RAZOR ==
 
 
 
a questo punto installiamo con :
 
''apt-get install mailscanner spamassassin clamav razor amavisd-new(opzionale)''
 
 
=== Spamassassin ===
 
 
Riguardo la configurazione di spamassassin io ho usato webmin ,anche se non c'� molto da fare .
 
Per settaggi particolari di spamassassin vi consiglio di dare un'occhiata al file ''/etc/spamassassin/local.cf'' oppure consultare il sito web http://www.yrex.com/spam/spamconfig.php che vi consente di creare un file di configurazione personalizzato rispondendo alle varie domande.
 
abilitiamo spamassassin modificando in ''/etc/default/spamassassin''
''ENABLE=1''
 
 
=== clamav ===
 
 
fa tutto da solo
 
 
 
=== mailscanner ===
 
 
dalla guida http://www.mailscanner.info/postfix.html
 
Stop Postfix usando il comando
 
' '/etc/init.d/postfix stop''
 
Nel file di configuratione di Postfix ''/etc/postfix/main.cf'' aggiungete questa linea:
 
''header_checks = regexp:/etc/postfix/header_checks''
 
create il file
 
''touch /etc/postfix/header_checks''
''chmod 644 /etc/postfix/header_checks''
 
adesso inserite dentro al file creato la segunete linea
 
''/^Received:/ HOLD''
 
Nel vostro MailScanner.conf file (probabilmente in /etc/MailScanner), avrete 5 settaggi da modificare
 
''Run As User = postfix''
''Run As Group = postfix''
''Incoming Queue Dir = /var/spool/postfix/hold''
''Outgoing Queue Dir = /var/spool/postfix/incoming''
''MTA = postfix''
''# per avere i rapporti in italiano''
''%report-dir% = /etc/MailScanner/reports/it''
 
 
 
Dovrete anche essere sicuri che postfix possa scrivere in
 
''chown postfix.postfix /var/spool/MailScanner/incoming''
''chown postfix.postfix /var/spool/MailScanner/quarantine''
''chown postfix.postfix /var/run/mailscanner''
''chown postfix.postfix /var/spool/MailScanner/''
''chown postfix.postfix /var/lib/Mailscanner/''
''chown postfix.postfix /var/lock/subsys/Mailscanner/''
 
 
 
A questo punto rilanciamo i servizi
 
''/etc/rc.d/init.d/''
''./postfix restart''
''./mailscanner restart''
 
 
 
== CLIENT IMAP ==
 
 
 
potete usare il client che piu vi aggrada, da thunderbir su win o evolution su linux
 
Per poter inviare la posta in locale dovrete usare :
 
''nomeutente@nomeserver.nomedominio''
 
esempio
 
''prova@server.pasticcio.it''
 
 
 
== WEBMAIL ==
 
 
Dovete avere i servizi ''apache2 , mysql , php4 o php5''
 
A questo punto per rendere pi� sicuro il sistema ho preferito non aprire la porta 143 (IMAP)
 
Io subito ho installato ilohamail , disponibile come pacchetto che si installa con apt-get ma io ho scelto di installarlo manualmete , dato che avevo avuto problemi con la configurazione , ho copiato l'intero contenuto del file tar.gz nella cartella HTML
 
Dopo le giuste configurazioni indirizzate il vostro browser su http://vostrosito/cartella ilohamail
 
dovreste vedere la finestra iniziale di accesso.
 
Ma dato che Ilohamail mi sembra un progetto abbandonato da qualche annetto ho preferito passare a altro
 
Esistono altri programmi come http://openwebmail.org/ e altri ancora , questa � una vostra scelta
 
Adesso sto sando group office che sembra essere il migliore in circolazione.
 
Ottimo il servizio di posta con IMAP , una vera suite per ufficio con calendario , rubrica con vcard ,
gestione progetti , note e altro ancora il tutto collegato da un database mysql, davvero un bel prodotto .
 
L'installazione � semplice , basta seguire le informazioni all'interno del file .
 
Si scompatta nella cartella web e in pochi passi sarete sbaloditi dalla grafica e dalla velocit�.
 
il sito � -http://www.group-office.com/  ma quasta � la versione full a pagamento ,la potete provare in versione demo on-line visitando il sito ,ma  esiste anche una versione sviluppata dalla comunit�.
 
il forum della versione free -http://www.group-office.com/forum/
 
qui potete scaricarlo scaricarlo -http://sourceforge.net/projects/group-office/
 
Questa come soluzione mi � sembrata pi� elegante e completa a confronto del client di posta
 
 
--[[Utente:Mm-barabba|Mm-barabba]] 09:16, 3 Apr 2008 (CDT)
1 487

contributi

Menu di navigazione