|
|
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 http://<b>my.cacher.server:3142/</b>ftp.au.debian.org/debian unstable main contrib 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)
| |