4. Configuración de correo

OpenBSD incluye una versión auditada de sendmail, para usarla con una configuración por defecto que permite enviar y recibir correos a otras máquinas, agregue la siguiente línea a /etc/rc.conf.local:

sendmail_flags="-L sm-mta -C/etc/mail/sendmail.cf -bd -q30m"
    

Con esta configuración sendmail funcionará como MTA y esperará conexiones SMTP en el puerto 25 y en el puerto 587 (el segundo se espera que sea empleado por usuarios locales y que esté bloqueado al exterior, mientras que el primero por usuarios que deseen reenviar correo desde otros computadores).

La bitacora queda en /var/log/mailman, registra cada envio y recepción de correo. Aunque puede aumentarse el nivel de detalle en la depuración cambiando las opciones de arranque por:

sendmail_flags="-L sm-mta -C/etc/mail/sendmail.cf -bd -q30m -D /var/log/maildeb -X/var/log/maildeb2 -O LogLevel=10"
	  

que enviará el máximo de detalle de cada transmisión al archivo /var/log/maildeb2

A continuación se presenta una prueba a este servicio:

$ telnet localhost 25
Trying ::1...
Connected to localhost.
Escape character is '^]'.
220 amor.miescuela.edu.co ESMTP Sendmail 8.13.8/8.13.3; Mon, 16 Oct 2006 12:42:41 -0500 (COT)
HELO localhost
250 amor.miescuela.edu.co Hello pablo@localhost [IPv6:::1], pleased to meet you
MAIL FROM: <pablo@localhost>
250 2.1.0 <pablo@localhost>... Sender ok
RCPT TO: <pablo@localhost>
250 2.1.5 <pablo@localhost>... Recipient ok
DATA
354 Enter mail, end with "." on a line by itself
1 2 3
probando
.
250 2.0.0 k9GHgf1q019958 Message accepted for delivery
quit
221 2.0.0 amor.miescuela.edu.co closing connection
Connection closed by foreign host.
	  

4.1. Relevo de Correo

Como se explica en el FAQ de OpenBSD, si planea emplear su servidor para hacer relevo de correo (relay), basta que agregue los dominios o IPs de las cuales recibir correo para reenviar en el archivo /etc/mail/relay-domains (o el que la siguiente instrucción indique: grep relay-domains /etc/mail/sendmail.cf ) Un ejemplo de tal archivo es:

miescuela.edu.co  # Acepta de todos los computadores del dominio
192.168.1  # Acepta de todos las IPs de la forma 192.168.1.x

4.2. SMTP-AUTH y TLS

El protocolo estándar para enviar correo a un servidor es SMTP, el cual no ofrece posibilidades de autenticación ni encripción. Una extensión a este protocolo es SMTP-AUTH (descrita en el RFCs 2554), la cual se basa en SASL (Simple Authentication and Security Layer, RFC 2222) y que permite autenticar antes de aceptar un correo por enviar.

LOGIN y PLAIN son dos de los diversos métodos que SMTP-AUTH puede emplear para recibir información de autenticación, como estos métodos transmiten identificaciones y claves en forma prácticamente plana, es necesario emplear bien una conexión sobre SSL o bien TLS que es otra extensión a SMTP.

Aunque sendmail soporta tanto TLS como SMTP-AUTH, la configuración por defecto de OpenBSD 4.0 no los incluye. En el caso de TLS lo incluido en el sistema base es suficiente y el procedimiento de configuración se documenta en man starttls. En cuanto a SMTP-AUTH se requiere una implementación de SASL, pero no hay ninguna incluida en el sistema base por lo que es necesario emplear el paquete cyrus-sasl.

4.2.1. SASL

Para contar con el servicio SASL en su servidor (que puede ser usado por diversos programas entre los que está sendmail), instale el paquete cyrus-sasl y cree el archivo /usr/local/lib/sasl2/Sendmail.conf para que contenga:

pwcheck_method: saslauthd

