Un MUA web: Roundcube

per Victor Carceler darrera modificació 2023-03-20T08:25:45+01:00

https://en.wikipedia.org/wiki/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:

  1. Cambiar la directiva DocumentRoot
    DocumentRoot /var/www/roundcube
  2. Añadir un bloque Directory
            <Directory /var/www/roundcube>
    Options -Indexes
    AllowOverride All
    Order allow,deny
    Allow from all
    </Directory>
  3. Activar el módulo rewrite
    sudo a2enmod rewrite
  4. Reiniciar el servidor web
    sudo systemctl restart apache2

 

Configuración de MySQL

En MySQL será necesario:

  1. Establecer una sesión de trabajo:
    root@roundcube:~# mysql -u root -p
  2. 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)
  3. 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)
  4. 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.

Roundcube

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'] = '';

Más información: