GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Instalar Roundcube Webmail en Ubuntu 20.04 con Apache/Nginx

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 usar tls:// como prefijo para el puerto 587. El ssl:// 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 con systemctl 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.


Ubuntu
  1. Cómo instalar Jenkins Automation Server con Apache en Ubuntu 16.04

  2. Cómo instalar el servidor HTTP Git con Nginx en Ubuntu 16.04

  3. Cómo instalar Jenkins Automation Server con Apache en Ubuntu 18.04

  4. Cómo instalar el servidor HTTP Git con Nginx en Ubuntu 20.04

  5. Instale phpMyAdmin en Ubuntu 20.04 con Nginx

Instalar Roundcube Webmail en Ubuntu 20.04 con Apache/Nginx

Cómo instalar Sonerezh Music Streaming Server en Ubuntu 16.04 con Apache o Nginx

Cómo instalar InvoiceNinja en un servidor Ubuntu 18.04 con Apache/Nginx

Instale Matomo Web Analytics (Piwik) en Ubuntu 18.04 con Apache/Nginx

Instale Matomo Web Analytics (Piwik) en Ubuntu 20.04 con Apache/Nginx

Cómo instalar InvoiceNinja en un servidor Ubuntu 20.04 con Apache/Nginx