Servidor de correo imap y webmail: courier-imap + postfix + squirrelmail

Por Paco Aldarias Raya

Impreso: 2 de noviembre 2004

Email: pacolinux arroba inicia punto es

Web: http://aldarias.es/pacodebian

Con Linux Debian. En Valencia (España)

Este documento es de libre reproducción siempre que se cite su fuente.

Realizado con: LATEX

Índice General

1 Versiones

2 Introducción

Vamos a ver como se instala un servidor de correo imap llamado courier-imap

Un servidor de correo imap permite accecer al correo que se encuentra en una maquina para un usuario.

Un servidor imap tiene la ventaja q muchos clientes de correo permiten bajarse sólo los encabezados.

Yo me instale el servidor imap para poder ver mi correo desde cualquier lugar.

Un servidor imap, por si solo, no pueden enviar correo, ni recoger el correo, Para eso se necesita un servidor SMTP como por ejemplo postfix.


3 Instalación del servidor

apt-get install courier-imap

4 Configuración del usuario

Los servidores imap necesitan tener la carpeta Maildir dentro del home del usuario.

La crearemos:

mkdir $HOME/Maildir
mkdir $HOME/Maildir/tmp
mkdir $HOME/Maildir/new
mkdir $HOME/Maildir/cur

Para crear subcarpetas:
mkdir $HOME/Maildir/.Spam
mkdir $HOME/Maildir/.Spam/tmp
mkdir $HOME/Maildir/.Spam/cur
mkdir $HOME/Maildir/.Spam/new

Nota: En el cliente de correo poner como carpeta de incio: /.

5 Maildir

Debemos de cambiar también el archivo /etc/login.defs , descomentando la línea

QMAIL_DIR/Mailidir

para indicar, que todos los usuarios que hagan login en nuestro sistema, usarán también el formato Maildir.

Debemos de comentar las 2 que aparezcan a su lado, lógicamente.

nano /etc/login.defs

También debemos modificar el archivo master.cf, añadiendo la línea: virtual unix - n n - - virtual


6 Configuración de Postfix

Ahora diremos al servidor MTA (Mail Tranfer Agent) que el correo que llege lo envie a la carpeta correcta.

Contenido de mi fichero /etc/postfix/main.cf

-------------------inicio---------------------------

command_directory = /usr/sbin
daemon_directory = /usr/lib/postfix
program_directory = /usr/lib/postfix

smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
setgid_group = postdrop
biff = no

# appending .domain is the MUA's job.
append_dot_mydomain = yes
myhostname = pacohost.aldarias.dsland.org
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = aldarias.dsland.org, pacohost.aldarias.dsland.org, localhost.aldarias.dsland.org, localhost
mynetworks = 127.0.0.0/8
#mailbox_command = procmail -a "$EXTENSION"
mailbox_size_limit = 0

# Configuración de Courier-Imap
home_mailbox = Maildir/
queue_directory = /var/spool/postfix

recipient_delimiter = +
relayhost =
# Configuración Amavis - F-Prot
content_filter = smtp-amavis:[127.0.0.1]:10024

-------------------fin---------------------------

Reiniciamos postfix: /etc/init.d/postfix restart

7 Configuración de Courier y usuarios

Para q los usuarios de linux sean aceptados por el servidor imap debemos de hacer la conversión.

# pw2userdb

Para sacar la configuracion de postfix:

postconf -n

nano $HOME/.forward
| procmail

nano /etc/procmailrc
MAILDIR=$HOME/Maildir
DEFAULT=./

8 Administration de postfix

9 Cola de correo

Para ver la cola del correo pendiente de enviar:
mailq

Para borrar la cola:

postsuper -d ALL

10 Configuración del host

Para saber el nombre del host: hostname
pacohost

nano /etc/hosts
127.0.0.1       localhost
192.168.0.1     pacohost

11 Instalación del webmail: squirrelmail

apt-get install squirrelmail

También se requiere tener instalado apache y php4.


12 Configurar squirrelmail

Ejecutar esta utilidad:
/etc/squirrelmail/conf.pl

Es importante indicale aqui que usamos servidor imap : courier

Debemos tener presente:

Menu Principal 1

SquirrelMail Configuration : Read: config.php (1.4.0)
---------------------------------------------------------
Organization Preferences
1.  Organization Name      : Web Mail Paco Aldarias
2.  Organization Logo      : ../images/sm_logo.png
3.  Org. Logo Width/Height : (308/111)
4.  Organization Title     : SquirrelMail $version
5.  Signout Page           :
6.  Default Language       : es_ES
7.  Top Frame              : _top
8.  Provider link          : http://aldarias.dsland.org
9.  Provider name          : http://aldarias.dsland.org/

R   Return to Main Menu
C.  Turn color on
S   Save data
Q   Quit

Command >>

Menu Principal 2

SquirrelMail Configuration : Read: config.php (1.4.0)
---------------------------------------------------------
Server Settings

General
-------
1.  Domain                 : aldarias.dsland.org
2.  Invert Time            : false
3.  Sendmail or SMTP       : SMTP

A.  Update IMAP Settings   : localhost:143 (courier)
B.  Update SMTP Settings   : localhost:25

R   Return to Main Menu
C.  Turn color on
S   Save data
Q   Quit

Menu Principal 3

