Cubo redondo es un cliente de correo web gratuito de código abierto y con todas las funciones escrito en PHP. Un correo web es un cliente de correo en su navegador, lo que significa que en lugar de leer y enviar correos electrónicos desde un cliente de correo de escritorio como Mozilla Thunderbird, puede acceder a su correo electrónico desde un navegador web. Este tutorial le mostrará cómo instalar el correo web de Roundcube en Ubuntu 20.04 con el servidor web Apache o Nginx.
Características de Roundcube
La funcionalidad de Roundcube incluye:
- Libreta de direcciones
- Administración de carpetas
- Búsqueda de mensajes
- Filtro de mensajes
- Revisión ortográfica
- Compatibilidad con MIME
- Cifrado y firma PGP
- Los usuarios pueden cambiar su contraseña en Roundcube.
- Importar correos electrónicos con formato MIME o Mbox.
Lanzamiento de Roundcube 1.4
Roundcube 1.4 se lanzó el 10 de noviembre de 2019 después de dos años de desarrollo. Esta versión incluye:
- Una piel receptiva llamada Elástica con soporte completo para dispositivos móviles
- Función de reenvío (rebote) de correo electrónico
- Integración mejorada de Mailvelope
- Compatibilidad con caché de Redis y Memcached
- Compatibilidad con SMTPUTF8 y GSSAPI
- Además de numerosas mejoras y correcciones de errores
Requisitos
Para seguir este tutorial, se supone que
- El servidor Postfix SMTP y el servidor Dovecot IMAP se han instalado en su servidor Ubuntu 20.04
- Ya ha instalado una pila LAMP o una pila LEMP en el servidor Ubuntu 20.04.
De lo contrario, haga clic en los enlaces anteriores y siga las instrucciones para completar los requisitos previos. Tenga en cuenta que si configuró su servidor de correo electrónico usando iRedMail anteriormente, entonces su servidor cumple con todos los requisitos y Roundcube ya está instalado en su servidor.
Ahora procedamos a instalar Roundcube.
Paso 1:Descarga Roundcube Webmail en Ubuntu 20.04
Inicie sesión en su servidor Ubuntu a través de SSH, luego ejecute el siguiente comando para descargar la última versión estable 1.4 del repositorio Roundcube Github.
wget https://github.com/roundcube/roundcubemail/releases/download/1.4.6/roundcubemail-1.4.6-complete.tar.gz
Nota :Siempre puede usar el formato de URL anterior para descargar Roundcube desde la línea de comandos. Si sale una nueva versión, simplemente reemplace 1.4.6 con el nuevo número de versión. Puede verificar si hay una nueva versión en la página de descarga de Roundcube.
Extraiga el tarball, mueva la carpeta recién creada a la raíz web (/var/www/
) y renómbrelo como roundcube
al mismo tiempo.
tar xvf roundcubemail-1.4.6-complete.tar.gz sudo mv roundcubemail-1.4.6 /var/www/roundcube
Paso 2:Instalar dependencias
Ejecute el siguiente comando para instalar las extensiones de PHP requeridas.
sudo apt install php-net-ldap2 php-net-ldap3 php-imagick php7.4-common php7.4-gd php7.4-imap php7.4-json php7.4-curl php7.4-zip php7.4-xml php7.4-mbstring php7.4-bz2 php7.4-intl php7.4-gmp
Instale Composer, que es un administrador de dependencias para PHP.
sudo apt install composer
Cambie al directorio de roundcube.
cd /var/www/roundcube
Use Composer para instalar todas las dependencias necesarias (bibliotecas de terceros) para Roundcube Webmail.
composer install --no-dev
Si ve nothing to install or update
mensaje, luego se instalarán todas las dependencias.
Haga que el usuario del servidor web (www-data
) como propietario del temp
y logs
directorio para que el servidor web pueda escribir en estos dos directorios.
sudo chown www-data:www-data temp/ logs/ -R
Paso 3:Cree una base de datos MariaDB y un usuario para Roundcube
Inicie sesión en el shell de MariaDB como root.
sudo mysql -u root
Luego cree una nueva base de datos para Roundcube usando el siguiente comando. Este tutorial lo llama roundcube
, puede usar el nombre que desee para la base de datos.
CREATE DATABASE roundcube DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
Luego, cree un nuevo usuario de base de datos en localhost usando el siguiente comando. Nuevamente, este tutorial lo llama roundcubeuser
, puedes usar el nombre que quieras. Reemplazar password
con su contraseña preferida.
CREATE USER roundcubeuser@localhost IDENTIFIED BY 'password';
Luego otorgue todos los permisos de la nueva base de datos al nuevo usuario para que más tarde el correo web de Roundcube pueda escribir en la base de datos.
GRANT ALL PRIVILEGES ON roundcube.* TO roundcubeuser@localhost;
Vacíe la tabla de privilegios para que los cambios surtan efecto.
flush privileges;
Salir de MariaDB Shell:
exit;
Importa las tablas iniciales a roundcube
base de datos.
sudo mysql roundcube < /var/www/roundcube/SQL/mysql.initial.sql
Paso 4:Cree un host virtual de Apache o un archivo de configuración de Nginx para Roundcube
Apache
Si usa el servidor web Apache, cree un host virtual para Roundcube.
sudo nano /etc/apache2/sites-available/roundcube.conf
Nota :Si siguió mi tutorial de Postfix/Dovecot, ya existe un servidor virtual. debe editar el siguiente archivo. (Elimine el contenido existente).
sudo nano /etc/apache2/sites-available/mail.example.com.conf
Coloque el siguiente texto en el archivo. Reemplace mail.example.com
con su nombre de dominio real y no olvide establecer un registro DNS A para él.
<VirtualHost *:80> ServerName mail.example.com DocumentRoot /var/www/roundcube/ ErrorLog ${APACHE_LOG_DIR}/roundcube_error.log CustomLog ${APACHE_LOG_DIR}/roundcube_access.log combined <Directory /> Options FollowSymLinks AllowOverride All </Directory> <Directory /var/www/roundcube/> Options FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all </Directory> </VirtualHost>
Guarde y cierre el archivo. Luego habilite este host virtual con:
sudo a2ensite roundcube.conf
Vuelva a cargar Apache para que los cambios surtan efecto.
sudo systemctl reload apache2
Ahora debería poder ver el asistente de instalación basado en web de Roundcube en http://mail.example.com/installer
.
Nginx
Si usa el servidor web Nginx, cree un host virtual para Roundcube.
sudo nano /etc/nginx/conf.d/roundcube.conf
Nota :Si siguió mi tutorial de Postfix/Dovecot, ya existe un servidor virtual. debe editar el siguiente archivo. (Elimine el contenido existente).
sudo nano /etc/nginx/conf.d/mail.example.com.conf
Coloque el siguiente texto en el archivo. Reemplace el nombre de dominio y no olvide establecer un registro DNS A para él.
server { listen 80; listen [::]:80; server_name mail.example.com; root /var/www/roundcube/; index index.php index.html index.htm; error_log /var/log/nginx/roundcube.error; access_log /var/log/nginx/roundcube.access; location / { try_files $uri $uri/ /index.php; } location ~ \.php$ { try_files $uri =404; fastcgi_pass unix:/run/php/php7.4-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } location ~ /.well-known/acme-challenge { allow all; } location ~ ^/(README|INSTALL|LICENSE|CHANGELOG|UPGRADING)$ { deny all; } location ~ ^/(bin|SQL)/ { deny all; } # A long browser cache lifetime can speed up repeat visits to your page location ~* \.(jpg|jpeg|gif|png|webp|svg|woff|woff2|ttf|css|js|ico|xml)$ { access_log off; log_not_found off; expires 360d; } }
Guarde y cierre el archivo. Luego pruebe las configuraciones de Nginx.
sudo nginx -t
Si la prueba es exitosa, vuelva a cargar Nginx para que los cambios surtan efecto.
sudo systemctl reload nginx
Ahora debería poder ver el asistente de instalación basado en web de Roundcube en http://mail.example.com/installer
.
Paso 5:habilitar HTTPS
Se recomienda encarecidamente que utilice TLS para cifrar su correo web. Podemos habilitar HTTPS instalando un certificado TLS gratuito emitido por Let's Encrypt. Ejecute el siguiente comando para instalar el cliente Let's Encrypt (certbot) en el servidor Ubuntu 20.04.
sudo apt install certbot
Si usa Nginx, también necesita instalar el complemento Certbot Nginx.
sudo apt install python3-certbot-nginx
A continuación, ejecute el siguiente comando para obtener e instalar el certificado TLS.
sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d mail.example.com
Si usa Apache, instale el complemento Certbot Apache.
sudo apt install python3-certbot-apache
Y ejecute este comando para obtener e instalar el certificado TLS.
sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d mail.example.com
donde
--nginx
:use el complemento nginx.--apache
:Utilice el complemento de Apache.--agree-tos
:Acepto los términos del servicio.--redirect
:Forzar HTTPS por redirección 301.--hsts
:agregue el encabezado Strict-Transport-Security a cada respuesta HTTP. Obligar al navegador a usar siempre TLS para el dominio. Protege contra la eliminación de SSL/TLS.--staple-ocsp
:activa el grapado OCSP. Se grapa una respuesta OCSP válida al certificado que ofrece el servidor durante TLS.
Ahora se debe obtener el certificado e instalarlo automáticamente.
Nota :Si siguió mi tutorial de Postfix/Dovecot y ahora instala Roundcube en el mismo servidor, entonces certbot probablemente le dirá que ya existe un certificado para mail.example.com como se muestra a continuación, por lo que puede optar por instalar el TLS existente certificado en el archivo de configuración de su servidor web.
Paso 6:agregar una entrada de DNS local
Se recomienda editar el /etc/hosts
archivo en el servidor de correo y agregue la siguiente entrada, para que Roundcube no tenga que consultar el DNS público, lo que acelerará un poco la carga de la página web.
127.0.0.1 localhost mail.example.com
Paso 7:finalice la instalación en el navegador web
En su navegador web, vaya a la página del instalador de Roundcube.
https://mail.example.com/installer
El instalador web primero verificará si las extensiones de PHP, la base de datos y las bibliotecas de terceros están instaladas. Si sigue este tutorial, entonces se deben cumplir todos los requisitos.
Haga clic en el botón Siguiente. En la segunda página, vaya a Database setup
sección. Debe completar los detalles de la base de datos MariaDB que creó en el paso 3.
La sección IMAP y SMTP le permite configurar cómo recibir y enviar correo electrónico. Introduzca los siguientes valores para IMAP.
- Host IMAP:
ssl://mail.example.com
puerto:993
Introduzca los siguientes valores para la configuración de SMTP.
- Puerto SMTP:
tls://mail.example.com
puerto:587
. Tenga en cuenta que debe usartls://
como prefijo para el puerto 587. Elssl://
el prefijo debe usarse para el puerto 465.
A continuación, puede desplazarse hacia abajo hasta Plugins
sección para habilitar algunos complementos. Por ejemplo, el complemento de contraseña, marcar como complemento no deseado, etc. Los habilité a todos. (Siempre puede deshabilitar un complemento después de la instalación en /var/www/roundcube/config/config.inc.php
archivo.)
Una vez hecho esto, haga clic en create config
que creará una configuración basada en la información que ingresó. Debe copiar la configuración y guardarla como config.inc.php
bajo /var/www/roundcube/config/
directorio.
Una vez que el config.inc.php
se crea el archivo, haga clic en continue
botón. En el paso final, pruebe su configuración de SMTP e IMAP enviando un correo electrónico de prueba y verificando el inicio de sesión de IMAP. Tenga en cuenta que debe ingresar su dirección de correo electrónico completa en Sender
campo al probar la configuración SMTP.
Si la prueba falla, puede hacer clic en el 2. Create config
enlace en la parte superior de la página para volver al paso 2 y recrear el config.inc.php
archivo.
Si la prueba es exitosa, vaya a su dominio de Webmail sin /installer
e inicie sesión.
Interfaz de correo web de Roundcube
Ahora deberías eliminar toda la carpeta del instalador desde la raíz del documento o asegúrese de que enable_installer
opción en config.inc.php
el archivo está deshabilitado.
sudo rm /var/www/roundcube/installer/ -r
Estos archivos pueden exponer al público datos de configuración confidenciales, como contraseñas de servidor y claves de cifrado. Asegúrese de que no puede acceder a la página del instalador desde su navegador.
Paso 8:configurar el filtro de mensajes de filtrado
Puede crear carpetas en el correo web de Roundcube y luego crear reglas para filtrar los mensajes de correo electrónico en diferentes carpetas. Para hacer esto, debe instalar el servidor ManageSieve con el siguiente comando.
sudo apt install dovecot-sieve dovecot-managesieved
De forma predeterminada, Postfix utiliza su agente de entrega local (LDA) integrado para mover los correos electrónicos entrantes al almacén de mensajes. (bandeja de entrada, enviados, papelera, basura, etc.). Podemos configurarlo para usar Dovecot para entregar correos electrónicos, a través del protocolo LMTP, que es una versión simplificada de SMTP. LMTP permite un sistema de correo altamente escalable y confiable y es necesario si desea usar el complemento de tamiz para filtrar los mensajes entrantes a diferentes carpetas.
Instale el servidor Dovecot LMTP.
sudo apt install dovecot-lmtpd
Edite el archivo de configuración principal de Dovecot.
sudo nano /etc/dovecot/dovecot.conf
Añadir lmtp
y sieve
a los protocolos soportados.
protocols = imap lmtp sieve
Guarde y cierre el archivo. Luego edite Dovecot 10-master.conf archivo.
sudo nano /etc/dovecot/conf.d/10-master.conf
Cambie la definición del servicio lmtp a lo siguiente.
service lmtp { unix_listener /var/spool/postfix/private/dovecot-lmtp { group = postfix mode = 0600 user = postfix } }
A continuación, edite el archivo de configuración principal de Postfix.
sudo nano /etc/postfix/main.cf
Agregue las siguientes líneas al final del archivo. La primera línea le dice a Postfix que envíe correos electrónicos al almacén de mensajes local a través del servidor Dovecot LMTP. La segunda línea deshabilita SMTPUTF8 en Postfix, porque Dovecot-LMTP no admite esta extensión de correo electrónico.
mailbox_transport = lmtp:unix:private/dovecot-lmtp smtputf8_enable = no
Guarde y cierre el archivo. Abra el /etc/dovecot/conf.d/15-lda.conf
archivo.
sudo nano /etc/dovecot/conf.d/15-lda.conf
Desplácese hasta el final del archivo, descomente los mail_plugins
línea y agregue el complemento de tamiz al agente de entrega local (LDA).
protocol lda { # Space separated list of plugins to load (default is global mail_plugins). mail_plugins = $mail_plugins sieve }
Guarde y cierre el archivo. Si puede encontrar el 20-lmtp.conf
archivo bajo /etc/dovecot/conf.d/
directorio, entonces también debe habilitar el complemento de tamiz en ese archivo como se muestra a continuación.
protocol lmtp { mail_plugins = quota sieve }
Edite el /etc/dovecot/conf.d/10-mail.conf
archivo.
sudo nano /etc/dovecot/conf.d/10-mail.conf
Los scripts de tamiz se almacenan en el directorio de inicio de cada usuario. Si siguió mi tutorial de PostfixAdmin y está utilizando dominios de buzón de correo virtual, entonces necesita habilitar mail_home
para los usuarios virtuales agregando la siguiente línea en el archivo, porque los usuarios virtuales no tienen directorios de inicio por defecto.
mail_home = /var/vmail/%d/%n
Guarde y cierre el archivo.
Finalmente, reinicie Postfix y Dovecot.
sudo systemctl restart postfix dovecot
Ahora puede ir al correo web de Roundcube, abrir un mensaje de correo electrónico y hacer clic en more
y seleccione create filters
para crear filtros de mensajes. Por ejemplo, creo un filtro que mueve todos los correos electrónicos enviados desde redhat.com a la carpeta de Red Hat.
Si no tienes el create filter
opción, probablemente se deba a que no habilitó el managesieve
enchufar. Edite el config.inc.php
archivo.
sudo nano /var/www/roundcube/config/config.inc.php
Agrega el managesieve
complemento en la matriz al final de este archivo. El orden de los complementos no importa.
$config['plugins'] = array('acl', 'additional_message_headers', 'managesieve', .....);
Guarde y cierre el archivo.
Tenga en cuenta que si mueve un conjunto de filtros de tamiz de un servidor de correo antiguo a su nuevo servidor de correo, debe ir a Configuración -> Filtros y luego haga clic en Acciones y habilite el conjunto de filtros, o el servidor Dovecot LMTP no ejecutará el filtro de tamiz.
Paso 9:Eliminar información confidencial de los encabezados de correo electrónico
De forma predeterminada, Roundcube agregará un User-Agent
encabezado del correo electrónico, que indica que está utilizando el correo web de Roundcube y el número de versión. Puede decirle a Postfix que lo ignore para que el destinatario no pueda verlo. Ejecute el siguiente comando para crear un archivo de verificación de encabezado.
sudo nano /etc/postfix/smtp_header_checks
Ponga las siguientes líneas en el archivo.
/^User-Agent.*Roundcube Webmail/ IGNORE
Guarde y cierre el archivo. Luego edite el archivo de configuración principal de Postfix.
sudo nano /etc/postfix/main.cf
Agregue la siguiente línea al final del archivo.
smtp_header_checks = regexp:/etc/postfix/smtp_header_checks
Guarde y cierre el archivo. Luego ejecute el siguiente comando para reconstruir la tabla hash.
sudo postmap /etc/postfix/smtp_header_checks
Vuelva a cargar Postfix para que el cambio surta efecto.
sudo systemctl reload postfix
Ahora Postfix no incluirá User-Agent: Roundcube Webmail
en los encabezados al enviar correos electrónicos salientes.
Paso 10:configurar el complemento de contraseña en Roundcube
Roundcube incluye un complemento de contraseña que permite a los usuarios cambiar sus contraseñas desde la interfaz de correo web. Edite el config.inc.php
archivo.
sudo nano /var/www/roundcube/config/config.inc.php
Asegúrese de que la password
complemento en la lista de complementos al final de este archivo. El orden de los complementos no importa.
$config['plugins'] = array('acl', 'additional_message_headers', 'password', .....);
Guarde y cierre el archivo.
Sin embargo, necesitamos configurar este complemento antes de que funcione. Ejecute el siguiente comando para copiar el archivo de configuración del complemento de contraseña distribuido en un archivo nuevo.
sudo cp /var/www/roundcube/plugins/password/config.inc.php.dist /var/www/roundcube/plugins/password/config.inc.php
Edite el archivo de configuración del complemento de contraseña.
sudo nano /var/www/roundcube/plugins/password/config.inc.php
Busque la siguiente línea:
$config['password_db_dsn'] = '';
Este parámetro se usa para decirle al complemento de contraseña dónde se almacenan las contraseñas de los usuarios. De forma predeterminada, el valor está vacío y consultará el roundcube
base de datos, que no almacena las contraseñas de los usuarios. Si siguió mi tutorial de PostfixAdmin, las contraseñas de los usuarios se almacenan en el postfixadmin.mailbox
tabla, por lo que debemos cambiar el valor a:
$config['password_db_dsn'] = 'mysql://postfixadmin:[email protected]/postfixadmin';
El le dice al complemento de contraseña que se conecte al postfixadmin
base de datos. Si no recuerda la contraseña de su base de datos postfixadmin, puede encontrarla en /etc/dovecot/dovecot-sql.conf.ext
expediente. Si su contraseña de PostfixAdmin contiene un carácter de comillas simples, entonces puede usar una barra invertida (\'
) para escapar.
Luego busque la siguiente línea.
$config['password_query'] = 'SELECT update_passwd(%c, %u)';
Cámbielo a lo siguiente.
$config['password_query'] = 'UPDATE mailbox SET password=%D,modified=NOW() WHERE username=%u';
Recomiendo habilitar un verificador de seguridad de contraseña para evitar que los usuarios configuren contraseñas débiles. Vaya al principio de este archivo, puede encontrar la siguiente línea.
$config['password_strength_driver'] = null;
Podemos usar el zxcvbn
controlador de seguridad de la contraseña, así que cámbielo a:
$config['password_strength_driver'] = 'zxcvbn';
Agregue la siguiente línea en este archivo para permitir solo contraseñas seguras.
$config['password_zxcvbn_min_score'] = 5;
Nota :El $config['password_minimum_score']
el parámetro no funciona con zxcvbn
conductor, así que déjalo en paz.
También puede establecer una longitud mínima para la contraseña. Busque la siguiente línea.
$config['password_minimum_length'] = 0;
Cámbialo por:
$config['password_minimum_length'] = 8;
Recuerde que usamos el esquema de contraseña ARGON2I en el tutorial de PostfixAdmin, por lo que también debemos configurar el complemento de contraseña para usar ARGON2I. Busque las siguientes líneas en el archivo.
$config['password_algorithm'] = 'clear';
De manera predeterminada, la contraseña se almacenará como texto claro, cambie el valor al siguiente para usar el algoritmo de contraseña integrado de Dovecot.
$config['password_algorithm'] = 'dovecot';
Luego busque la siguiente línea, que indica dónde se encuentra el generador de hash de contraseña de Dovecot.
$config['password_dovecotpw'] = '/usr/local/sbin/dovecotpw'; // for dovecot-1.x
Cámbielo a lo siguiente.
$config['password_dovecotpw'] = '/usr/bin/doveadm pw -r 5';
Luego busque la siguiente línea, que indica qué esquema de contraseña se utilizará.
$config['password_dovecotpw_method'] = 'CRAM-MD5';
Cámbialo por:
$config['password_dovecotpw_method'] = 'ARGON2I';
Busque la siguiente línea.
$config['password_dovecotpw_with_method'] = false;
Cambiar false
a true.
Esto agregará un prefijo {ARGON2I} a la contraseña codificada, por lo que reconocerá qué esquema de contraseña se usa.
$config['password_dovecotpw_with_method'] = true;
Guarde y cierre el archivo. Dado que este archivo contiene la contraseña de la base de datos, deberíamos permitir solo www-data
usuario para leer y escribir en este archivo.
sudo chown www-data:www-data /var/www/roundcube/plugins/password/config.inc.php sudo chmod 600 /var/www/roundcube/plugins/password/config.inc.php
Ahora los usuarios deberían poder cambiar sus contraseñas en la interfaz de correo web de Roundcube.
Cómo configurar mensajes de vacaciones/fuera de la oficina
Podemos usar el filtro de tamiz para crear mensajes de vacaciones/fuera de la oficina. Vaya a Configuración de Roundcube -> Filtros . Luego haga clic en create
botón para crear un filtro.
- Dé a este archivador un nombre como "fuera de la oficina".
- Los nuevos filtros no están deshabilitados, por lo que puede dejar el botón solo.
- En el Alcance campo, seleccione todos los mensajes.
- Seleccione Responder con mensaje en la configuración de Acciones e ingrese el mensaje que se enviará automáticamente.
- Ingrese 1 en con qué frecuencia enviar mensajes , por lo que la respuesta automática se enviará solo una vez al día para cada remitente. Si establece este valor en 7 , la respuesta automática se enviará una vez cada 7 días para cada remitente.
- Deje otros campos de texto vacíos.
- Haga clic en Guardar y listo.
Cuando regrese a la oficina, puede alternar el "Filtro deshabilitado y haga clic en el botón Guardar botón para deshabilitar este filtro.
Aumentar el límite de tamaño del archivo de carga
Si usa PHP-FPM para ejecutar secuencias de comandos PHP, entonces los archivos como imágenes, archivos PDF cargados en Roundcube no pueden tener más de 2 MB. Para aumentar el límite de tamaño de carga, edite el archivo de configuración de PHP.
sudo nano /etc/php/7.4/fpm/php.ini
Busque la siguiente línea (línea 846).
upload_max_filesize = 2M
Cambie el valor como a continuación. Tenga en cuenta que este valor no debe ser mayor que el límite de tamaño de archivo adjunto establecido por el servidor SMTP de Postfix.
upload_max_filesize = 50M
Luego busque la siguiente línea (línea 694).
post_max_size = 8M
Cambie el tamaño máximo de los datos POST que PHP aceptará.
post_max_size = 50M
Guarde y cierre el archivo. Alternativamente, puede ejecutar los siguientes dos comandos para cambiar el valor sin abrir manualmente el archivo.
sudo sed -i 's/upload_max_filesize = 2M/upload_max_filesize = 50M/g' /etc/php/7.4/fpm/php.ini sudo sed -i 's/post_max_size = 8M/post_max_size = 50M/g' /etc/php/7.4/fpm/php.ini
Luego reinicie PHP-FPM.
sudo systemctl restart php7.4-fpm
Nginx también establece un límite de tamaño de archivo de carga. El límite de tamaño de archivo de carga máximo predeterminado establecido por Nginx es 1 MB. Si usa Nginx, edite el archivo de configuración de Nginx.
sudo nano /etc/nginx/conf.d/mail.example.com.conf
Agregue la siguiente línea en el host virtual SSL.
client_max_body_size 50M;
Guarde y cierre el archivo. Luego, vuelva a cargar Nginx para que los cambios surtan efecto.
sudo systemctl reload nginx
Hay 3 complementos en Roundcube para archivos adjuntos/carga de archivos:
- archivos adjuntos_de_base_de_datos
- archivos_archivos adjuntos
- archivos adjuntos_redundantes
Roundcube puede usar solo un complemento para archivos adjuntos/carga de archivos. Encontré que el database_attachment
El complemento puede ser propenso a errores y causarle problemas. Para deshabilitarlo, edite el archivo de configuración de Roundcube.
sudo nano /var/www/roundcube/config/config.inc.php
Desplácese hacia abajo hasta el final de este archivo. Verá una lista de complementos activos. Eliminar 'database_attachments'
de la lista. Guarde y cierre el archivo.
Configuración de múltiples dominios de correo
Para alojar varios dominios de correo, lea el siguiente artículo:
- Cómo alojar múltiples dominios de correo en PostfixAdmin en Ubuntu
Consejos para solucionar problemas
Si encuentra errores, puede consultar los registros de errores del servidor web en /var/log/apache2/roundcube_error.log
(si está usando Apache), o /var/log/nginx/roundcube.error
(si está utilizando Nginx), también el error de Roundcube se registra en /var/www/roundcube/logs/
directorio.
Error en la conexión al servidor de almacenamiento
Si ve el mensaje Error en la conexión con el servidor de almacenamiento error al intentar iniciar sesión en RoundCube, probablemente se deba a que
- El servidor Dovecot no se está ejecutando. Puede reiniciar Dovecot con
sudo systemctl restart dovecot
y verifique su estado consystemctl status dovecot
. - Está utilizando un certificado TLS autofirmado. Roundcube requiere un certificado TLS válido emitido por una autoridad de certificación de confianza como Let's Encrypt.
- Su certificado TLS caducó. Puede renovar el certificado TLS de Let's Encrypt con
sudo certbot renew
, luego reinicie Postfix y Dovecot (sudo systemctl restart postfix dovecot
).
También puede intentar agregar una entrada DNS personalizada en /etc/hosts
como se describe en el paso 8 en el servidor de Roundcube, para que Roundcube pueda resolver correctamente el nombre de host del servidor de correo.
No se pudo cargar el mensaje desde el servidor
Si ve el mensaje “Error interno:no se pudo cargar el mensaje del servidor "Error, probablemente se deba a que está intentando abrir un correo electrónico eliminado (URL no válida). Intente ir al dominio raíz del correo (mail.example.com) para ver si funciona.
¿El filtro de mensajes de filtro no funciona?
Si siguió el paso 8 para configurar el filtro de tamiz al pie de la letra, pero aún no puede hacerlo funcionar, entonces puede habilitar la depuración en Dovecot para averiguar qué está mal.
sudo nano /etc/dovecot/dovecot.conf
Agregue la siguiente línea al final de este archivo para habilitar la depuración en Dovecot.
mail_debug=yes
Guarde y cierre el archivo. Luego reinicie Dovecot.
sudo systemctl restart dovecot
A continuación, envíe un correo electrónico de prueba a la dirección de correo electrónico de su dominio y abra el archivo de registro de correo.
sudo nano /var/log/mail.log
Puede encontrar información de depuración para el filtro de mensajes Sieve. Por ejemplo, descubrí que Dovecot no podía ejecutar mi secuencia de comandos Sieve.
Jan 10 11:35:24 mail dovecot: lmtp([email protected]) Debug: sieve: Aborted running script `/var/vmail/linuxbabe.com/xiao/.dovecot.svbin'
Resulta que mi filtro Sieve tiene demasiadas reglas y algunas de ellas están en conflicto entre sí. Elimino esas reglas en conflicto y funciona de nuevo.
Cómo actualizar Roundcube
Es muy sencillo. Por ejemplo, aquí se explica cómo actualizar a Roundcube 1.5.0.
Descargue la última versión de Roundcube en su directorio de inicio.
cd ~ wget https://github.com/roundcube/roundcubemail/releases/download/1.5.0/roundcubemail-1.5.0-complete.tar.gz
Extraiga el archivo.
tar xvf roundcubemail-1.5.0-complete.tar.gz
Cambia el propietario a www-data
.
chown www-data:www-data roundcubemail-1.5.0/ -R
Luego ejecute el script de instalación.
roundcubemail-1.5.0/bin/installto.sh /var/www/roundcube/
Una vez que haya terminado, inicie sesión en el correo web de Roundcube y haga clic en Acerca de botón para comprobar qué versión de Rouncube está utilizando.