Instalación y configuración de Postfix y Squirrel en Linux

En la entrada de hoy aprenderemos a instalar y configurar Postfix, un servidor de correo electrónico muy extendido en Linux y a utilizar Squirrel, un cliente web en php que nos permitirá visualizar los correos electrónicos enviados y recibidos en nuestro sistema.

Este manual instala Postfix y Squirrel en Ubuntu 11.04 aunque los pasos a seguir en otras versiones pueden ser los mismos aquí mostrados.

Instalar apache

Squirrel es un cliente webmail y, como tal, debemos utilizarlo con un servidor web. Para ello, instalaremos apache en nuestro sistema. Este paso sera necesario únicamente si nuestra intención es instalar Squirrel, si solo queremos configurar un servidor de correo electrónico podemos saltar este paso.

Instalaremos apache con el siguiente comando:

aitor@mailServ:~$ sudo apt-get install apache2

Podemos comprobar que se ha instalado correctamente introduciendo en el explorador http://127.0.0.1 o http://localhost.

ilumina2 photo

Configuración DNS

A continuación vamos a configurar nuestro DNS para que resuelva http://www.mailserv.com  (o el nombre con el que queráis llamar vuestro sistema) como el equipo local. Para ello configuraremos nuestro servidor DNS (bind9, win2008, etc) con un nuevo registro del tipo A (Host) o, de ya existir, con un CNAME (Alias) especificando este nombre. En el caso de no tener ningún servidor DNS configurado en nuestra red o de querer utilizar el servidor de correo solo localmente, podemos hacer estas modificaciones en el archivo hosts situado en /etc/hosts.

Para comprobar el funcionamiento podemos realizar un ping a http://www.mailserv.com

aitor@mailServ:~$ ping www.mailserv.com
 PING www.mailserv.com (10.0.2.15) 56(84) bytes of data.
 64 bytes from www.mailserv.com (10.0.2.15): icmp_req=1 ttl=64 time=0.039 ms
 64 bytes from www.mailserv.com (10.0.2.15): icmp_req=2 ttl=64 time=0.055 ms
 ^C
 --- mail.mailserv.com ping statistics ---
 2 packets transmitted, 2 received, 0% packet loss, time 999ms
 rtt min/avg/max/mdev = 0.039/0.047/0.055/0.008 ms

Podemos ver que resuelve correctamente la dirección i que el servidor responde. El siguiente paso será comprobar que podemos acceder a http://www.mailserv.com desde nuestro navegador web. No deberiamos tener ningun problema con eso y el resultado tendria que ser un “It works!” como los anteriores.

Instalación de Postfix

Para instalar Postfix, introduciremos el siguiente comando:

aitor@mailServ:~$ sudo apt-get install postfix
Leyendo lista de paquetes... Hecho
Creando árbol de dependencias       
Leyendo la información de estado... Hecho
Paquetes sugeridos:
  procmail postfix-mysql postfix-pgsql postfix-ldap postfix-pcre sasl2-bin
  dovecot-common resolvconf postfix-cdb
Se instalarán los siguientes paquetes NUEVOS:
  postfix
0 actualizados, 1 se instalarán, 0 para eliminar y 110 no actualizados.
...

Configuración durante la instalación

Durante la instalación de Postfix, nos aparecen algunas pantallas de configuración. La primera pantalla nos facilita cierta información sobre la segunda y estaría bien leerla con paciencia y escoger la opción que mas se acerque a lo que estamos buscando. En este caso vamos a seleccionar “Sitio de Internet“.

En la siguiente pantalla, tenemos que seleccionar el nombre de sistema de correo. En ella debemos seleccionar nuestro FQDN (Fully Qualified Domain Name), es decir, si nuestra dirección de correo es blogdeaitor@mailserv.com, nuestro FQDN sera mailserv.com (popularmente conocido como nombre de dominio).

Una vez instalado Postfix, podemos acceder al fichero de configuración principal /etc/potfix/main.cf donde añadiremos al final las dos lineas que podemos ver a configuración:

inet_protocols = ipv4
home_mailbox = Maildir/

Especificando el protocolo de red utilizado (IPv4) y el directorio donde deben guardarse los correos electrónicos. La parte final del fichero quedara pues de la siguiente manera:

...
myhostname = mailServ
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = mailServ.com, mailServ, localhost.localdomain, localhost
relayhost =
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
inet_protocols = ipv4
home_mailbox = Maildir/

Reiniciado de Postfix

A continuación reiniciaremos Postfix:

aitor@mailServ:~$ sudo /etc/init.d/postfix restart
 * Stopping Postfix Mail Transport Agent postfix                         [ OK ]
 * Starting Postfix Mail Transport Agent postfix                         [ OK ]

Instalción de courier pop y courier imap.

A continuación vamos a instalar los paquetes courier-pop y courier-imap para dar soporte pop y imap al servidor postfix. Para hacerlo ejecutaremos:

aitor@mailServ:~$ sudo apt-get install courier-pop
 Leyendo lista de paquetes... Hecho
 Creando árbol de dependencias
 Leyendo la información de estado... Hecho
 Se instalarán los siguientes paquetes extras:
 courier-authdaemon courier-authlib courier-authlib-userdb courier-base
 expect tcl8.5
 Paquetes sugeridos:
 courier-doc courier-pop-ssl expectk tclreadline
 Se instalarán los siguientes paquetes NUEVOS:
 courier-authdaemon courier-authlib courier-authlib-userdb courier-base
 courier-pop expect tcl8.5
 0 actualizados, 7 se instalarán, 0 para eliminar y 110 no actualizados.
...

Durante la instalación seleccionaremos que NO queremos crear los directorios para la administración basado en web.

Instalamos a continuación courier-imap:

aitor@mailServ:~$ sudo apt-get install courier-imap
 Leyendo lista de paquetes... Hecho
 Creando árbol de dependencias
 Leyendo la información de estado... Hecho
 Paquetes sugeridos:
 courier-doc courier-imap-ssl
 Se instalarán los siguientes paquetes NUEVOS:
 courier-imap
 0 actualizados, 1 se instalarán, 0 para eliminar y 110 no actualizados.
...

Instalación MAILX

La aplicación mailx permite mandar correos electrónicos mediante la linea de comandos. Para instalarla ejecutaremos:

aitor@mailServ:~$ sudo apt-get install mailx
 Leyendo lista de paquetes... Hecho
 Creando árbol de dependencias
 Leyendo la información de estado... Hecho
 El paquete mailx es un paquete virtual provisto por:
 mailutils 1:2.1+dfsg1-7build1
 heirloom-mailx 12.4-2
 bsd-mailx 8.1.2-0.20100314cvs-1

Esto nos informa que necesita seleccionar explícitamente uno de los paquetes anteriores para obtener mailx. Para ello, hemos decidido instalar mailutils.

aitor@mailServ:~$ sudo apt-get install mailutils
 Leyendo lista de paquetes... Hecho
 Creando árbol de dependencias
 Leyendo la información de estado... Hecho
 Se instalarán los siguientes paquetes extras:
 libgsasl7 libmailutils2 libmysqlclient16 libntlm0 mysql-common
 Paquetes sugeridos:
 mailutils-mh
 Se instalarán los siguientes paquetes NUEVOS:
 libgsasl7 libmailutils2 libmysqlclient16 libntlm0 mailutils mysql-common
 0 actualizados, 6 se instalarán, 0 para eliminar y 110 no actualizados.
...

SQUIRREL

Una vez terminado, instalaremos Squirrel, una aplicación de webmail en php que nos permite utilizar nuestro explorador web para enviar, recibir y consultar nuestro buzón de correo. Para instalarla ejecutaremos:

aitor@mailServ:~$ sudo apt-get install squirrelmail
 Leyendo lista de paquetes... Hecho
 Creando árbol de dependencias
 Leyendo la información de estado... Hecho
 Se instalarán los siguientes paquetes extras:
 apache2-mpm-prefork libapache2-mod-php5 php5-cli php5-common
 squirrelmail-locales squirrelmail-viewashtml
 Paquetes sugeridos:
 php-pear php5-suhosin squirrelmail-decode php5-recode imapproxy php5-ldap
 Paquetes recomendados:
 php5-mhash
 Los siguientes paquetes se ELIMINARÁN:
 apache2-mpm-worker
 Se instalarán los siguientes paquetes NUEVOS:
 apache2-mpm-prefork libapache2-mod-php5 php5-cli php5-common squirrelmail
 squirrelmail-locales squirrelmail-viewashtml
 0 actualizados, 7 se instalarán, 1 para eliminar y 110 no actualizados.
...

Una vez instalado lo configuraremos con el comando squirrelmail-configure como se muestra a continuación:

aitor@mailServ:~$ squirrelmail-configure
SquirrelMail Configuration : Read: config.php (1.4.0)
 ---------------------------------------------------------
 Main Menu --
 1.  Organization Preferences
 2.  Server Settings
 3.  Folder Defaults
 4.  General Options
 5.  Themes
 6.  Address Books
 7.  Message of the Day (MOTD)
 8.  Plugins
 9.  Database
 10. Languages
D.  Set pre-defined settings for specific IMAP servers
C   Turn color on
 S   Save data
 Q   Quit
Command >> D

Seleccionamos la opción D para escoger el tipo de correo IMAP utilizado. En este caso utilizaremos courier instalado anteriormente.

