Amministrare e gestire mailing list con Mailman: differenze tra le versioni

 
(15 versioni intermedie di un altro utente non mostrate)
Riga 1: Riga 1:
{{Versioni compatibili|Lenny|Squeeze|Wheezy}}
== Introduzione ==
== Introduzione ==
Mailman è un software open-source per la gestione di mailing list ed è probabilmente il più popolare e il più diffuso gestore di mailing list su piattaforma Linux.
Mailman è un software open-source per la gestione di mailing list ed è probabilmente il più popolare e il più diffuso gestore di mailing list su piattaforma Linux.
Riga 32: Riga 33:
e aggiungiamo questa configurazione (NOTA: è già presente un Virtual Host. Non va utilizzato, poichè la configurazione che useremo è differente)
e aggiungiamo questa configurazione (NOTA: è già presente un Virtual Host. Non va utilizzato, poichè la configurazione che useremo è differente)
<pre>
<pre>
# Configurazione di Mailman per Apache
#######################################
<VirtualHost *:80>
<VirtualHost *:80>
ServerName lists.example.com
        ServerName lists.example.com
DocumentRoot /var/www/lists
        DocumentRoot /var/www/lists
ErrorLog /var/log/apache2/lists-error.log
        ErrorLog /var/log/apache2/lists-error.log
CustomLog /var/log/apache2/lists-access.log combined
        CustomLog /var/log/apache2/lists-access.log combined
 
        <Directory /usr/lib/cgi-bin/mailman/>
            AllowOverride None
            Options ExecCGI
            AddHandler cgi-script .cgi
            Order allow,deny
            Allow from all
        </Directory>
 
        <Directory /var/lib/mailman/archives/public/>
            Options FollowSymlinks
            AllowOverride None
            Order allow,deny
            Allow from all
        </Directory>


<Directory /var/lib/mailman/archives/>
        <Directory /usr/share/images/mailman/>
    Options FollowSymLinks
            AllowOverride None
    AllowOverride None
            Order allow,deny
</Directory>
            Allow from all
        </Directory>


Alias /pipermail/ /var/lib/mailman/archives/public/
        <Directory /var/lib/mailman/archives/>
Alias /images/mailman/ /usr/share/images/mailman/
            Options FollowSymLinks
ScriptAlias /admin /usr/lib/cgi-bin/mailman/admin
            AllowOverride None
ScriptAlias /admindb /usr/lib/cgi-bin/mailman/admindb
        </Directory>
ScriptAlias /confirm /usr/lib/cgi-bin/mailman/confirm
 
ScriptAlias /create /usr/lib/cgi-bin/mailman/create
        Alias /pipermail/ /var/lib/mailman/archives/public/
ScriptAlias /edithtml /usr/lib/cgi-bin/mailman/edithtml
        Alias /images/mailman/ /usr/share/images/mailman/
ScriptAlias /listinfo /usr/lib/cgi-bin/mailman/listinfo
 
ScriptAlias /options /usr/lib/cgi-bin/mailman/options
        ScriptAlias /cgi-bin/mailman/ /usr/lib/cgi-bin/mailman/
ScriptAlias /private /usr/lib/cgi-bin/mailman/private
 
ScriptAlias /rmlist /usr/lib/cgi-bin/mailman/rmlist
        ScriptAlias /admin /usr/lib/cgi-bin/mailman/admin
ScriptAlias /roster /usr/lib/cgi-bin/mailman/roster
        ScriptAlias /admindb /usr/lib/cgi-bin/mailman/admindb
ScriptAlias /subscribe /usr/lib/cgi-bin/mailman/subscribe
        ScriptAlias /confirm /usr/lib/cgi-bin/mailman/confirm
ScriptAlias /mailman/ /usr/lib/cgi-bin/mailman/
        ScriptAlias /create /usr/lib/cgi-bin/mailman/create
