Un MUA web: Roundcube
Roundcube es un MUA web. A partir del MTA (Postfix) y MDA (Dovecot) instalados anteriormente es posible crear una nueva máquina que ejecute Roundcube para que los usuarios gestionen su correo mediante una interfaz web.
Roundcube se comunicará utilizando el protocolo IMAP con el MDA (Dovecot).
Instalación de la pila LAMP
Roundcube se basa en la infraestructura LAMP.
Se pueden instalar los paquetes necesarios ejecutando:
apt install apache2 libapache2-mod-php php-gd php-imagick php-xml php-mbstring php-intl php-zip php-pear zip unzip git composer
apt install mysql-server php-mysql
Configuración de /etc/php/7.2/apache2/php.ini
date.timezone = "Europe/Madrid"
upload_max_filesize = 12M
post_max_size = 18M
mbstring.func_overload = 0
Descarga e instalación de Roundcube
Desde la web de descargas de Roundcube se puede obtener la URL del archivo con la última versión estable. Bastará desarchivarlo, moverlo a /var/www y cambiar el usuario/grupo y los permisos.
usuario@roundcube:~$ wget https://github.com/roundcube/roundcubemail/releases/download/1.3.5/roundcubemail-1.3.5-complete.tar.gz
usuario@roundcube:~$ tar -xzf roundcubemail-1.3.5-complete.tar.gz
usuario@roundcube:~$ sudo mv roundcubemail-1.3.5 /var/www/roundcube
usuario@roundcube:~$ sudo chown -R www-data.www-data /var/www/roundcube
usuario@roundcube:~$ sudo chmod 775 /var/www/roundcube/temp/ /var/www/roundcube/logs/
Configuración del VirtualHost de Apache
Si Roundcube va a ser la única aplicación web de la máquina se puede editar el VirtualHost por defecto /etc/apache2/sites-enabled/000-default.conf para:
- Cambiar la directiva DocumentRoot
DocumentRoot /var/www/roundcube
- Añadir un bloque Directory
<Directory /var/www/roundcube>
Options -Indexes
AllowOverride All
Order allow,deny
Allow from all
</Directory> - Activar el módulo rewrite
sudo a2enmod rewrite
- Reiniciar el servidor web
sudo systemctl restart apache2
Configuración de MySQL
En MySQL será necesario:
- Establecer una sesión de trabajo:
root@roundcube:~# mysql -u root -p
- Crear una BBDD que utilice utf8
mysql> CREATE DATABASE roundcubemail /*!40101 CHARACTER SET utf8 COLLATE utf8_general_ci */; Query OK, 1 row affected (0.00 sec)
- Definir un usuario con privilegios sobre la BBDD
mysql> CREATE USER 'roundcube'@'localhost' IDENTIFIED BY 'password'; Query OK, 0 rows affected (0.00 sec) mysql> GRANT ALL PRIVILEGES ON roundcubemail.* to 'roundcube'@'localhost'; Query OK, 0 rows affected (0.00 sec)
- Cerrar la sesión:
mysql> exit Bye root@roundcube:~#
Finalmente se puede cargar en la BBDD la definición de las tablas de Roundcube:
root@roundcube:~# mysql -u root -p roundcubemail < /var/www/roundcube/SQL/mysql.initial.sql
Configuración de Roundcube
Desde el navegador se puede abrir la dirección:
http://<dirección>/installer
Permitir la autenticación en texto plano en Dovecot
Para realizar las pruebas de Roundcube puede ser conveniente permitir la autenticación en texto plano, para ello se puede editar el fichero /etc/dovecot/conf.d/10-auth.conf y fijar la directiva disable_plaintext_auth = no.
Cambiar la configuración de roundcube para que no se utilice ningún usuario al iniciar sesión con el servidor SMTP
Nuestro servidor SMTP no requiere un usuario para iniciar sesión, pero roundcube por defecto envía el usuario. Así que para poder enviar correo desde roundcube aún será necesario editar el fichero de configuración: /var/www/roundcube/config/config.inc.php y allí cambiar el valor de smtp_user para dejarlo tal y como se indica:
// SMTP username (if required) if you use %u as the username Roundcube
// will use the current username for login
$config['smtp_user'] = '';