Mailman è un programma open source per la gestione di discussioni elettroniche e newsletter. Molte mailing list open source (incluse tutte le mailing list di Ubuntu) utilizzano Mailman come software. È molto potente e facile da installare.
Mailman fornisce un'interfaccia web per i compiti amministrativi e per gli utenti. È quindi richiesto apache con il supporto mod_perl. Mailman utilizza un server mail esterno per inviare e ricevere le email. Funziona molto bene con i seguenti server mail:
Postfix
Exim
Sendmail
Qmail
Viene descritto come installare mailman, il server web apache e il server mail Exim. Se si desidera installare mailman con un server mail diverso, fare riferimento alla sezione «Riferimenti».
Per maggiori informazioni su come installare apache2, consultare Installare HTTPD.
Per installare Exim4, eseguire i seguenti comandi al prompt del terminale:
sudo apt-get install exim4 sudo apt-get install exim4-base sudo apt-get install exim4-config
Una volta installato exim4, i file di configurazione sono salvati nella directory /etc/exim4
. In Ubuntu, in modo predefinito, i file di configurazione di exim4 sono divisi tra vari file. È possibile modificare questo comportamento cambiando la seguente variabile nel file /etc/exim4/update-exim4.conf
:
dc_use_split_config='true'
Per installare mailman, in un terminale digitare il seguente comando:
sudo apt-get install mailman
Questo copia i file di installazione nella directory /var/lib/mailman, gli script CGI nella directory /usr/lib/cgi-bin/application, crea l'utente list e il gruppo list. Il proprietario del processo mailman sar
Questa sezione assume che le applicazioni mailman, apache2 e exim4 siano state installate con successo. Ora è necessario configurarle.
Una volta installato apache2, è possibile aggiungere le seguenti righe al file /etc/apache2/apache2.conf
:
Alias /images/mailman/ "/usr/share/images/mailman/" Alias /pipermail/ "/var/lib/mailman/archives/public/"
mailman utilizza apache2 per eseguire gli script CGI. Gli script CGI di mailman sono installati all'interno della directory /usr/lib/cgi-bin/mailman
. L'URL di mailman quindi risulta http://hostname/cgi-bin/mailman/. È possibile apportare cambiamenti al file /etc/apache2/apache2.conf
per modificarne il comportamento.
Una volta installato Exim4, è possibile avviare il server exim digitando il seguente comando in un terminale:
sudo apt-get /etc/init.d/exim4 start
Per poter utilizzare mailman con exim4, è necessario configurare exim4 per questo scopo. Come precedentemente detto, in modo predefinito, exim4 utilizza file di configurazione multipli di diversi tipi. Per maggiori informazioni fare riferimento al sito web di Exim. Per avviare mailman è necessario aggiungere un nuovo file di configurazione alle seguenti tipologie di configurazione:
Main
Transport
Router
Exim crea un file di configurazione principale ordinando tutti questi piccoli file di configurazione. L'ordine di questi file è molto importante.
Tutti i file di configurazione appartenenti al tipo main sono archiviati nella directory /etc/exim4/conf.d/main/
. È possibile aggiungere il seguente contenuto a un nuovo file di configurazione chiamato 04_exim4-config_mailman
:
# start # Home dir for your Mailman installation -- aka Mailman's prefix # directory. # On Ubuntu this should be "/var/lib/mailman" # This is normally the same as ~mailman MM_HOME=/var/lib/mailman # # User and group for Mailman, should match your --with-mail-gid # switch to Mailman's configure script. Value is normally "mailman" MM_UID=list MM_GID=list # # Domains that your lists are in - colon separated list # you may wish to add these into local_domains as well domainlist mm_domains=hostname.com # # -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= # # These values are derived from the ones above and should not need # editing unless you have munged your mailman installation # # The path of the Mailman mail wrapper script MM_WRAP=MM_HOME/mail/mailman # # The path of the list config file (used as a required file when # verifying list addresses) MM_LISTCHK=MM_HOME/lists/${lc::$local_part}/config.pck # end
Tutti i file di configurazione appartenenti al tipo transport sono archiviati nella directory /etc/exim4/conf.d/transport/
. È possibile aggiungere il seguente contenuto a un nuovo file di configurazione chiamato 40_exim4-config_mailman
:
mailman_transport: driver = pipe command = MM_WRAP \ '${if def:local_part_suffix \ {${sg{$local_part_suffix}{-(\\w+)(\\+.*)?}{\$1}}} \ {post}}' \ $local_part current_directory = MM_HOME home_directory = MM_HOME user = MM_UID group = MM_GID
Tutti i file di configurazione appartenenti al tipo router sono archiviati nella directory /etc/exim4/conf.d/router/
. È possibile aggiungere il seguente contenuto a un nuovo file di configurazione chiamato 101_exim4-config_mailman
:
mailman_router: driver = accept require_files = MM_HOME/lists/$local_part/config.pck local_part_suffix_optional local_part_suffix = -bounces : -bounces+* : \ -confirm+* : -join : -leave : \ -owner : -request : -admin transport = mailman_transport
![]() |
|
L'ordine dei file di configurazione main e transport può essere qualsiasi. L'ordine dei file di configurazione del tipo router deve essere lo stesso. Questo particolare file deve apparire prima del file |
Una volta installato mailman è possibile avviarlo digitando il seguente comando:
sudo /etc/init.d/mailman start
Quindi, è necessario creare la mailing list di base. Digitare il seguente comando per creare la mailing list:
sudo /usr/sbin/newlist mailman
Enter the email address of the person running the list: bhuvan at ubuntu.com
Initial mailman password:
To finish creating your mailing list, you must edit your /etc/aliases
(or
equivalent) file by adding the following lines, and possibly running the
`newaliases' program:
## mailman mailing list
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"
Hit enter to notify mailman owner..
#
Dato che è stato configurato exim al riconoscimento di tutte le email in arrivo da mailman, non è necessario inserire altre voci nel file /etc/aliases
. Se sono state fatte modifiche a file di configurazione, assicurarsi di riavviare i servizi modificati prima di continuare.
Si assume che sia stata fatta un'installazione di base. Gli script cgi di mailman si trovano nella directory /usr/lib/cgi-bin/mailman/. Mailman fornisce uno strumento di amministrazione basato sul web, per accedere alla relativa pagina, aprire con il browser il seguente url:
http://hostname/cgi-bin/mailman/admin
La mailing list di base, mailman, comparirà in questa schermata. Facendo clic sul nome della mailing list, verrà richiesta la password di autenticazione. Se viene inserita la password corretta sarà possibile modificare le preferenze di amministrazione di questa mailing list. È possibile creare una nuova mailing list usando l'utilità a riga di comando (/usr/sbin/newlist). In alternativa, è possibile creare una nuova mailing list usando l'interfaccia web.
Mailman fornisce un'interfaccia web per gli utenti. Per accedere a questa pagina, indirizzare il browser web al seguente URL:
http://hostname/cgi-bin/mailman/listinfo
La mailing list predefinita, mailman, compare a schermo. Facendo clic sul nome, viene presentato il modulo di iscrizione. È possibile inserire il proprio indirizzo email, il nome (opzionale) e la password per completare l'iscrizione. Viene così inviata una email di invito all'indirizzo specificato. È possibile seguire le istruzioni contenute nell'email per completare l'iscrizione.