SquirrelMail Configuration : Read: config.php (1.4.0)
---------------------------------------------------------
Folder Defaults
1.  Default Folder Prefix         : INBOX.
2.  Show Folder Prefix Option     : false
3.  Trash Folder                  : Trash
4.  Sent Folder                   : Sent
5.  Drafts Folder                 : Drafts
6.  By default, move to trash     : true
7.  By default, move to sent      : true
8.  By default, save as draft     : true
9.  List Special Folders First    : true
10. Show Special Folders Color    : true
11. Auto Expunge                  : true
12. Default Sub. of INBOX         : false
13. Show 'Contain Sub.' Option    : false
14. Default Unseen Notify         : 2
15. Default Unseen Type           : 1
16. Auto Create Special Folders   : true
17. Folder Delete Bypasses Trash  : true
18. Enable /NoSelect folder fix   : false

R   Return to Main Menu
C.  Turn color on
S   Save data
Q   Quit

Menu Principal 4

SquirrelMail Configuration : Read: config.php (1.4.0)
---------------------------------------------------------
General Options
1.  Default Charset             : iso-8859-1
2.  Data Directory              : /var/lib/squirrelmail/data/
3.  Attachment Directory        : /var/spool/squirrelmail/attach/
4.  Directory Hash Level        : 0
5.  Default Left Size           : 150
6.  Usernames in Lowercase      : false
7.  Allow use of priority       : true
8.  Hide SM attributions        : false
9.  Allow use of receipts       : true
10. Allow editing of identity   : true/true
11. Allow server thread sort    : false
12. Allow server-side sorting   : false
13. Allow server charset search : true
14. Enable UID support          : true
15. PHP session name            : SQMSESSID

R   Return to Main Menu
C.  Turn color on
S   Save data
Q   Quit

13 Squirrelmail en Español

13.1 SquirrelMail versión 1.4.3a

Españolizar el sistema:

apt-get install locales

dpkg-reconfigure locales
Eleguir:
Paso 1: es_ES@euro ISO-8859-15

Paso 2: es_ES@euro

Castellanizar el sistema

eurocastellanizar

Configurar el webmail:

/etc/squirrelmail/conf.p

6.  Default Language       : es_ES

Reiniciaremos apache:

/etc/init.d/apache restart

13.2 Para versiones antiguas

Hay q ir a la web de squirrelmail:
http://www.squirrelmail.org/download.php
Entrar en local-package

O bien

http://sourceforge.net/project/showfiles.php?group_id=311&package_id=110388
Bajarse el fichero de tu versión.

En mi caso es:

es_ES-1.5.0-20040404.tar.bz2

Descomprimirlo y ejecutar:
./install

Indicarle la ubicación:
/usr/share/squirrelmail/

14 Acceso al webmail

http://aldarias.dsland.org/squirrelmail/src/login.php

15 Aumentar la capacidad de apache y php

Para poder tener muchos correos debemos aumentar la capacidad del php.

Para ello editaremos:
nano /etc/php4/apache/php.ini

Y deberemos tener esto:
post_max_size=80

Reiniciaremos apache:
/etc/init.d/apache restart

Esto tuve que hacerlo ya que me salia este mensaje de error al entrar en el webmail:
Allowed memory size of 8388608 bytes exhausted (tried to allocate 4097 bytes)

16 Acceso al correo desde un cliente de correo: kmail

Tipo de cuenta : imap
Servidor: aldarias.dsland.org
Prefijo carpeta: Maildir


17 Aviso del correo: korn

Instalarlo:
apt-get install korn

Configurarlo una vez abierto asi :
Nuevo - mbox - ruta:
$HOME/Maildir/

18 Conclusión

El objetivo es:

  1. Recoger todo el correo y centralizarlo (fetchmail)
  2. Poder enviar/recibir correo directamente (postfix)
  3. Limpiar de virus el correo (amavis)
  4. Poder ver el correo desde cualquier lugar (courier-imap)
  5. No depender de clientes de email (webmail)

Al final dispongo de varias capas, que cada una hace su trabajo:

  1. fechmail.
    Recoge el correo de varias cuentas externas. Y se lo entrega a postfix. .
  2. postfix
    Recoge el correo entrante que llega al usuario@midominio.org.
    Tb Envia el correo saliente.
  3. amavis
    Revisa el correo entrante/ saliente por si tiene virus y se lo da al destinatario
  4. courier-imap
    Se encarga de mostrar el correo existente para el usuario.
    Este se comunica con el webmail o con el cliente de correo.

19 Bibliografía

  1. Ubicación de este documento:
    http://inicia.es/de/pacodebian

  2. Página oficial del webmail: Aqui se pueden encontrar muchos plug-ins
    http://www.squirrelmail.org/index.php

  3. Postfix, Courier y MySQL:
    http://130.206.100.150/docs/articulo.postfixmysql.html

  4. Postfix + procmail + fetchmail
    http://www.escomposlinux.org/lfs-es/recetas/postfix_fetchmail_procmail.html

  5. Procesando correos con Procmail:
    http://bulmalug.net/body.phtml?nIdNoticia=1562


Índice de Materias

courier-imap
3
korn
17
postfix
6
squirrelmail
12

Sobre este documento...

Servidor de correo imap y webmail: courier-imap + postfix + squirrelmail

This document was generated using the LaTeX2HTML translator Version 2002-2-1 (1.70)

Copyright © 1993, 1994, 1995, 1996, Nikos Drakos, Computer Based Learning Unit, University of Leeds.
Copyright © 1997, 1998, 1999, Ross Moore, Mathematics Department, Macquarie University, Sydney.

The command line arguments were:
latex2html imap -split 0 -local_icons 1 -show_section_numbers -no_auto_link -no_navigation

The translation was initiated by on 2004-11-02


2004-11-02