ScriptAlias / /usr/lib/cgi-bin/mailman/listinfo
        ScriptAlias /edithtml /usr/lib/cgi-bin/mailman/edithtml
        ScriptAlias /listinfo /usr/lib/cgi-bin/mailman/listinfo
        ScriptAlias /options /usr/lib/cgi-bin/mailman/options
        ScriptAlias /private /usr/lib/cgi-bin/mailman/private
        ScriptAlias /rmlist /usr/lib/cgi-bin/mailman/rmlist
        ScriptAlias /roster /usr/lib/cgi-bin/mailman/roster
        ScriptAlias /subscribe /usr/lib/cgi-bin/mailman/subscribe
        ScriptAlias /mailman/ /usr/lib/cgi-bin/mailman/
        ScriptAlias / /usr/lib/cgi-bin/mailman/listinfo
</VirtualHost>
</VirtualHost>
</pre>
</pre>
Come ultimo, creiamo la directory e abilitiamo il Virtual Host:
<pre>
# mkdir /var/www/lists
# a2ensite mailman.conf
# /etc/init.d/apache2 restart
</pre>
e poi abilitare cgid :
<pre>
# a2enmod cgid
</pre>
riavvirare il server web apache:
<pre>
# service apache2 restart
</pre>
== Configurazione ==
Poichè stiamo usando un Virtual Host, dobbiamo modificare alcune variabili di Mailman:
<pre>
# nano /etc/mailman/mm_cfg.py
</pre>
<pre>
[...]
DEFAULT_URL_PATTERN = 'http://%s/'
[...]
DEFAULT_EMAIL_HOST = 'lists.example.com'
[...]
DEFAULT_URL_HOST = 'lists.example.com'
[...]
</pre>
=== Postfix ===
Ora dobbiamo configurare Postfix:
<pre>
# postconf -e 'relay_domains = lists.example.com'
# postconf -e 'mailman_destination_recipient_limit = 1'
</pre>
Apriamo il file
<pre>
# nano /etc/postfix/master.cf
</pre>
e verifichiamo che siano state aggiunte queste righe
<pre>
[...]
mailman  unix  -      n      n      -      -      pipe
  flags=FR user=list argv=/usr/lib/mailman/bin/postfix-to-mailman.py
  ${nexthop} ${user}
[...]
</pre>
Ora dobbiamo associare il dominio <code>lists.example.com</code> al <code>mailman: transport</code> di Postfix.
<pre>
# nano /etc/postfix/main.cf
</pre>
e verifichiamo che ci siano le voci:
<pre>
relay_domains = ... lists.example.com
relay_recipient_maps = ... hash:/var/lib/mailman/data/virtual-mailman
transport_maps = hash:/etc/postfix/transport
mailman_destination_recipient_limit = 1
</pre>
<pre>
# nano /etc/postfix/transport
</pre>
di contenuto
<pre>
lists.example.com  mailman:
</pre>
== Creazione della prima lista ==
Prima di iniziare a utilizzare Mailman dovremo creare una prima lista chiamata <code>mailman</code>. E' obbligatoria, in assenza di questa il demone non partirà.
<pre>
# newlist --urlhost=lists.example.com --emailhost=lists.example.com mailman
</pre>
L'output sarà qualcosa di simile:
<pre>
Enter the email of the person running the list: <-- specify the list administrator email address, e.g. sales@example.com
Initial mailman password: <-- 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... <-- ENTER
</pre>
Quindi, come letto nell'output precedente, dobbiamo aprire il file degli alias e impostare gli alias suggeriti (Questa operazione [[va fatta manualmente per ogni lista]] che creeremo in seguito):
<pre>
# nano /etc/aliases
</pre>
Ogni volta che si modifica <code>/etc/aliases</code> occorre informare il sistema:
<pre>
# newaliases
</pre>
Infine riavviamo i demoni:
<pre>
# /etc/init.d/postfix restart
# /etc/init.d/mailman start
</pre>
== Amministrazione ==
Il pannello di amministrazione è raggiungibile all'indirizzo
<pre>
http://lists.example.com/admin
</pre>
Da lì potremo configurare tutte le altre liste di cui abbiamo bisogno.
<br/>
Per ogni lista creata ricordiamoci di integrare la configurazione del file <code>/etc/aliases</code>.
<br/>
<br/>
{{Autori
|Autore = [[Utente:Ferdybassi|Ferdybassi]] 17:55, 8 set 2014 (CEST)
|Verificata_da =
|Numero_revisori = 0
}}
[[Categoria: Mail server]]
1

contributo