Gestión de correo con roundcube
Hace unos días vimos como instalar y configurar un servidor de correo en GNU Linux, utilizando una distribución Ubuntu, con los servicios POSTFIX, DOVECOT y SPAMASSIN. Todas las operaciones las realizamos desde la línea de comandos, terminal o shell. Y también vimos la configuración de un cliente de correo Thunderbird. Una parte importante que quedo pendiente fue instalar un webmail o panel web, para acceder al propio servidor desde cualquier dispositivo vía navegador. Para ello hoy hablaremos de Roundcube, en que consiste, su instalación, configuración y uso.
Sobre Roundcube
Se trata de un proyecto de software libre y open source. Consiste en un panel webmail que funciona sobre un servidor con un servicio LAMP instalado. Funciona con diferentes “skins” que cumplen con los últimos estándares web para hacer una interfaz de usuario funcional y personalizable. Roundcube incluye otras librerías open source sofisticadas como PEAR, una biblioteca IMAP derivada de IlohaMail, un editor de texto enriquecido TinyMCE, la biblioteca Googiespell para la corrección ortográfica y WasHTML que provee un HTML seguro. El proyecto utiliza una licencia GNU GPL v.3 Podéis visitar su web oficial aquí.
Características principales:
- Disponible en 70 idiomas.
- Arrastrar y soltar para gestionar los correo.
- Soporte completo para mensajes MIME y HTML.
- Un sistema sofisticado para salvaguardar la privacidad.
- Redactar mensajes con ficheros adjuntos.
- Interfaz de administrador. (próxima versión)
- Módulo de calendario. (próxima versión)
- Atajos de teclado.
- Vista previa de los adjuntos.
- Múltiples identidades de remitente.
- Opción de utilizar HTML enriquecido.
- Reenvío de mensajes con ficheros adjuntos.
- Opciones de búsqueda y contactos.
- Corrección ortográfica.
- Soporte para la administración de carpetas IMAP.
- Compatibilidad para servidores SMTP externos.
- Caché de acceso al buzón rápido.
- Número ilimintado de usuarios y mensajes.
- Plantillas de skins personalizables.
- Soporte IDNA.
- Funciones de Importación y Exportación.
- Se puede utilizar una API para crear extensiones.
Instalación de Roundcube
Antes de proceder a la instalación nuestro servidor debe cumplir con unos requisitos mínimos:
- Servidor web, se puede utilizar Apache, Nginx, Lighttpd entre otros.
- Versión de PHP 5.3.7 o superior.
- Servicio de base de datos con MYSQL, MariaDB, PostgreSQL, SQLite, MSSQL o Oracle.
- Un servidor IMAP con soporte IMAP4
- Un servidor SMTP (recomendado) o un configurar envíos con PHP
Se puede utilizar un script para Debian para realizar la instalación, pero creo que es mejor ir paso por paso y así ver que se cuece.
El servidor a utilizar será el mismo en DigitalOcean que utilizamos para instalar el servidor de correo. Instalaré primero el servicio web Apache, la instalación en Ubuntu es bien sencilla.
apt-get -y update
apt-get -y install apache2
Instalamos PHP
apt-get -y install php5 php-pear php5-mysql
apt-get -y install php5-mcrypt php5-intl
La instalación utilizará por defecto la «Timezone» del servidor, las podemos definir en el fichero php.ini para saber cual añadir podéis consultar el siguiente enlace.
sed -i -e "s/^;date\.timezone =.*$/date\.timezone = 'UTC'/" /etc/php5/apache2/php.ini
El servidor MYSQL ya lo teníamos instalado.
Una vez realizados estos pasos nos descargamos la última versión de Roundcube, la última estable a fecha de éste artículo es la 1.1.3, que os podéis descargar desde su web.
Descargaremos la última versión utilizando wget:
wget https://downloads.sourceforge.net/project/roundcubemail/roundcubemail/1.1.3/roundcubemail-1.1.3-complete.tar.gz
Es recomendable trabajar desde el directorio /tmp. Lo descomprimimos en el directorio /var/www/
tar -xzvf roundcubemail-1.1.3-complete.tar.gz
#Movemos el directorio resultante a /var/www
mv roundcubemail-1.1.3 /var/www/
Modificamos el propietario de la carpeta, para asignarla al grupo www-data de Apache
chown nuestro-usuario:www-data /var/www/roundcubemail-1.1.3 -R
Y los permisos de las carpetas /temp y /logs
chmod -R 775 /var/www/roundcubemail-1.1.3/temp
chmod -R 775 /var/www/roundcubemail-1.1.3/logs
Creamos el apache-site y su configuración:
nano /etc/apache2/sites-available/roundcube.ochobitsunbyte.pw
Y añadimos:
Y :
Al final del fichero añadimos:
Os podéis descargar el fichero de configuración aquí.
Ahora añadimos la configuración de la web a Apache:
a2ensite roundcube.ochobitsunbyte.pw
service apache2 reload
En la siguiente parte crearemos la base de datos y el usuario:
mysql -u root -p
Desde la consola creamos el usuario que administrará la base de datos:
CREATE DATABASE roundcubemail;
GRANT USAGE ON roundcubemail.* TO blindguardian@localhost IDENTIFIED BY 'password-que-escogamos';
GRANT ALL PRIVILEGES ON roundcubemail.* TO blindguardian@localhost;
FLUSH PRIVILEGES;
Saludos del gestor con ‘exit’ y vamos a crear el fichero de configuración config.inc.php
Copiaremos el fichero de ejemplo:
cp /var/www/roundcube/config/config.inc.php.sample /var/www/roundcube/config/config.inc.php
Y lo editamos con nuestros datos:
nano /var/www/roundcube/config/config.inc.php
También podemos utilizar un instalador vía web, modificando la línea del fichero y añadir : «$config['enable_installer'] = true» y escribir en el navegador: «http://nuestra-ip/roundcube/installer«
En la primera parte nos mostrará información respecto a los requirimientos del servidor:
Y al final:
Si cumplimos con los requirimientos pasamos al siguiente paso.
Sólo nos falta añadir las credenciales de la configuración IMAP y SMTP
En mi caso me ha fallado el envío, eso es debido a que mi servidor utiliza cifrado LTS por el puerto 587, debemos modificar las siguientes líneas en el fichero /var/www/roundcube/config/config.inc.php, de la siguiente manera:
$config['smtp_server'] = 'tls://correo.ochobitsunbyte.pw';
$config['smtp_port'] = 587;
$config['default_host'] = 'ssl://correo.ochobitsunbyte.pw:993';
En la última línea indicamos que usaremos el puerto 993 en vez del 143 para el servicio IMAP de manera cifrada utilizando SSL.
Al hacer esto último y la preuba de SMTP e IMAP han salido bien, debemos eliminar la línea «$config['enable_installer'] = true» del fichero de configuración.
Trabajando con Rouncube
Al finalizar la instalación ya podemos acceder al panel, escribiendo, en mi caso: http://roundcube.ochobitsunbyte.pw/roundcube
Al acceder veremos la interfaz de trabajo de roundcube:
Si nos fijamos esa exactamente la misma que se utiliza en webmail de www.openmailbox.org
Lo primero que haremos es cambiar el idioma. Nos iremos en la parte superior derecha a «Settings«
A parte del idioma en el mismo apartado, llamado «User Interface«, a parte del idioma podemos definiciar también la zona horaria, el horario, la fecha o el «skin» de la interfaz.
Una vez hemos cambiado el idioma, podemos hacer más cambios, por ejemplo en el apartado «Configuración del servidor» donde podemos indicar por ejemplo que se borre el SPAM de manera automática o bien vaciar la papelera cada vez que cerremos sesión.
Otra opción muy interesante es que podemos gestionar varias identidades de manera fácil.
También incluye una «Libreta de contactos«, con la posibilidad de importar contactos desde un fichero.
Respecto a los plugins
Algunos os habréis dado cuenta que hasta ahora no he hablado de la función de calendario, esto es debido a que necesitamos instalar un plugin para poder tenerlo en nuestro panel. De hecho tenemos una larga lista de funcionalidades adicionales que se pueden añadir mediante plugins. Para poder toda la lista de plugins podemos visitar ésta web. En el próximo capítulo veremos como instalar los plugins, en concreto el de calendario.
Conclusión y correos de prueba
Creo que como conclusión podemos decir que se trata de un magnífico producto, con muy buenas funcionalidades y que cuida mucho el aspecto estético. Si algun lector está interesado le puedo crear un correo de prueba dentro del dominio @ochobitsunbyte.pw, y de ésta manera utilizar su nuevo correo desde el panel http://roundcube.ochobitsunbyte.pw, de manera gratuita. Interesados que me envíen un correo a davidochobits@ochobitsunbyte.pw, con su nombre y el nombe de correo que desean, les enviaré las credenciales en un mensaje. Siempre entendiendo
Hasta la próxima.
Para el artículo me he servido de la documentación oficial encontrado en la página web del proyecto.
tengo una duda mi estimado y es en esta linea
sed -i -e «s/^;date\.timezone =.*$/date\.timezone = ‘UTC’/» /etc/php5/apache2/php.ini
cual es la variable a cambiar para mi zona horaria saludos
Pude resolver lo anterior
desde el roundcube puedo recibir los correos y visualizarlos más no puedo realizar el envío desde roundcube al intentarlo aparece lo siguiente
Error SMTP (530): No se pudo asignar el remitente «ejemplo@dominio.com» (5.7.0 Must issue a STARTTLS command first).
Lo curioso es que desde el cliente de thunderbird si salen los correos sin inconvenientes agradeceré tu apoyo PD las configuraciones son las mismas que tienes en este tutorial con diferencia de la versión del roundcube de ahí en fuera todo es lo mismo
para resolverlo tienes que poner lo siguiente en estas lineas
$config[‘smtp_user’] = ‘%u’;
$config[‘smtp_pass’] = ‘%p’;
con eso lograrás que el usuario se pueda autenticar usando los datos que ya ingresaste al iniciar sesión
yo tenía el mismo problema creo que habrá que leer más espero te ayude
hola que tal david hace ya algunos días tuve la oportunidad de comunicarme contigo a travez de correo y telegram y tengo el mismo problema que el chico del comentario anterior e hice lo mismo inclusive tuve que borrar varias veces mi servidor y copiar tal cual tienes tus configuraciones y tengo el mismo inconveniente con el cliente web saludos desde mexico
Hola Samuel,
Es importante remarcar que hay que ceñirse tanto a la versión del sistema operativo como de los programas. Si son diferentes la guía es probable que no funcione.
Saludos!
Un saludo david de hecho encontré el modo de utilizarlo en debian así que dentro de mi busqueda logré hacerlo con postfixadmin para administrar los dominios y cuentas nginx como servidor web mariadb como SGBD postfix y dovecot y como webmail roundcube tardé lo suficiente pero lo logré al fin y pues parte de lo debo a tus publicaciones gracias y como siempre saludos desde México
Saludos David, muy útil y sugerente su sitio, buen trabajo con este post en particular. Mira, yo hoy mismo he implementado el roundcube en una pequeña compañía donde comencé a trabajar hace poco más de un mes, lo instalé en una PC que pronto migrará a Software Libre completamente pero que por ahora corre Windows Server 2008, logré que funcionara todo correctamente, todo esto sin haber visto tu post ni haber consultado nada en Internet, pues allí no tengo acceso a la red de redes, pues bien, utilizando como servidor un paquete Wamp, creé la BD para roundcube, su usuario, configuré todo y luego inicié sesión con mi cuenta de corro y sí, me funciona elegantemente pero tengo algunas preguntas: logro acceder a mi usuario y entrar al correo etc, pero ¿cómo importar los usuarios de Mdaemon por ejemplo? Tengo la necesidad de administrarlo todo osea crear, importar los usuarios del Mdaemon para completar la tarea satisfactoriamente. Existe alguna forma de administrar el server de correo, herramienta o algo por el estilo?. Estoy migrando poco a poco los servicios de mi pequeño pero productivo servidor y necesito ayuda. Gracias de antemano.
Buenas tardes David, como se puede configurar la base de datos de roundcube para agregar usuarios virtuales, dominios, alias etc.. un saludo gracias!
Hola Jose,
Tal y como indico en el primer párrafo del artículo primero tienes que tener un servidor de correo, en la web tengo diferentes artículos al respecto. Si quieres una gestión fácil, que además incluye Roundcube, puedes utilizar NethServer.
https://www.ochobitshacenunbyte.com/2016/05/30/servidor-de-correo-con-nethserver/
Un saludo
Buenas tardes David, pero intento instalar nethserver con los pasos que das en mi servidor de correo y no se instala, saludos
Hola Jose,
Me tendrías que dar más detalles. Piensa que NethServer para instalarlo tienes que utilizar la ISO que te ofrecen.
Saludos
Hola David, te comento, estoy hacinedo un trabajo para clase, un servidor de correo electronico (en ubuntu server 16.04) con postfix, dovecot y roundcube, ya lo tengo todo instalado y en funcionamiento, pero tengo que gestionar usuarios, alias y dominios virtuales, pensé que una buena idea para gestionar usuarios seria nethserver, porque la verdad no se como gestionar los usuarios en roundcube y no encuentro tutoriales recientes que funciones, un saludo.
Hola david , buen tutorial ,pero tengo un problema el cual me esta rompiendo la cabeza . Resulta que dentro de roundcubemail las cuentas de correo me aparecen «usuario@localhost». Como puedo hacer para que lo remplace por mi dominio?
Hola,
Qué sistema de correo estás utilizando en el servidor?
Estoy trabajando en un servidor con postfix, dovecot, squirrelmail y roundcube
Hola Jonathan, pudiste resolverlo? Estoy en la misma situacion.
hola, es posible en roundcube programar el envio de correos?
Hola David, estoy luchando con la configuración de roundcube, logro el login con las cuentas alamcenadas en mysql, me va creando los usuarios en la base de datos de roundcube, pero no me muestra ninguna bandeja y no me deja configurar la sesión, el servidor es un postfix con courier como pop3 e imap, el pop3 anda muy bien, y el imap no puedo verlo aun, te agradecería cualquier sugerencia, oviamente es un tema de configuración pero ya revise muchas web y foros, pero no hay respuesta a este tipo de problema.
Desde ya gracias
Buenas vi tu pagina y llego hasta la parte de la comprobacion delos usuarios y me da error en la parte de autenticacion y me dice que hay problemas con el IMAP. que se puede hacer