---------------------------------------------------------
 While we have been building SquirrelMail, we have discovered some
 preferences that work better with some servers that don't work so
 well with others.  If you select your IMAP server, this option will
 set some pre-defined settings for that server.
Please note that you will still need to go through and make sure
 everything is correct.  This does not change everything.  There are
 only a few settings that this will change.
Please select your IMAP server:
 bincimap    = Binc IMAP server
 courier     = Courier IMAP server
 cyrus       = Cyrus IMAP server
 dovecot     = Dovecot Secure IMAP server
 exchange    = Microsoft Exchange IMAP server
 hmailserver = hMailServer
 macosx      = Mac OS X Mailserver
 mercury32   = Mercury/32
 uw          = University of Washington's IMAP server
 gmail       = IMAP access to Google mail (Gmail) accounts
quit        = Do not change anything
 Command >> courier

Con lo que obtendremos:

Command >> courier
imap_server_type = courier
 default_folder_prefix = INBOX.
 trash_folder = Trash
 sent_folder = Sent
 draft_folder = Drafts
 show_prefix_option = false
 default_sub_of_inbox = false
 show_contain_subfolders_option = false
 optional_delimiter = .
 delete_folder = true
Press any key to continue...

Finalmente configuraremos el servidor. Para ello seleccionaremos la opción 2 y a continuación la opción 1 para configurar el FQDN de nuestro servidor.

SquirrelMail Configuration : Read: config.php (1.4.0)
 ---------------------------------------------------------
 Server Settings
General
 -------
 1.  Domain                 : trim(implode('', file('/etc/'.(file_exists('/etc/mailname')?'mail':'host').'name')))
 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
Command >> 1

Con lo que obtendremos este resultado final:

SquirrelMail Configuration : Read: config.php (1.4.0)
 ---------------------------------------------------------
 Server Settings
General
 -------
 1.  Domain                 : servmail.com
 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
Command >> q
You have not saved your data.
 Save?  [Y/n]: y
Exiting conf.pl.
 You might want to test your configuration by browsing to
 http://your-squirrelmail-location/src/configtest.php
 Happy SquirrelMailing!

Una vez configurado squirrel, crearemos un enlace simbolico de squirrel al directorio DocumentRoot de apache, es decir, en este caso, /var/www. Con eso conseguiremos poder acceder a squirrel de forma sencilla.

aitor@mailServ:~$ sudo ln -s /usr/share/squirrelmail/ /var/www/webmail

Con esto, podemos acceder mediante nuestro explorador web a http://www.mailserv.com/webmail para acceder a la página de squirrel. Es posible que la primera vez firefox nos pida abrir un archivo PHTML, si obtenemos este resultado reiniciaremos apache.

aitor@mailServ:~$ sudo /etc/init.d/apache2 restart
 * Restarting web server apache2                                                [ OK ]

Y accedemos nuevamente a http://www.mailserv.com/webmail

Comprobación de funcionamiento

Para comprobar el correcto funcionamiento del sistema, vamos a crear un nuevo usuario al que mandaremos nuestro primer correo electrónico. Para ello utilizaremos el comando adduser.

aitor@mailServ:~$ sudo adduser luisa
 Añadiendo el usuario `luisa' ...
 Añadiendo el nuevo grupo `luisa' (1001) ...
 Añadiendo el nuevo usuario `luisa' (1001) con grupo `luisa' ...
 Creando el directorio personal `/home/luisa' ...
...

Envío de correo

Para realizar el envío de correo vamos a utilizar el comando mail que hemos instalado anteriormente con mailx tal y como podemos ver a continuación.

aitor@mailServ:~$ mail luisa@mailserv.com
 Cc:
 Subject: Test
 Esto es un test de envio de correo.

Una vez escrito el cuerpo del mensaje pulsaremos CTR+d  para terminar la redacción del correo.

Si ahora accedemos como el usuario “luisa” a squirrel podremos ver el correo en la bandeja de entrada

Tambien es posible enviar correos a cualquier cuenta real de gmail, hotmail, etc. (siempre que estos no lo detecten como spam y lo eliminen). Sera suficiente con modificar la dirección del destinatario.

aitor@mailServ:~$ mail arigada@wordpress.com
 Cc: aitor.rigada@wordpress.com
 Subject: Prueba de mail real
 Esto es una prueba de correo real.

Con esto ya hemos configurado correctamente nuestro servidor de correo Postfix i el cliente de webmail Squirrel.

Anuncios

One Response to Instalación y configuración de Postfix y Squirrel en Linux

  1. Pingback: Reporte de las sesiones del 17 y 18 de Febrero del 2014. | Informática y artículos de actualidad - Cursos

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: