Mailing List · 5 min read · Sep 09, 2025
Come Installare E Configurare Mailman (Con Postfix) Su Debian Squeeze
Come Installare E Configurare Mailman (Con Postfix) Su Debian Squeeze
Versione 1.0
Autore: Falko Timme
Seguimi su Twitter
Mailman è un gestore di liste di distribuzione open-source, ovvero può essere utilizzato per gestire discussioni via email e liste di newsletter. È probabilmente il gestore di liste di distribuzione più popolare e ampiamente utilizzato su Internet. Questo tutorial spiega come installare e configurare Mailman su un server Debian Squeeze con un server di posta Postfix.
Non fornisco alcuna garanzia che questo funzionerà per te!
1 Nota Preliminare
In questo tutorial configurerò un host virtuale con il nome host lists.example.com dove installerò Mailman. lists.example.com è anche la parte corretta degli indirizzi email delle liste di distribuzione che saranno configurate in Mailman, ovvero, le email a una lista di distribuzione dovranno essere inviate all’indirizzo
Poiché il tuo nome host sarà diverso, ti prego di adattare questo tutorial di conseguenza. Assicurati anche che il tuo nome host esista nel DNS.
Mailman può essere utilizzato con molti server di posta (ad es. Postfix, Exim, Sendmail, Qmail). Userò Postfix in questo tutorial. Assicurati di avere un’installazione funzionante di Postfix, ad esempio come mostrato in questo tutorial: Utenti Virtuali E Domini Con Postfix, Courier, MySQL E SquirrelMail (Debian Squeeze)
2 Installazione Di Mailman E Apache
Poiché Mailman viene fornito con un’interfaccia web, abbiamo bisogno di un server web oltre a Mailman. Scelgo Apache. Mailman e Apache possono essere installati come segue:
apt-get install mailman apache2Vedrai le seguenti domande/messaggi:
Lingue da supportare: <– it (Italiano)
Lista dei siti mancante
Mailman ha bisogno di una cosiddetta “lista dei siti”, che è la lista da cui vengono inviati i promemoria delle password e simili. Questa lista deve essere creata prima che Mailman possa avviarsi. Per creare la lista, esegui “newlist mailman” e segui le istruzioni sullo schermo. Nota che devi anche avviare Mailman dopo, usando /etc/init.d/mailman start. <– Ok
Mailman viene fornito con un file di configurazione Apache, /etc/mailman/apache.conf, che copiamo in /etc/apache2/sites-available/mailman.conf:
cp /etc/mailman/apache.conf /etc/apache2/sites-available/mailman.confApri /etc/apache2/sites-available/mailman.conf…
vi /etc/apache2/sites-available/mailman.conf… e aggiungi la seguente configurazione vhost al file (c’è già un vhost per lists.example.net nel file che è commentato - per favore non usare quel vhost poiché la mia configurazione vhost differisce un po’ anche se sembra abbastanza simile):
| [...] |
La penultima riga ScriptAlias / /usr/lib/cgi-bin/mailman/listinfo è facoltativa; fa sì che quando vai su http://lists.example.com/, verrai reindirizzato a http://lists.example.com/listinfo. Questo ha senso se non hai file da servire nella radice del documento /var/www/lists.
Successivamente crea la radice del documento /var/www/lists, abilita la configurazione vhost di lists.example.com e riavvia Apache:
mkdir /var/www/lists
a2ensite mailman.conf
/etc/init.d/apache2 restart
Poiché stiamo usando un vhost qui (lists.example.com), dobbiamo regolare le seguenti variabili in /etc/mailman/mm_cfg.py:
vi /etc/mailman/mm_cfg.py| [...] DEFAULT_URL_PATTERN = 'http://%s/' [...] DEFAULT_EMAIL_HOST = 'lists.example.com' [...] DEFAULT_URL_HOST = 'lists.example.com' [...] |
3 Configurazione Di Postfix
Ora dobbiamo configurare Postfix. Prima esegui:
postconf -e ‘relay_domains = lists.example.com’
postconf -e ‘mailman_destination_recipient_limit = 1’
Poi apri /etc/postfix/master.cf…
vi /etc/postfix/master.cf… e assicurati di avere le seguenti righe in esso (dovrebbero esserci di default):
| [...] mailman unix - n n - - pipe flags=FR user=list argv=/usr/lib/mailman/bin/postfix-to-mailman.py ${nexthop} ${user} [...] |
Successivamente dobbiamo associare il dominio lists.example.com al trasporto mailman. Come fare questo dipende dalla tua configurazione di Postfix. Ad esempio, se hai configurato il tuo server secondo il tutorial Utenti Virtuali E Domini Con Postfix, Courier, MySQL E SquirrelMail (Debian Squeeze), i trasporti sono memorizzati in un database MySQL; nella maggior parte delle altre configurazioni, il file /etc/postfix/transport viene utilizzato per creare i trasporti. Descriverò entrambi i casi nei capitoli 3.1 e 3.2.
3.1 Trasporti In Un Database MySQL
Se hai configurato il tuo server secondo il tutorial Utenti Virtuali E Domini Con Postfix, Courier, MySQL E SquirrelMail (Debian Squeeze), i trasporti sono memorizzati nella tabella di trasporto nel database MySQL mail. Per creare il trasporto necessario, accedi a MySQL…
mysql -u root -p… e esegui i seguenti comandi MySQL:
USE mail;
INSERT INTO transport (domain, transport) VALUES (‘lists.example.com’, ‘mailman:’);
quit;
Riavvia Postfix dopo:
/etc/init.d/postfix restart3.2 Trasporti In /etc/postfix/transport
Se non hai il tuo trasporto in un database MySQL, probabilmente usi il file /etc/postfix/transport. In questo caso puoi impostare il trasporto necessario come segue:
postconf -e 'transport_maps = hash:/etc/postfix/transport'Apri /etc/postfix/transport…
vi /etc/postfix/transport… e aggiungi la seguente riga:
| lists.example.com mailman: |
Esegui
postmap -v /etc/postfix/transportdopo e riavvia Postfix:
/etc/init.d/postfix restart 4 Creazione Della Lista Di Distribuzione mailman
Prima di poter iniziare a utilizzare Mailman, dobbiamo creare una lista di distribuzione chiamata mailman; questo è obbligatorio - senza di essa Mailman non si avvierà:
newlist --urlhost=lists.example.com --emailhost=lists.example.com mailmanNella maggior parte dei casi, i parametri –urlhost e –emailhost non sono necessari perché il nostro vhost è già chiamato lists.example.com, e lo abbiamo anche in /etc/mailman/mm_cfg.py (DEFAULT_EMAIL_HOST e DEFAULT_URL_HOST), ma se vuoi essere sicuro che Mailman utilizzi il nome host corretto, usa questi parametri.
root@server1:~# newlist –urlhost=lists.example.com –emailhost=lists.example.com mailman
Inserisci l’email della persona che gestisce la lista: <– specifica l’indirizzo email dell’amministratore della lista, ad es. [email protected]
Password iniziale di mailman: <– mailman_password
Per terminare la creazione della tua lista di distribuzione, devi modificare il tuo file /etc/aliases (o equivalente) aggiungendo le seguenti righe, e possibilmente eseguendo il programma newaliases:
lista di distribuzione mailman
mailman: “|/var/lib/mailman/mail/mailman post mailman”
mailman-admin: “|/var/lib/mailman/mail/mailman admin mailman”
mailman-bounces: “|/var/lib/mailman/mail/mailman bounces mailman”
mailman-confirm: “|/var/lib/mailman/mail/mailman confirm mailman”
mailman-join: “|/var/lib/mailman/mail/mailman join mailman”
mailman-leave: “|/var/lib/mailman/mail/mailman leave mailman”
mailman-owner: “|/var/lib/mailman/mail/mailman owner mailman”
mailman-request: “|/var/lib/mailman/mail/mailman request mailman”
mailman-subscribe: “|/var/lib/mailman/mail/mailman subscribe mailman”
mailman-unsubscribe: “|/var/lib/mailman/mail/mailman unsubscribe mailman”
Premi invio per notificare il proprietario di mailman… <– ENTER
root@server1:~#
Ora apri /etc/aliases e aggiungi gli alias che vedi nell’output del comando newlist (questo deve essere fatto manualmente per ogni nuova lista che crei):
vi /etc/aliases| [...] ## lista di distribuzione mailman mailman: "|/var/lib/mailman/mail/mailman post mailman" mailman-admin: "|/var/lib/mailman/mail/mailman admin mailman" mailman-bounces: "|/var/lib/mailman/mail/mailman bounces mailman" mailman-confirm: "|/var/lib/mailman/mail/mailman confirm mailman" mailman-join: "|/var/lib/mailman/mail/mailman join mailman" mailman-leave: "|/var/lib/mailman/mail/mailman leave mailman" mailman-owner: "|/var/lib/mailman/mail/mailman owner mailman" mailman-request: "|/var/lib/mailman/mail/mailman request mailman" mailman-subscribe: "|/var/lib/mailman/mail/mailman subscribe mailman" mailman-unsubscribe: "|/var/lib/mailman/mail/mailman unsubscribe mailman" |
Ogni volta che modifichi /etc/aliases, devi eseguire
newaliases
/etc/init.d/postfix restart
dopo.
Ora possiamo finalmente avviare Mailman:
/etc/init.d/mailman startroot@server1:~# /etc/init.d/mailman start
Avviando Mailman master qrunner: mailmanctl.
root@server1:~#
Ricevi i nuovi post nella tua casella di posta.
Nessuno spam. Disiscriviti in qualsiasi momento.