Práctica Instalación y Configuración de Mailman en profesordeinformatica.com

Práctica Instalación y Configuración de Mailman

Por Aitor López de Aberasturi el Lunes, 23 de Junio de 2014 0 Comentarios

Para esta práctica vamos a instalar Mailman que es una lista de distribución libre. Además vamos a instalar el servidor web Apache para administrar la lista y registrarnos de forma web y Posfix como agente MTA para el envío de correos electrónicos.

1.- Instalamos Mailman:

apt-get install mailman apache2 

Elegimos como idioma el español.

2.- Instalamos y configuramos Apache:

apt-get install mailman apache2 

Copiamos el fichero de configuración de apache /etc/mailman/apache.conf en sites-availables:

cp /etc/mailman/apache.conf /etc/apache2/sites-available/mailman.conf 

Editamos el servidor virtual al final de /etc/apache2/sites-available/mailman.conf:

< VirtualHost *:80> 
ServerName lists.profesordeinformatica.com 
DocumentRoot /var/www/lists 
ErrorLog /var/log/apache2/lists-error.log 
CustomLog /var/log/apache2/lists-access.log combined 

< 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 /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> 

Creamos el directorio y habilitamos el sitio mailman:

mkdir /var/www/lists 
a2ensite mailman.conf 
/etc/init.d/apache2 restart 

Añadimos al servidor de DNS o a /etc/hosts el dominio lists.profesordeinformatica.com

3.- Configuramos mailman

Configuramos el fichero /etc/mailman/mm_cfg.py para que haga referencia al dominio lists.profesordeinformatica.com). Modificamos las siguientes líneas

DEFAULT_URL_PATTERN = 'http://%s/' 
DEFAULT_EMAIL_HOST = 'lists.profesordeinformatica.com' 
DEFAULT_URL_HOST = 'lists.profesordeinformatica.com' 

4.- Instalamos y configuramos Postfix

Instalamos Postfix. Como servidor de correo ponemos lists.profesordeinformatica.com:

apt-get install postfix 

Ejecutamos:

postconf -e 'relay_domains = lists.profesordeinformatica.com' 
postconf -e 'mailman_destination_recipient_limit = 1' 

Editamos el fichero /etc/postfix/master.cf y comprobamos que tenemos estas líneas por defecto:

mailman   unix  -       n       n       -       -       pipe 
  flags=FR user=list argv=/usr/lib/mailman/bin/postfix-to-mailman.py 
  ${nexthop} ${user} 

5.- Asociar lista al transporte:

Ahora tenemos que asociar el dominio lists.profesordeinformatica.com al transporte de mailman. Esto se puede hacer de 2 formas:

a.- Transporte en una base de datos Mysql

b.- Transporte en el fichero /etc/postfix/transport (lo que vamos a hacer en nuestro caso)

a.- Tranportando en una base de datos mysql Si hemos creado usuarios y dominios virtuales con Postfix, Courierm Mysql y squirrelmail puedes crear lo crear un log del transporte de la siguiente forma:

mysql -u root -p 
USE mail; 
INSERT INTO `transport` (`domain`, `transport`) VALUES ('lists.profesordeinformatica.com', 'mailman:'); 
quit; 

Reiniamos el Postfix:

/etc/init.d/postfix restart 

b.- Transporte en /etc/postfix/transport

Ejecutamos:

postconf -e 'transport_maps = hash:/etc/postfix/transport' 

Editamos /etc/postfix/transport y añadimos la siguiente línea:

lists.profesordeinformatica.com      mailman: 

Ejecutamos:

postmap -v /etc/postfix/transport 

Reiniciamos Postfix:

/etc/init.d/postfix restart 

6.- Creamos las listas de mailman

Es obligatorio crear las listas de Mailman para que se pueda ejecutar. Para ello, vamos a ejecutar el siguiente comando:

newlist --urlhost=lists.profesordeinformatica.com --emailhost=lists.profesordeinformatica.com mailman 

Nos pide el correo electrónico y el password de la lista y nos crea la lista.

Indique la dirección de correo de la persona que gestionará la lista: aitor@kaixo.com 
Clave inicial de mailman: 
Para terminar de crear su lista de distribución, 
tiene que editar el fichero /etc/aliases (o equivalente) 
añadiendo las siguientes líneas y ejecutando posiblemente el 
programa `newaliases': 

## lista de distribución 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" 

	Presione el retorno de carro para notificar al propietario de la lista mailman... 
	Editamos el fichero /etc/aliases y añadimos las siguientes líneas (por cada nueva lista que se quiera crear): 

## 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" 

Ejecutamos:

newaliases 

Reiniciamos postfix:

/etc/init.d/postfix restart 

Reiniciamos Mailman :

/etc/init.d/mailman start 

Probamos accediendo al navegador con http://lists.profesordeinformatica.com . Ya nos podemos inscribir a la lista.

Para administrar la lista accederemos a http://lists.profesordeinformatica.com/admin.



Sobre el profe

Esta es la página web de Aitor Lopez de Aberasturi profesor de informática en ITS Ciudad Jardin. También puedes visitar mi blog de clase.