con lo que indica que desde sendmail, Cyrus-SASL debe emplear el servidor saslauthd. Para realizar la autenticación, Cyrus-SASL puede configurarse con diversas fuentes de información (e.g LDAP, bases de datos), puede iniciarlo indicando que desea emplear las funciones estándar de autenticación de OpenBSD con:

# mkdir /var/sasl2
# /usr/local/sbin/saslauthd -a getpwent

Para que este servicio se inicie en cada arranque agregue en /etc/rc.local:

pgrep saslauthd > /dev/null
if [ "$?" != "0" -a X"$saslauthd_flags" != X"NO" -a -x /usr/local/sbin/saslauthd
 ]; then
	echo -n ' saslauthd';
       	mkdir -p /var/sasl2
       	/usr/local/sbin/saslauthd ${saslauthd_flags}
fi

y en /etc/rc.conf.local:

saslauthd_flags="-a getpwent"

Si lo requiere puede iniciar este servicio en modo de depuración (en primer plano y enviando a salida estándar bastante información) con:

# /usr/local/sbin/saslauthd -a getpwent -d

Una vez este funcionado este servicio (al examinarlo con ps se ve que inicia varios procesos) puede probar que esté autenticado usuarios con

$ testsaslauthd -u usuario -p clave

4.2.2. ESMTP

Al agregar a SMTP protocolos como TLS y AUTH-SMTP el nuevo protocolo toma el nombre ESMTP. Para extenderlo en OpenBSD debe recompilar sendmail y debe emplear su propio archivo de configuración.

Dado que TLS requiere un certificado SSL, si tiene uno ya firmado por una autoridad certificadora déjelo en /etc/mail/certs o genere uno autofirmado (como se explica en man starttls):

# mkdir /etc/mail/certs
# openssl dsaparam 1024 -out dsa1024.pem
# openssl req -x509 -nodes -days 3650 -newkey dsa:dsa1024.pem \
  -out /etc/mail/certs/mycert.pem -keyout /etc/mail/certs/mykey.pem
# ln -s /etc/mail/certs/mycert.pem /etc/mail/certs/CAcert.pem
# rm dsa1024.pem
# chmod -R go-rwx /etc/mail/certs
	

Para recompilar sendmail, si aún no lo ha hecho, debe descargar y actualizar a las fuentes más recientes:

# cd /root/tmp
# ftp $PKG_PATH/../../src.tar.gz
# cd /usr
# mkdir src
# cd src
# tar xvfz /root/tmp/src.tar.gz
# for i in `find . -name CVS`; do echo $i; 
> echo "anoncvs@anoncvs1.ca.openbsd.org:/cvs" > $i/Root;
> done
# cvs -z3 update -Pd -rOPENBSD_4_0

Después indique que desea recompilar sendmail con soporte para autenticación creando o editando el archivo /etc/mk.conf para que incluya:

WANT_SMTPAUTH = yes

Recompile e instale sendmail con:

# cd /usr/src/gnu/usr.sbin/sendmail
# make clean
# make
# make install

Finalmente cree un nuevo archivo de configuración a partir del estándar:

# cd /usr/src/gnu/usr.sbin/sendmail/cf/cf
# cp openbsd-proto.mc openbsd-proto-local.mc

