El paquete Courier contiene un Agente de Transporte de Correo (MTA). Es útil para enviar correo a otros usuarios de tu máquina. También puede configurarse como servidor central de correo para tu dominio o como agente de reenvio de correo. El paquete Courier incluye también una interfaz de correo basada en web, IMAP, IMAP-SSL , POP3, y POP 3-SSL.
Descarga (HTTP): http://prdownloads.sourceforge.net/courier/courier-0.45.5.tar.bz2
Tamaño del paquete: 4.2 MB
Estimación del espacio necesario en disco: 114 MB
Tiempo estimado de construcción: 3.00 SBU
Antes de compilar el programa, necesitas crear los usuarios y grupos que se espera encontrar cuando se ejecute el guión de instalación. Añade los usuarios y grupos con los siguientes comandos:
groupadd courier &&
useradd -c 'Servidor de Correo Courier' -d /dev/null -g courier -s /bin/false courier
También necesitas crear un usuario bin. Si ya tienes un usuario de nombre bin, puedes ignorar este paso.
useradd -c 'bin' -d /dev/null -g bin -u 1 bin
Esto crea un directorio /var/run/courier en el que residirán todos los ficheros pid de Courier MTA. Esto permitirá que se cree courierfilter.pid. Sin courierfilter en ejecución, el MTA Courier no funcionará. Ejecuta el siguiente comando para crear /var/run/courier:
mkdir /var/run/courier &&
chown courier:courier /var/run/courier
Instala courier ejecutando los siguientes comandos:
./configure --prefix=/usr --libexecdir=/usr/lib/courier \
--datadir=/usr/share/courier --sysconfdir=/etc/courier \
--localstatedir=/var/lib/courier --with-piddir=/var/run/courier \
--disable-root-check --with-mailuser=courier --with-mailgroup=courier \
--with-paranoid-smtpext --disable-autorenamesent \
--enable-workarounds-for-imap-client-bugs --with-db=gdbm &&
make &&
make install &&
make install-configure
--libexecdir=/usr/lib/courier: Especifica el directorio que contiene los programas y librerías que no pueden ejecutarse en la línea de comandos.
--datadir=/usr/share/courier: Especifica el directorio en el que se instalarán los diversos guiones del intérprete de comandos, guiones de Perl y ficheros de datos.
--localstatedir=/var/spool/courier: Especifica el directorio que contendrá la cola de correo y otros datos temporales.
--with-piddir=/var/run/courier: Especifica el directorio en el que se guardará el fichero PID de Courier cuando Courier esté activo.
--disable-root-check: Permite que Courier sea construido como usuario root.
--with-mailuser=courier: Todos los demonios de Courier excepto dos se ejecutan como usuario sin priviliegios. Esta opción especifica el identificador de usuario con el que Courier se instalará y ejecutará.
--with-mailgroup=courier: como --with-mailuser, pero especifica el ID del grupo.
--with-paranoid-smtpext: Ser paranoico cuando se negocian extensiones ESMTP específicas de Courier con servidores remotos. El servidor de correo Courier define e implementa ciertas extensiones ESMTP experimentales: XVERP y XEXDATA. Los problemas pueden aparecer en el caso de que alguien use los mismos nombres para implementar alguna otra extensión. Si se especifica esta opción, el servidor ESMTP de Courier advierte sobre una falsa capacidad ESMTP llamada XCOURIEREXTENSIONS, y no reconocerá ninguna extensión propia de Courier a no ser que el servidor de correo remoto también advierta sobre esta falsa capacidad ESMTP.
--disable-autorenamesent: No renombra la carpeta de Enviado cada mes. Esta opción se puede controlar también con la variable de entorno SQWEBMAIL_AUTORENAMESENT.
--enable-workarounds-for-imap-client-bugs: Hay varios errores confirmados en algunos clientes IMAP que no implementan correctamente el protocolo IMAP4rev1. Esta opción activa algunos arreglos para esos clientes IMAP erroneos. NOTA: make check fallará si se usa esta opción. Primero deberías configurar sin esta opción y, si todas las pruebas de posconfiguración tienen exito, relanzar configure con esta opción y recompilar.
--with-db=gbbm: Courier necesita que esté instalada la librería de bases de datos GDBM o DB. Si ambas están presentes se usa GDBM. Esta opción fuerza la selección de la librería de bases de datos.
--with-ispell=/usr/bin/aspell: El servidor webmail de Courier puede usar revisión gramatical, si configure encuentra ispell o si explícitamente le indicas la localización de aspell.
--enable-mimetypes=[localización del fichero mime.types]: Utiliza esta opción si aparece un error diciendo que no puede encontrar el fichero mime.types.
Haz los siguientes cambios en el fichero /etc/courier/authmysqlrc si utilizas MySQL:
MYSQL_SERVER localhost MYSQL_USERNAME courier MYSQL_PASSWORD [tu elección] MYSQL_SOCKET /tmp/mysql.sock MYSQL_PORT 3306 MYSQL_DATABASE courier-mail MYSQL_USER_TABLE users MYSQL_CLEAR_PWFIELD clear DEFAULT DOMAIN [tu dominio] MYSQL_QUOTA_FIELD quota
Si utilizas PAM:
cat > /etc/pam.d/esmtp << "EOF # Inicio de /etc/pam.d/esmtp auth required pam_unix.so try_first_pass account required pam_unix.so session required pam_unix.so # Fin de /etc/pam.d/esmtp EOF cat > /etc/pam.d/pop3 << "EOF # Inicio de /etc/pam.d/pop3 auth required pam_unix.so try_first_pass account required pam_unix.so session required pam_unix.so # Fin de /etc/pam.d/pop3 EOF cat > /etc/pam.d/imap << "EOF # Inicio de /etc/pam.d/imap auth required pam_unix.so try_first_pass account required pam_unix.so session required pam_unix.so # Fin de /etc/pam.d/imap EOF cat > /etc/pam.d/webmail << "EOF # Inicio de /etc/pam.d/webmail auth required pam_unix.so try_first_pass account required pam_unix.so session required pam_unix.so # Fin de /etc/pam.d/webmail EOF
Conectate a la base de datos MySQL:
mysql -p
Este comando creará la base de datos de autenticación:
CREATE DATABASE courier_mail;
USE courier_mail
Este comando establecerá la tabla de usuarios para la base de datos courier_mail:
CREATE TABLE users (
id char(128) DEFAULT '' NOT NULL,
crypt char(128) DEFAULT '' NOT NULL,
clear char(128) DEFAULT '' NOT NULL,
name char(128) DEFAULT '' NOT NULL,
uid int(10) unsigned DEFAULT '65534' NOT NULL,
gid int(10) unsigned DEFAULT '65534' NOT NULL,
home char(255) DEFAULT '' NOT NULL,
quota char(255) DEFAULT '' NOT NULL,
KEY id (id(128))
);
Esto añadirá el usuario courier que especificamos antes en el fichero /etc/courier/authmysqlrc:
GRANT ALL PRIVILEGES ON *.* TO courier@localhost IDENTIFIED BY '[contraseña]' WITH GRANT OPTION;
QUIT
Ajustes generales para el correo
Necesitarás crear los siguientes ficheros con el contenido indicado.
/etc/courier/defaultdomain
cat > /etc/courier/defaultdomain << "EOF" [tudominio] EOF
/etc/courier/me
cat > /etc/courier/me << "EOF" [nombredelservidor.tudominio] EOF
/etc/courier/locals
cat > /etc/courier/locals << "EOF" localhost [tudominio] EOF
/etc/courier/esmtpacceptmailfor.dir/system
cat >/etc/courier/esmtpacceptmailfor.dir/system << "EOF" localhost [tudominio] EOF
También necesitarás editar el fichero de alias y cambiar la siguiente entrada.
/etc/courier/aliases/system
postmaster: [tu dirección de correo como administrador]
Si quieres denegar el acceso para enviar correo desde algunas máquinas, necesitarás editar /etc/courier/smtpaccess/default.
Despues de completar los pasos anteriores necesitarás ejecutar los siguientes comandos:
makesmtpaccess &&
makehosteddomains &&
makealiases
Configuración SMTP/SMTMP-SSL
Esta sección activará el servidor SMTP de Courier
/etc/courier/esmtpd
ESMTPDSTART=YES
/etc/courier/esmtpd-ssl
ESMTPDSSLSTART=YES
Configuración POP3/POP3-SSL
Esta sección activará el servidor POP3 de Courier
/etc/courier/pop3d
POP3DSTART=YES
/etc/courier/pop3d-ssl
POP3DSLLSTART=YES
Configuración IMAP/IMAP-SSL
Esta sección activará el servidor IMAP de Courier
/etc/courier/imapd
IMAPDSTART=YES
/etc/courierd/imapd-ssl
IMAPDSSLSTART=YES
Creación de los directorios de correo para los usuarios del sistema
Esta sección explica cómo crear MailDirs para los usuarios de tu sistema.
cd /home/[usuario] &&
maildirmake Maildir &&
chown [usuario].[grupo] Maildir -R
Ajustes para usuarios virtuales
Esta sección explica cómo ajustar Maildir para tus usuarios virtuales.
groupadd -g 9000 vmailman &&
useradd -c 'Virtual Mailman' -g vmailman -m -k /dev/null -u 9000 vmailman
Ahora establece los directorios de correo para estos usuarios virtuales.
cd /home/vmailman &&
mkdir [usuario_virtual] &&
cd [usuario_virtual] &&
maildirmake Maildir &&
chown vmailman.vmailman Maildir -R
Conectate a la base de datos MySQL.
mysql -u courier -p
Para añadir el usuario virtual necesitas añadir al menos una versión de la contraseña, ya sea en texto plano o encriptada.
USE courier_mail
INSERT INTO users VALUES (
'[usuario_virtual]@[domain.com],
'[contraseña encriptada o en blanco]',
'[contraseña en texto plano o en blanco]',
'[Nombre del Usuario]',
9000,
9000,
'[localización de Maildir]',
'[Cuota en Bytes']
);
QUIT
Por ejemplo:
INSERT INTO users VALUES (
'blfsuser@linuxfromscratch.org',
'',
'ontraseña',
'Usuario BLFS',
9000,
9000,
'/home/vmailman/blfsuser',
''
);
Ajustes para correo basado en Web
Esta sección explica cómo ajustar el sistema de correo basado en Web de Courier.
Necesitarás copiar el fichero webmail de /usr/lib/courier/courier/webmail/webmail al directorio cgi-bin de tu servidor Apache.
cp -a /usr/lib/courier/courier/webmail/webmail /var/www/cgi-bin
Necesitarás copiar las imágenes a un directorio bajo el directorio htdocs de tu servidor Apache. El directorio debe llamarse webmail o deberás especificarlo durante la fase configure con --enable-imageurl=/url.
cp -a /usr/share/courier/sqwebmail/images /var/www/htdocs/webmail
Ajustes para administración de correo basado en Webl
Esta sección explica cómo ajustar el sistema de administración de Courier basado en Web.
Necestirás copiar el fichero webadmin de /usr/lib/courier/webmail/webadmin al directorio cgi-bin de tu servidor Apache.
cp -a /usr/lib/courier/courier/webmail/webadmin /var/www/cgi-bin
/etc/courier/webadmin/password
cat > /etc/courier/webadmin/password << "EOF" [contraseña] EOF
Si no utilizas SSL en tu servidor Apache, necesitarás añadir /etc/courier/webadmin/unsecureok para ser capaz de usar tus herramientas de administración basadas en web.
touch /etc/courier/webadmin/unsecureok
El guión de inicio que viene con el paquete Courier es el mas facil de usar. Automáticamente creará los ficheros de datos ausentes y certificados SSL si no los encuentra. Para instalar el fichero init.d de Courier necesitarás usar los siguientes comandos:
cp /usr/src/courier-0.45.5/courier.sysvinit /etc/rc.d/init.d/courier &&
chmod 754 /etc/rc.d/init.d/courier
Crea los enlaces simbólicos a este fichero en los directorios rc.d apropiados con los siguientes comandos:
cd /etc/rc.d/init.d &&
ln -sf ../init.d/courier ../rc0.d/K25courier &&
ln -sf ../init.d/courier ../rc1.d/K25courier &&
ln -sf ../init.d/courier ../rc2.d/K25courier &&
ln -sf ../init.d/courier ../rc3.d/S35courier &&
ln -sf ../init.d/courier ../rc4.d/S35courier &&
ln -sf ../init.d/courier ../rc5.d/S35courier &&
ln -sf ../init.d/courier ../rc6.d/K25courier
El paquete Courier contiene addcr, authenumerate, cancelmsg, courier, courier-config, courieresmtpd, courierfilter, courierldapaliasd, courierlogger, couriermlm, couriertcpd, couriertls, deliverquota, dotforward, esmtpd, esmtpd-msa, esmtpd-ssl, filterctl, imapd, imapd, imapd-ssl, lockmail, mailbot, maildiracl, maildirkw, maildirmake, maildrop, makeacceptmailfor, makealiases, makedat, makehosteddomains, makemime, makepercentrelay, makesmtpaccess, makesmtpaccess-msa, makeuserdb, makeuucpneighbors, mimegpg, mkesmtpdcert, mkimapdcert, mkpop3dcert, pop3d, pop3d-ssl, preline, pw2userdb, reformail, reformime, rmail, sendmail, sharedindexinstall, sharedindexsplit, showconfig, showmodules, testmxlookup, userdb, userdbpw, vchkpw2userdb y webgpg.
courier es un agente de transporte de correo multiprotocolo y modular. El comando courier es un comando administrativo y muchas de sus opciones solo están disponibles para el superusuario.
courierfilter instala o desinstala filtros globales de correo. Los filtros globales de correo se usan para bloquear selectivamente correo indeseado.
filterctl instala o desinstala filtros globales de correo. Los filtros globales de correo se usan para bloquear selectivamente correo indeseado.
mailbot lee un mensaje de correo en la entrada estándar y crea un mensaje de correo en respuesta al remitente del mensaje original.
maildirkw modifica las palabras clave de mensaje en los maildir compatibles de Courier-IMAP.
maildrop es un sustituto para el agente local de entrega de correo que incluye un lenguaje de filtros.
makeacceptmailfor construye una lista de dominios de los que se acepta correo procedente del directorio /etc/courier/esmtpacceptmailfor.dir.
makealiases construye una lista de alias procedente de los directorios /etc/courier/aliases o /etc/courier/aliasdir.
makehostedomains construye una base de datos de dominios hospedados procedente de hosteddomains.
makepercentrelay construye una lista de dominios %-relayed procedente del directorio percentrelay.dir.
makesmtpacces construye una lista de acceso a servidores ESMTP procedente del directorio /etc/courier/smtpaccess.
makesmtpaccess-msa construye una lista de acceso a servidores ESMTP procedente del directorio /etc/courier/smtpaccess. Esta lista de esmtp es para el protocolo MSA.
makeuucpneighbors construye una lista de destinatarios UUCP usando /etc/courier/uucpneighbors.
reformail lee un mensaje en la entrada estándar, lo reformatea de algún modo y lo escribe en la salida estándar.
sendmail lee un mensaje de correo y lo entrega a su destinatario. El comando sendmail es parte del servdor de correo Courier, sin embargo intenta emular el comportamiento del MTA sendmail original.