1
contributo
(17 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 5: | Riga 6: | ||
== Prerequisiti == | == Prerequisiti == | ||
Per funzionare, Mailman ha bisogno che sul sistema sia installato e configurato un server di posta. In questa guida utilizzeremo il mailserver Postfix, configurato secondo questa modalità: [[Internet Service Provider con Debian]]. | # Per funzionare, Mailman ha bisogno che sul sistema sia installato e configurato un server di posta. In questa guida utilizzeremo il mailserver Postfix, configurato secondo questa modalità: [[Internet Service Provider con Debian]]. | ||
<br/> | <br/> | ||
In questa guida sarà utilizzato un Virtual Host con hostname <code>lists.example.com</code> dove installeremo Mailman. <code>lists.example.com</code> farà quindi parte dell'indirizzo delle nostre liste, che avranno tutte la forma: <code><listname>@lists.example.com</code>. | # In questa guida sarà utilizzato un Virtual Host con hostname <code>lists.example.com</code> dove installeremo Mailman. <code>lists.example.com</code> farà quindi parte dell'indirizzo delle nostre liste, che avranno tutte la forma: <code><listname>@lists.example.com</code>. | ||
<br/> | <br/> | ||
Facciamo quindi in modo che il nostro nuovo sottodominio abbia le voci corrette nei DNS del nostro provider. | Facciamo quindi in modo che il nostro nuovo sottodominio abbia le voci corrette nei DNS del nostro provider. | ||
# Mailman è distribuito con un front-end in HTML, quindi occorre che sul nostro server ci sia configurato Apache. | |||
== Installazione == | |||
Per l'installazione procediamo come sempre: | |||
<pre> | |||
# apt-get install mailman listadmin | |||
</pre> | |||
Durante l'installazione avremo questo output: | |||
<pre> | |||
Languages to support: <-- it (Italiano) | |||
Missing site list | |||
Mailman needs a so-called "site list", which is the list from which password reminders and such are sent out from. This list needs to be created before mailman will start. To create the list, run "newlist mailman" and follow the instructions on-screen. Note that you also need to start mailman after that, using /etc/init.d/mailman start. <-- Ok | |||
</pre> | |||
Mailman è distribuito con un file di configurazione di Apache, <code>/etc/mailman/apache.conf</code>, che dovremo copiare in <code></code>/etc/apache2/sites-available/mailman.conf: | |||
<pre> | |||
# cp /etc/mailman/apache.conf /etc/apache2/sites-available/mailman.conf | |||
</pre> | |||
Apriamo il file: | |||
<pre> | |||
# nano /etc/apache2/sites-available/mailman.conf | |||
</pre> | |||
e aggiungiamo questa configurazione (NOTA: è già presente un Virtual Host. Non va utilizzato, poichè la configurazione che useremo è differente) | |||
<pre> | |||
# Configurazione di Mailman per Apache | |||
####################################### | |||
<VirtualHost *:80> | |||
ServerName lists.example.com | |||
DocumentRoot /var/www/lists | |||
ErrorLog /var/log/apache2/lists-error.log | |||
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 /usr/share/images/mailman/> | |||
AllowOverride None | |||
Order allow,deny | |||
Allow from all | |||
</Directory> | |||
<Directory /var/lib/mailman/archives/> | |||
Options FollowSymLinks | |||
AllowOverride None | |||
</Directory> | |||
Alias /pipermail/ /var/lib/mailman/archives/public/ | |||
Alias /images/mailman/ /usr/share/images/mailman/ | |||
ScriptAlias /cgi-bin/mailman/ /usr/lib/cgi-bin/mailman/ | |||
ScriptAlias /admin /usr/lib/cgi-bin/mailman/admin | |||
ScriptAlias /admindb /usr/lib/cgi-bin/mailman/admindb | |||
ScriptAlias /confirm /usr/lib/cgi-bin/mailman/confirm | |||
ScriptAlias /create /usr/lib/cgi-bin/mailman/create | |||
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> | |||
</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]] |
contributo