En el nuevo openbsd-proto-local.mc después de la línea OSTYPE(openbsd)dnl agregue:

	define(`CERT_DIR',        `MAIL_SETTINGS_DIR`'certs')
	define(`confCACERT_PATH', `CERT_DIR')
	define(`confCACERT',      `CERT_DIR/CAcert.pem')
	define(`confSERVER_CERT', `CERT_DIR/mycert.pem')
	define(`confSERVER_KEY',  `CERT_DIR/mykey.pem')
	define(`confCLIENT_CERT', `CERT_DIR/mycert.pem')
	define(`confCLIENT_KEY',  `CERT_DIR/mykey.pem')

y después de la línea FEATURE(`no_default_msa')dnl:

	define(`confAUTH_MECHANISMS',`PLAIN LOGIN CRAM-MD5 DIGEST-MD5')dnl
	TRUST_AUTH_MECH(`PLAIN LOGIN CRAM-MD5 DIGEST-MD5')dnl
	dnl define(`confAUTH_OPTIONS',`p,y')dnl
	define(`confPRIVACY_FLAGS',`authwarnings,goaway')

Note que esta comentada la línea confAUTH_OPTIONS (pues comienza con dnl), para facilitar hacer pruebas pero debe quitar el comentario posteriormente para que los métodos PLAIN y LOGIN de SMTP-AUTH sólo funcionen con TLS.

Verifique también que estén las siguientes líneas:

DAEMON_OPTIONS(`Family=inet, Address=0.0.0.0, Name=MTA')dnl
DAEMON_OPTIONS(`Family=inet, Address=0.0.0.0, Port=smtps, Name=TLSMTA')dnl 
DAEMON_OPTIONS(`Family=inet6, Address=::, Name=MTA6, M=s')dnl
DAEMON_OPTIONS(`Family=inet6, Address=::, Port=smtps, Name=MTA6, M=s')dnl
	

y en su archivo /etc/services agregue:

smtps           465/tcp    #protocolo smtp sobre TLS/SSL
	

Para habilitar el comando STARTTLS (que inicia encripción) en el servidor estándar del puerto 25 y otro servidor que sólo acepta conexiones encriptadas en el puerto 465.

Finalmente emplee el nuevo archivo de configuración y reinicie sendmail:

# make openbsd-proto-local.cf
# install -c -o root -g wheel -m 644 openbsd-proto-local.cf /etc/mail/sendmail.cf
# pkill sendmail
# . /etc/rc.conf
# sendmail $sendmail_flags
	

Dependiendo de su configuración para compilar fuentes la segunda línea podría ser:

# install -c -o root -g wheel -m 644 obj/openbsd-proto-local.cf /etc/mail/sendmail.cf

4.2.3. Pruebas

Inicie un diálogo con sendmail con:

# sendmail -O LogLevel=20 -bs -Am
220 correo.miescuela.edu.co ESMTP Sendmail 8.13.8/8.13.4; Wed, 13 Jul 2005 15:16:26 -0500 (COT)

EHLO LOCALHOST

250-correo.miescuela.edu.co Hello root@localhost, pleased to meet you
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-8BITMIME
250-SIZE
250-DSN
250-ETRN
250-AUTH PLAIN LOGIN CRAM-MD5 DIGEST-MD5
250-STARTTLS
250-DELIVERBY
250 HELP

	

Note que deben aparecer las líneas STARTTLS y AUTH. Para autenticarse debe dar una identificación y una clave válida en el sistema pero codificadas en base 64. Puede emplear la interfaz CGI disponsible en http://makcoder.sourceforge.net/demo/base64.php o eventualmente el programa disponible en http://www.sendmail.org/~ca/email/prgs/ed64.c que puede compilar y usar así:

# cd /root/tmp
# ftp http://www.sendmail.org/~ca/email/prgs/ed64.c
# cc -o ed64 ed64.c
# ed64 -e
MiUsuario
TWlVc3Vhcmlv
MiClave
TWlDbGF2ZQ==

Retomando la sesion con sendmail y usando estos datos:

AUTH LOGIN
334 VXNlcm5hbWU6
TWlVc3Vhcmlv
334 UGFzc3dvcmQ6
TWlDbGF2ZQ==
235 2.0.0 OK Authenticated

puede intentar el envio de un correo por ejemplo con:

MAIL FROM:<pablo@miescuela.edu.co>
250 OK                                                                          
RCPT TO:<pedro@miescuela.edu.co>
250 Accepted                                                                    
DATA                                                                            
354 Enter message, ending with "." on a line by itself                          
From: "pablo@miescuela.edu.co" <pablo@miescuela.edu.co>
To:  pedro@miescuela.edu.co
Subject: probando

1234                                                                            
.                                                                               
250 OK id=1GZXFP-000540-7J                                                      
QUIT                                                                            

De requerirlo puede rastrear problemas en /var/log/maillog y/o intentar el protocolo descrito de forma remota (o también local) con:

telnet correo.miescuela.edu.co 25
220 correo.miescuela.edu.co ESMTP Sendmail 8.13.8/8.13.4; Wed, 13 Jul 2005 15:16:26 -0500 (COT)

EHLO [200.21.23.4]

y remplazando 200.21.23.4 por la IP desde la inicia la conexión.

Si desea probar el método PLAIN, con ed64 emplee:

MiUsuario\0MiUsuario@pasosdejesus.org\0MiClave
TWlVc3VhcmlvAE1pVXN1YXJpb0BwYXNvc2RlamVzdXMub3JnAE1pQ2xhdmU=
	

y al dialogar en SMTP:

AUTH PLAIN TWlVc3VhcmlvAE1pVXN1YXJpb0BwYXNvc2RlamVzdXMub3JnAE1pQ2xhdmU= 
	

También puede probar el servicio del puerto 465 con la misma secuencia, pero iniciando con:

openssl s_client -connect localhost:465
	

4.2.4. Configuración del cliente de correo (MUA)

Dependiendo de su cliente de correo será posible emplear los nuevos protocolos. Por ejemplo mozilla-thunderbird lo soporta, basta que en la configuración del servidor SMTP indique que debe emplearse un usuario y que emplee TLS (puede usar tanto el puerto 25 como el 465). Tenga en cuenta que el nombre del usuario con el cual autenticarse debe incluir el dominio (e.g pablo@miescuela.edu.co).

4.3. Cambiar puerto SMTP

Si desea cambiar el puerto en el que sendmail espera conexiones SMTP, emplee las fuentes del sistema:

# cd /usr/share/sendmail/cf
# vi openbsd-proto.mc

Busque y modifique la línea:

DAEMON_OPTIONS(`Family=inet, Address=0.0.0.0,  Name=MTA')dnl
DAEMON_OPTIONS(`Family=inet6, Address=::,  Name=MTA6, M=O')dnl

agregandoles un puerto no estándar:

DAEMON_OPTIONS(`Family=inet, Address=0.0.0.0, Port=2000,  Name=MTA')dnl
DAEMON_OPTIONS(`Family=inet6, Address=::, Port=2000,  Name=MTA6, M=O')dnl

Después genere el archivo de configuración /etc/mail/sendmail.cf con:

# make
# make distribution
	

finalmente reinicie sendmail o envíele una señal para que lea nuevamente archivos de configuración:

# pkill -HUP sendmail
	

4.4. Dominios virtuales

Si un mismo servidor atiende diversos dominios DNS, puede lograr que se acepte correo para cada dominio. Para esto:

  • Asegurese de tener un registro MX para el dominio que indique que su servidor es el servidor de correo del dominio. i.e en el archivo maestro del dominio (digamos /var/named/master/miescuela.edu.co) algo como:

    	MX      5       correo.miescuela.edu.co.
    	correo          IN      A       65.167.89.169
    
    	

    ¡No omita el punto que va a continuación del nombre del servidor MX!

  • Agregue el dominio (e.g miescuela.edu.co) a los archivos /etc/local-host-names y /etc/mail/relay-domains

  • Reinicie sendmail con:

    pkill -HUP sendmail
    				

Con esta configuración todo correo a una dirección de la forma pablo@miescuela.edu.co será enviado a la cola de correos del usuario local pablo. Si lo requiere es posible agregar direcciones que se envíen a otro usuario local, agregando entradas al archivo /etc/mail/virtusertable, por ejemplo:

info@miescuela.edu.co	pablo
		

reenviará todo correo dirigido a info@miescuela.edu.co al usuario local pablo.

4.5. POP3

POP3 (Post Office Protocol) es un protocolo que permite sacar correos de un servidor para llevarlos a otro computador donde podrán examinarse con un MUA.

Para que los usuarios puedan emplear clientes de correo que soporten POP3, es necesario configurar un servidor de este protocolo. OpenBSD incluye entre sus componente básicos un servidor de POP3 (popa3d), que puede activar agregando la siguiente línea al archivo /etc/inetd.conf:

pop3           stream  tcp     nowait  root    /usr/sbin/popa3d        popa3d
      

y reinicie el servicio inetd con:

pkill -HUP inetd
      

Tenga en cuenta que POP3 transmite claves como texto plano y estas podrían ser interceptadas. Para remediar la situación, si cuenta con un cliente de correo que soporte POP3 sobre SSL, es posible emplear el protocolo POP3S, que es el mismo POP3 pero encriptado con SSL utilizando el paquete courier-pop3 como se explica a continución.

4.6. POP3S E IMAPS

Instale los paquetes courier-imap, courier-ldap, courier-pop3 y courier-utils. Todos estos paquetes se configuran en el directorio /etc/courier. Después de instalarlos copie los archivos de configuración de ejemplo:

# cp /usr/local/share/examples/courier/* /etc/courier
      

y editelos.

En imapd por lo menos debe cambiar:

IMAPDSTART=YES
MAILDIRPATH=maildir
      

En pop3d

POP3DSTART=YES
MAILDIRPATH=maildir
      

Para emplear SSL requiere certificados. certificados firmados por Autoridades Certificadores debe generar certificados autofirmados, para esto modifique la información de los archivos imapd.cnf y pop3d.cnf y ejecute:

# mkimapdcert
# mkpop3dcert
      

Aunque estos scrpits crearan ceritificados válidos por un año (si los requiere por más tiempo puede por ejemplo editarlos).

En caso de que si tenga un certificado firmado, puede emplearlo por ejemplo si desea emplear el mismo certificado que usa para su servidor web, ejecute ([courier-cert]):

cd /etc/ssl/private
cat server.key ../server.crt > imapd.pem
openssl gendh >> imapd.pem
	      

4.6.1. POP3-SSL

Para iniciar POP3S ejecute:

sudo mkdir -p /var/run/courier
sudo /usr/local/libexec/pop3d-ssl.rc start
      

líneas que se recomienda agregue a /etc/rc.local si planea prestar servicio continuo (y abrir el puerto apropiado del cortafuegos, ver a continuación).

Para detener POP3S:

sudo /usr/local/libexec/pop3d-ssl.rc stop
      

POP3 usa por defecto el puerto 110, al encriptarse sobre SSL es estándar emplear el puerto 995. Para abrir ese puerto en el cortafuegos en /etc/pf.conf podría emplear una línea de la forma:

pass in on $ext_if proto tcp to ($ext_if) port pop3s keep state
      

Puede probar el funcionamiento del servidor con:

$ openssl s_client -connect localhost:995 
      

Una sesión típica puede ser:

+OK Hello there.
user ejem2
+OK Password required.
pass ejem2
+OK logged in.
list
+OK POP3 clients that break here, they violate STD53.
1 17559
2 1128
3 2430
. 
      

4.6.2. IMAP-SSL

Para iniciar IMAPS:

sudo mkdir -p /var/run/courier
sudo /usr/local/libexec/imapd-ssl.rc start
      

y para detenerlo:

sudo /usr/local/libexec/imapd-ssl.rc stop
      

Por esto se recomienda agregar a /etc/rc.conf.local:

imapdssl_flags="start" 
      

en /etc/rc.local:

pgrep couriertcpd > /dev/null
if (test "$?" != "0" -a X"$imapdssl_flags" != X"NO" ) then {
	echo -n ' imapd-ssl';
	mkdir -p /var/run/courier/
	/usr/local/libexec/imapd-ssl.rc $imapdssl_flags
} fi;
      

y en /etc/rc.shutdown:

if [ -f /var/run/courier/imapd-ssl.pid ]; then
	/usr/local/libexec/imapd-ssl.rc stop
	rm /var/run/courier/imapd-ssl.pid
fi
      

En conexiones no encriptadas emplea el puerto 143, y para conexiones sobre SSL el puerto 993 es estándar. Puede probarlo de manera análoga a POP3, aunque el protocolo es diferente:

$ openssl s_client -connect localhost:993
...

AB LOGIN pablo MiClave
AB OK LOGIN Ok.
BC SELECT "Inbox"
* FLAGS (\Draft \Answered \Flagged \Deleted \Seen \Recent)
* OK ![PERMANENTFLAGS (\* ...
* 19 EXISTS
* 19 RECENT
* OK [UIDVALIDITY 1119870003] Ok
* OK [MYRIGHTS "acdilrsw"] ACL
BC OK [READ-WRITE] Ok
ZZZZ LOGOUT
* BYE Courier-IMAP server shutting down
ZZZZ OK LOGOUT completed

4.6.3. Acoplamiento con Sendmail

Para usar IMAP es indispensable que el correo se almacenado en formato Maildir. Hay diversos métodos para lograr que sendmail guarde en ese formato, una sencilla solución que no requiere mayores cambios es emplear para esto procmail.

Instale el paquete procmail y en la cuenta de cada usuario que vaya a usar POP3S o IMAPS con autenticación LDAP cree los archivos .forward y .procmailrc, análogos a los siguientes (suponemos que se trata del usuario pablo):

  • En /home/pablo/.forward

    "| exec /usr/local/bin/procmail"
          

  • En /home/pablo/.procmailrc

    LINEBUF=4096
    #VERBOSE=on
    PMDIR=/home/pablo/
    MAILDIR=$PMDIR/maildir/
    FORMAIL=/usr/local/bin/formail
    SENDMAIL=/usr/sbin/sendmail
    #LOGFILE=$PMDIR/log
    
    :0
    * .*
    /home/pablo/maildir/
          

  • Deje además listo un directorio en formato Maildir en /home/pablo/maildir con:

    	      maildirmake /home/pablo/maildir
    	      chown -R pablo:estudiante /home/pablo/maildir
          

De esta forma cada vez que sendmail reciba un correo para el usuario local pablo, ejecutará la línea del archivo /home/pablo/.forward, la cual a su vez ejecutará procmail para procesar el correo que llega por entrada estándar. procmail empleará la configuración de /home/pablo/.procmailrc que le indica guardar todo correo que llegue a la cuenta en /home/pablo/maildir/ (como se trata de un directorio, procmail identifica que debe salvar en formato Maildir, si fuera un archivo agregaría en formato MBOX). El usuario pablo podría probar su archivo de configuración de procmail modificando ~/.procmail para quitar el comentario de la línea

VERBOSE=on
      

y ejecutando:

$ cd /home/pablo
$ procmail 
Mensaje de prueba
Terminelo con Control-D
.
procmail: [21024] Fri Jul  1 18:32:30 2005
procmail: Assigning "PMDIR=/home/pablo/"
procmail: Assigning "MAILDIR=/home/pablo//maildir/"
procmail: Assigning "FORMAIL=/usr/local/bin/formail"
procmail: Assigning "SENDMAIL=/usr/sbin/sendmail"
procmail: Assigning "LOGFILE=/home/pablo/log"

Tras lo cual debe encontrar un nuevo archivo en maildir/new con el mensaje de prueba.

4.7. Openwebmail

Para instalar openwebmail en un servidor OpenBSD que ya tenga sendmail corriendo hay que tener en cuenta:

  • Aunque es buena práctica montar el directorio /var/ con la opción nosuid para que no admita archivos ejecutables SUID en esta partición, openwebmail requiere eliminar esta restricción. Entonces si el archivo /etc/fstab tiene una línea como:

    /dev/wd0e /var ffs rw,nodev,nosuid 1 2
    

    debe editarlo para que quede:

    /dev/wd0e /var ffs  rw,nodev   1 2
    

    Reinicie después de hacer este cambio, o emplee:

    mount -u -o rw,nodev /var
    

  • Descargue e instale el paquete openwebmail con pkg_add openwebmail-x.tgz . Este programa es un CGI escrito en Perl, el paquete para OpenBSD depende, entre otros, de varias librerías para perl y crea el grupo _mail.

  • Una vez instalado se revisan los permisos de los archivos presentes en el directorio /var/www/cgi-bin/openwebmail. Los archivos *.pl deben tener estos permisos -r-sr-xr-x Para lograrlo haga:

    chmod 4555 /var/www/cgi-bin/openwebmail/*.pl
    

  • El dueño de estos archivos debe ser root y debe pertenecer al grupo _mail, por tanto hacer:

    chown root._mail  /var/www/cgi-bin/openwebmail/*.pl
    

  • Para cada usuario del sistema hay que crear su carpeta de correo con permisos 600 y dueño usuario. usuario. Hacer:

    touch /var/mail/usuario
    chmod 600 /var/mail/usuario
    chown usuario.usuario /var/mail/usuario
    	  

4.8. Instalando Mailman (no chroot)

Instalar paquete de mailman pkg_add $PKG_PATH/mailman.tgz que requiere python-2.3.6p0 se crean automáticamente el grupo _mailman y el usuario _mailman

Leer /usr/local/share/doc/mailman/README.OpenBSD

Editar /var/www/conf/httpd.conf agregando la linea:

ScriptAlias /mailman/ "$mailmandir/cgi-bin/"

donde $mailmandir es /usr/local/lib/mailman/ agregar también:

<Directory "/usr/local/lib/mailman/cgi-bin">
    AllowOverride None
    Options None
    Order allow,deny
    Allow from all
</Directory>

además agregar las lineas:

Alias /pipermail/ "/var/spool/mailman/archives/public/"

<Directory "/var/spool/mailman/archives/public/">
        Options FollowSymLinks
        AddDefaultCharset Off
</Directory>

al mismo archivo.

Copiar los iconos: cp /usr/local/lib/mailman/icons/* /var/www/icons/ Reiniciar el apache para que cargue los cambios.

apachectl stop
. /etc/rc.conf.local
httpd $httpd_flags

editar el archivo /usr/local/lib/mailman/Mailman/mm_cfg.py agregando las lineas

DEFAULT_EMAIL_HOST = 'dominio.net'
DEFAULT_URL_HOST = 'www.dominio.net'
DEFAULT_URL_PATTERN = 'http://%s/mailman/'
add_virtualhost(DEFAULT_URL_HOST, DEFAULT_EMAIL_HOST)

Crear primera lista llamada mailman

/usr/local/lib/mailman/bin/newlist mailman

agregar a /etc/mail/aliases las lineas:

## mailman mailing list
mailman:              "|/usr/local/lib/mailman/mail/mailman post mailman"
mailman-admin:        "|/usr/local/lib/mailman/mail/mailman admin mailman"
mailman-bounces:      "|/usr/local/lib/mailman/mail/mailman bounces mailman"
mailman-confirm:      "|/usr/local/lib/mailman/mail/mailman confirm mailman"
mailman-join:         "|/usr/local/lib/mailman/mail/mailman join mailman"
mailman-leave:        "|/usr/local/lib/mailman/mail/mailman leave mailman"
mailman-owner:        "|/usr/local/lib/mailman/mail/mailman owner mailman"
mailman-request:      "|/usr/local/lib/mailman/mail/mailman request mailman"
mailman-subscribe:    "|/usr/local/lib/mailman/mail/mailman subscribe mailman"
mailman-unsubscribe:  "|/usr/local/lib/mailman/mail/mailman unsubscribe mailman"

Regenerar alias con newaliases

Poner en el crontab algunas lineas:

crontab -u _mailman  /usr/local/lib/mailman/cron/crontab.in

Reiniciar mailman:

/usr/local/lib/mailman/bin/mailmanctl start

Hacer que cada vez que se inicie el equipo corra mailman, agregnado al archivo /etc/rc.local las lineas:

if [ X"$mailmanctl_flags" != X"NO" -a  \
	-x /usr/local/lib/mailman/bin/mailmanctl ]; then
          echo -n ' mailman'
          /usr/local/lib/mailman/bin/mailmanctl $mailmanctl_flags
fi

y en /etc/rc.conf.local:

mailmanctl_flags="-s -q start"

Asignar password al sitio de mailman con

	/usr/local/lib/mailman/bin/mmsitepass

4.8.1. Lecturas recomendadas

/usr/local/share/doc/mailman/README.OpenBSD