Postfix Hosting · 3 min read · Nov 18, 2025
Hosting Virtuale con Postfix, parte prima
Versione 1.0
Autore: Joe Topjian
Il supporto per i domini virtuali in Postfix è in realtà piuttosto robusto. Ci sono tre modi diversi per ospitare domini virtuali con Postfix e sono tutti descritti qui. Ci concentreremo sul terzo: domini separati e account non-unix.
Perché questo? Perché alla fine, questa opzione ci offre la massima flessibilità. È un po’ più complicato da configurare e comprendere, ma ne vale la pena quando si ospitano più domini.
Il nostro obiettivo finale è avere un server di posta che supporti la consegna di email a più domini. Ogni indirizzo email sarà autentico solo per quel dominio. Ad esempio, [email protected] e [email protected] sono due account diversi che ricevono email diverse.
Per iniziare, trasformeremo tutti i domini in host virtuali. Anche se hai Postfix configurato con un solo dominio, trasformeremo quel dominio in virtuale. Non è necessario farlo, ma lo faccio perché penso sia più organizzato. Avere Postfix che ospita un vero dominio e il resto virtuale significa che dovrai sempre configurare Postfix due volte: una per ogni tipo di dominio. Per fare ciò, cambieremo la nostra linea myhostname in main.cf per leggere:
myhostname = localhost
Successivamente, aggiungeremo le seguenti informazioni sui domini virtuali a main.cf (tutto ciò sarà spiegato dopo):
virtual_mailbox_domains = /etc/postfix/vhosts.txt
virtual_mailbox_base = /var/spool/vmail
virtual_mailbox_maps = hash:/etc/postfix/vmaps.txt
virtual_uid_maps = static:1000
virtual_gid_maps = static:1000
virtual_alias_maps = hash:/etc/postfix/valias.txt
Nella prima riga, stiamo usando un file di testo chiamato vhosts.txt. Puoi effettivamente chiamarlo come vuoi. All’interno di questo file di testo ci sarà un semplice elenco a una colonna di tutti i domini che stai ospitando. Ad esempio:
domain1.com
domain2.com
virtual.org
La riga successiva specifica la directory base in cui conserveremo tutte le nostre email. Anche in questo caso, puoi scegliere qualsiasi cosa tu voglia.
La terza riga punta a un file di testo che ho chiamato vmaps.txt. Questo è un file di testo a due colonne. La prima colonna specifica un indirizzo email virtuale. La seconda colonna specifica la posizione della casella di posta di quella persona. Proprio come con l’hosting di domini reali, se specifichi una / alla fine della posizione, diventa formato Maildir. Altrimenti, è mbox. Ho specificato hash perché sto anche trasformando vmaps.txt in un file hash eseguendo:
postmap vmaps.txt
Questo risulta in un file chiamato vmaps.txt.db. Postfix è in grado di cercare informazioni negli hash più velocemente rispetto a un normale file di testo.
Il contenuto di vmaps.txt appare così:
[email protected] domain1.com/joe/
[email protected] domain2.com/joe/
[email protected] virtual.org/john/
Dai un’occhiata alla seconda colonna. Il valore è aggiunto alla nostra riga virtual_mailbox_base. Quindi il percorso assoluto della casella di posta virtuale diventa, ad esempio, /var/spool/vmail/domain1.com/joe/. Non dimenticare di creare effettivamente le directory domain1.com e joe. Poiché questa casella di posta è in formato maildir, avremo bisogno di 3 sottodirectory sotto questa casella di posta: new, cur, tmp. Ci sono diversi script in giro per farlo, ma fondamentalmente questo funziona benissimo:
mkdir new cur tmp
chmod 700 new cur tmp
Le due righe successive definiscono un account che configureremo e che avrà il permesso di accedere alle caselle di posta. Sì, un account avrà la possibilità di leggere tutte le email virtuali. Sì, questo può essere considerato un problema di sicurezza. Ti preghiamo di fare del tuo meglio per garantire che nessuno possa diventare questo utente. Lo chiameremo “virtuale”. Aggiungilo in qualsiasi modo tu voglia al sistema (ad es., useradd) e prendi nota del suo uid e gid.
L’ultima riga specifica un file di testo in cui possiamo inserire alias per gli account virtuali. Il contenuto appare così:
[email protected] [email protected]
Infine, dovrai dare la proprietà delle caselle di posta all’utente virtuale. Eseguire questo si occuperà di tutto:
chown -R virtual:virtual /var/spool/vmail
E questo è tutto. Basta eseguire un “postfix reload” e sei a posto. Ovviamente ora abbiamo bisogno di un modo per recuperare effettivamente l’email. Lo farò nella Parte Due.
Parte Due:
https://www.howtoforge.com/linux_postfix_virtual_hosting_2
Posizione originale di questo documento:
http://adminspotting.net/howtos/postfixvirtual.html
| |
Ricevi i nuovi post nella tua casella di posta.
Nessuno spam. Disiscriviti in qualsiasi momento.