#EmailServer en #Debian con #RoundCube


Aunque los servicios Cloud de email están tomando fuerza quitando los servidores locales de email, aun encontramos compañías que no confían en estos servicios Cloud, o que en cierta manera les sale mas costoso por la cantidad de empleados que tiene. Dentro de los servidores OpenSource para suplir esta necesidad, esta el paquete RoundCube, el cual a continuación vamos a configurarlo de una manera básica, con tal que me permita enviar, recibir mails internos y externos a nuestra compañía.
Nota: La configuración se va a hacer de manera local con un dominio ficticio, asi que si lo van a implementar con algún dominio verdadero les aconsejo documentarse en la WIKI de RoundCube y usar los tips de Seguridad que alli le indican. No esta demas recordar el uso de Fail2Ban, denyhost, unas buenas reglas con sudo, e instalar el clamav para búsqueda de virus dentro de los correos.

1. Actualizamos el Sistema
apt-get update && apt-get upgrade

2. Instalamos los paquetes necesarios
apt-get install gcc apache2 php5 php5-dev mcrypt libapache2-mod-php5 php5-imap php5-intl php5-common php5-mcrypt php5-mysql mysql-server libpcre3 libpcre3-dev openssl postfix courier-imap
3. Instalamos Libiconv, esto tomara unos cuantos minutos
wget -c http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz
tar xzvf libiconv-1.14.tar.gz
cd libiconv-1.14
./configure
make
make install
4. Descargamos el RoundCube, lo descomprimimos y movemos su contenido al directorio web de apache.
wget -c http://voxel.dl.sourceforge.net/project/roundcubemail/roundcubemail/0.8.5/roundcubemail-0.8.5.tar.gz
tar zxvf roundcubemail-0.8.5.tar.gz
cd roundcubemail-0.8.5
mv * /var/www
 5. Configuramos el date.timezone en el php.ini:
date.timezone = America/Bogota
6. Configuramos el  suhosin
nano /etc/php5/conf.d/suhosin.ini
Buscamos suhosin.session.encrypt y establecemos el valor a off
suhosin.session.encrypt = off
7. Configuramos la base de datos
mysql -p
CREATE DATABASE roundcubemail /*!40101 CHARACTER SET utf8 COLLATE utf8_general_ci */;
GRANT ALL PRIVILEGES ON roundcubemail.* TO roundcube@localhost    IDENTIFIED BY 'passworddeluser';
quit
mysql -p roundcubemail < SQL/mysql.initial.sql

8. Ingresamos a http://ip/installer/ y verificamos que el checklist este OK.

9. Luego NEXT y empezamos a configurar el RoundCube insertando los datos que este no solicita.

  • El nombre del Webmail
  • La pagina de soporte de nuestra empresa, por si alguien tiene un problema escriba un mail alli.
  • El logo de la Empresa
  • Habilitamos el checkeo de IP's
  • Habilitamos el Cache de Mensajes
  • En la base de datos escribimos solo el Login y el password de  la db para poder escribir los cambios en esta.
  • Nos generara 2 archivos de configuracion (Del webmail y de la db), podemos descargarlo o copiar su contenido en la ruta que este nos indica.
  • Damos Continuar
10.  Luego nuevamente nos hara un test de la configuración, dando como error que la carpeta logs y temp no las puede leer/escribir, por ende damos los permisos:
chmod 777 -R  /var/www/temp
chmod 777 -R  /var/www/logs
11. Verificamos el funcionamiento del servidor SMTP enviando un test a un correo externo preferiblemente de gmail, si no funciona compruebe la configuracion del postfix con dpkg-reconfigure postfix que este en internet y tenga configurado el dominio ficticio de miempresa.com

12. Deshabilitamos el instalador e indicamos que el server sea el local 
nano /etc/www/config/main.inc.php
$rcmail_config['enable_installer'] = false; 
$rcmail_config['default_host'] = 'miempresa.com';
Nota: Recordar que miempresa.com debe de apuntar a localhost en el archivo hosts.

13. Borramos la carpeta installer:
rm -r /var/www/installer
14. Configuramos los usuarios.
cd /home/user/
maildirmake Maildir 
chown user:user Maildir -R
15. Para que cada usuario que se cree tenga esa configuracion.
cd /etc/skel/ 
maildirmake Maildir 
16. Configuramos el postfix para indicar el directorio de los correos.
nano /etc/postfix/main.cfg
Y al final del archivo ingresamos la linea
home_mailbox = Maildir/ 
Y configuramos la red desde donde se pueden enviar correos.
mynetworks = mired/mimascara
17. Reiniciamos los servicios.
/etc/init.d/postfix restart && /etc/init.d/courier-imap restart  && service apache2 restart
18. Ingresamos al server http://ip y cada y ya con esto cada usuario que se cree en el server tendra su email.


Extras:

RoundCoube tiene unos plugins por default, en este momento el que mas nos interesa es que el usuario pueda cambiar el password desde el navegador web.

Editamos el archivo main.inc.php
nano /var/www/config/main.inc.php
Buscamos la linea
$rcmail_config['plugins'] = array();
Dentro del parentesis ingresamos los plugins que deseamos activar, los plugins se encuentran dentro de la carpeta plugins.


Ejemplo como quedaría.
$rcmail_config['plugins'] = array('password','plugin2','plugin3','etc');

Ya por ultimo queda probar enviando correos internos/externo.




Articulos Relacionados


No hay comentarios: