GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Installa Roundcube Webmail su Ubuntu 20.04 con Apache/Nginx

Cubo rotondo è un client webmail open source gratuito e completo scritto in PHP. Una webmail è un client di posta nel tuo browser, il che significa che invece di leggere e inviare e-mail da un client di posta desktop come Mozilla Thunderbird, puoi accedere alla tua posta da un browser web. Questo tutorial ti mostrerà come installare la webmail Roundcube su Ubuntu 20.04 con il server web Apache o Nginx.

Caratteristiche Roundcube

La funzionalità Roundcube include:

  • Rubrica
  • Gestione delle cartelle
  • Ricerca di messaggi
  • Filtro messaggi
  • Controllo ortografico
  • Supporto MIME
  • Crittografia e firma PGP
  • Gli utenti possono modificare la propria password in Roundcube.
  • Importa email formattate MIME o Mbox.

Rilascio Roundcube 1.4

Roundcube 1.4 è stato rilasciato il 10 novembre 2019 dopo due anni di sviluppo. Questa versione presenta:

  • Una skin reattiva chiamata Elastico con supporto completo per i dispositivi mobili
  • Funzione email reinviata (rimbalzo)
  • Integrazione Mailvelope migliorata
  • Supporto per Redis e cache Memcached
  • Supporto per SMTPUTF8 e GSSAPI
  • Inoltre numerosi miglioramenti e correzioni di bug

Prerequisiti

Per seguire questo tutorial, si presume che

  • Il server SMTP Postfix e il server IMAP Dovecot sono stati installati sul tuo server Ubuntu 20.04
  • Hai già installato uno stack LAMP o LEMP sul server Ubuntu 20.04.

In caso contrario, fare clic sui collegamenti sopra e seguire le istruzioni per completare i prerequisiti. Nota che se hai configurato il tuo server di posta elettronica utilizzando iRedMail in precedenza, il tuo server soddisfa tutti i requisiti e Roundcube è già installato sul tuo server.

Ora procediamo con l'installazione di Roundcube.

Passaggio 1:scarica Roundcube Webmail su Ubuntu 20.04

Accedi al tuo server Ubuntu tramite SSH, quindi esegui il comando seguente per scaricare l'ultima versione stabile 1.4 dal repository Roundcube Github.

wget https://github.com/roundcube/roundcubemail/releases/download/1.4.6/roundcubemail-1.4.6-complete.tar.gz

Nota :puoi sempre utilizzare il formato URL sopra riportato per scaricare Roundcube dalla riga di comando. Se esce una nuova versione, sostituisci semplicemente 1.4.6 con il nuovo numero di versione. Puoi controllare se ci sono nuove versioni nella pagina di download di Roundcube.

Estrarre il tarball, spostare la cartella appena creata nella root web (/var/www/ ) e rinominalo come roundcube allo stesso tempo.

tar xvf roundcubemail-1.4.6-complete.tar.gz

sudo mv roundcubemail-1.4.6 /var/www/roundcube

Passaggio 2:installa le dipendenze

Esegui il comando seguente per installare le estensioni PHP richieste.

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

Installa Composer, che è un gestore delle dipendenze per PHP.

sudo apt install composer

Passa alla directory del cubo rotondo.

cd /var/www/roundcube

Usa Composer per installare tutte le dipendenze necessarie (librerie di terze parti) per Roundcube Webmail.

composer install --no-dev

Se vedi nothing to install or update messaggio, quindi tutte le dipendenze sono installate.

Rendi l'utente del server web (www-data ) in qualità di proprietario del temp e logs directory in modo che il server Web possa scrivere in queste due directory.

sudo chown www-data:www-data temp/ logs/ -R

Fase 3:crea un database MariaDB e un utente per Roundcube

Accedi alla shell di MariaDB come root.

sudo mysql -u root

Quindi crea un nuovo database per Roundcube usando il comando seguente. Questo tutorial lo chiama roundcube , puoi utilizzare il nome che preferisci per il database.

CREATE DATABASE roundcube DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

Quindi, crea un nuovo utente del database su localhost usando il comando seguente. Ancora una volta, questo tutorial lo chiama roundcubeuser , puoi usare il nome che preferisci. Sostituisci password con la tua password preferita.

CREATE USER roundcubeuser@localhost IDENTIFIED BY 'password';

Quindi concedi tutte le autorizzazioni del nuovo database al nuovo utente in modo che in seguito Webmail Roundcube possa scrivere nel database.

GRANT ALL PRIVILEGES ON roundcube.* TO roundcubeuser@localhost;

Svuota la tabella dei privilegi per rendere effettive le modifiche.

flush privileges;

Esci da MariaDB Shell:

exit;

Importa le tabelle iniziali in roundcube banca dati.

sudo mysql roundcube < /var/www/roundcube/SQL/mysql.initial.sql

Fase 4:crea un host virtuale Apache o un file di configurazione Nginx per Roundcube

Apache

Se utilizzi il server Web Apache, crea un host virtuale per Roundcube.

sudo nano /etc/apache2/sites-available/roundcube.conf

Nota :Se hai seguito il mio tutorial su Postfix/Dovecot, esiste già un host virtuale. dovresti modificare il seguente file. (Elimina il contenuto esistente.)

sudo nano /etc/apache2/sites-available/mail.example.com.conf

Inserisci il seguente testo nel file. Sostituisci mail.example.com con il tuo vero nome di dominio e non dimenticare di impostare un record DNS A per esso.

<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>

Salva e chiudi il file. Quindi abilita questo host virtuale con:

sudo a2ensite roundcube.conf

Ricarica Apache per rendere effettive le modifiche.

sudo systemctl reload apache2

Ora dovresti essere in grado di vedere la procedura guidata di installazione basata sul Web di Roundcube su http://mail.example.com/installer .

Nginx

Se utilizzi il server web Nginx, crea un host virtuale per Roundcube.

sudo nano /etc/nginx/conf.d/roundcube.conf

Nota :Se hai seguito il mio tutorial su Postfix/Dovecot, esiste già un host virtuale. dovresti modificare il seguente file. (Elimina il contenuto esistente.)

sudo nano /etc/nginx/conf.d/mail.example.com.conf

Inserisci il seguente testo nel file. Sostituisci il nome di dominio e non dimenticare di impostare il record DNS A per esso.

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;
  }
}

Salva e chiudi il file. Quindi testa le configurazioni di Nginx.

sudo nginx -t

Se il test ha esito positivo, ricarica Nginx per rendere effettive le modifiche.

sudo systemctl reload nginx

Ora dovresti essere in grado di vedere la procedura guidata di installazione basata sul Web di Roundcube su http://mail.example.com/installer .

Fase 5:abilitazione di HTTPS

Si consiglia vivamente di utilizzare TLS per crittografare la tua webmail. Possiamo abilitare HTTPS installando un certificato TLS gratuito emesso da Let's Encrypt. Esegui il comando seguente per installare il client Let's Encrypt (certbot) sul server Ubuntu 20.04.

sudo apt install certbot

Se usi Nginx, devi anche installare il plugin Certbot Nginx.

sudo apt install python3-certbot-nginx

Quindi, esegui il comando seguente per ottenere e installare il certificato TLS.

sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d mail.example.com

Se usi Apache, installa il plugin Certbot Apache.

sudo apt install python3-certbot-apache

Ed esegui questo comando per ottenere e installare il certificato TLS.

sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d mail.example.com

Dove

  • --nginx :usa il plugin nginx.
  • --apache :usa il plugin Apache.
  • --agree-tos :Accetta i termini di servizio.
  • --redirect :Forza HTTPS tramite reindirizzamento 301.
  • --hsts :aggiungi l'intestazione Strict-Transport-Security a ogni risposta HTTP. Forzare il browser a utilizzare sempre TLS per il dominio. Difende dallo stripping SSL/TLS.
  • --staple-ocsp :Abilita la pinzatura OCSP. Una risposta OCSP valida viene pinzata al certificato offerto dal server durante TLS.

Il certificato dovrebbe ora essere ottenuto e installato automaticamente.

Nota :Se hai seguito il mio tutorial su Postfix/Dovecot e ora installi Roundcube sullo stesso server, certbot probabilmente ti dirà che esiste già un certificato per mail.example.com come mostrato di seguito, quindi puoi scegliere di installare il TLS esistente certificato nel file di configurazione del tuo server web.

Fase 6:aggiunta di una voce DNS locale

Si consiglia di modificare il /etc/hosts file sul server di posta e aggiungi la seguente voce, in modo che Roundcube non debba interrogare il DNS pubblico, che accelererà un po' il caricamento della pagina web.

127.0.0.1  localhost mail.example.com

Fase 7:termina l'installazione nel browser Web

Nel tuo browser web, vai alla pagina di installazione di Roundcube.

https://mail.example.com/installer

Il programma di installazione web verificherà innanzitutto se sono installate estensioni PHP, database e librerie di terze parti. Se segui questo tutorial, tutti i requisiti dovrebbero essere soddisfatti.

Fare clic sul pulsante Avanti. Nella seconda pagina, vai a Database setup sezione. Devi inserire i dettagli del database MariaDB che hai creato nel passaggio 3.

La sezione IMAP e SMTP consente di configurare come ricevere e inviare e-mail. Immettere i seguenti valori per IMAP.

  • Host IMAP:ssl://mail.example.com porta:993

Immettere i seguenti valori per le impostazioni SMTP.

  • Porta SMTP:tls://mail.example.com porta:587 . Nota che devi usare tls:// come prefisso per la porta 587. Il ssl:// il prefisso dovrebbe essere usato per la porta 465.

Successivamente, puoi scorrere fino a Plugins sezione per abilitare alcuni plugin. Ad esempio, il plug-in della password, contrassegna come plug-in spazzatura e così via. Li ho abilitati tutti. (Puoi sempre disabilitare un plugin dopo l'installazione in /var/www/roundcube/config/config.inc.php file.)

Una volta fatto, fai clic su create config pulsante che creerà la configurazione in base alle informazioni che hai inserito. Devi copiare la configurazione e salvarla come config.inc.php sotto il /var/www/roundcube/config/ directory.

Una volta che il config.inc.php il file è stato creato, fai clic su continue pulsante. Nel passaggio finale, verifica le impostazioni SMTP e IMAP inviando un'e-mail di prova e controllando l'accesso IMAP. Tieni presente che devi inserire il tuo indirizzo email completo nel Sender campo durante il test della configurazione SMTP.

Se il test fallisce, puoi fare clic su 2. Create config link nella parte superiore della pagina per tornare al passaggio 2 e ricreare il config.inc.php file.

Se il test ha esito positivo, vai al tuo dominio Webmail senza /installer e accedi.

Interfaccia Webmail di Roundcube

Ora dovresti rimuovere l'intera cartella del programma di installazione dalla radice del documento o assicurati che enable_installer opzione in config.inc.php il file è disabilitato.

sudo rm /var/www/roundcube/installer/ -r

Questi file possono esporre al pubblico dati di configurazione sensibili come password del server e chiavi di crittografia. Assicurati di non poter accedere alla pagina di installazione dal tuo browser.

Fase 8:Configura il filtro dei messaggi Sieve

Puoi creare cartelle nella webmail Roundcube e quindi creare regole per filtrare i messaggi di posta elettronica in cartelle diverse. Per fare ciò, è necessario installare il server ManageSieve con il seguente comando.

sudo apt install dovecot-sieve dovecot-managesieved

Per impostazione predefinita, Postfix utilizza il suo agente di consegna locale (LDA) integrato per spostare le e-mail in entrata nel negozio di messaggi (posta in arrivo, inviato, cestino, posta indesiderata, ecc.). Possiamo configurarlo per utilizzare Dovecot per consegnare e-mail, tramite il protocollo LMTP, che è una versione semplificata di SMTP. LMTP consente un sistema di posta altamente scalabile e affidabile ed è necessario se si desidera utilizzare il plug-in sieve per filtrare i messaggi in entrata in cartelle diverse.

Installa il server LMTP Dovecot.

sudo apt install dovecot-lmtpd

Modifica il file di configurazione principale di Dovecot.

sudo nano /etc/dovecot/dovecot.conf

Aggiungi lmtp e sieve ai protocolli supportati.

protocols = imap lmtp sieve

Salva e chiudi il file. Quindi modifica Dovecot 10-master.conf file.

sudo nano /etc/dovecot/conf.d/10-master.conf

Modifica la definizione del servizio lmtp come segue.

service lmtp {
 unix_listener /var/spool/postfix/private/dovecot-lmtp {
   group = postfix
   mode = 0600
   user = postfix
  }
}

Quindi, modifica il file di configurazione principale di Postfix.

sudo nano /etc/postfix/main.cf

Aggiungi le seguenti righe alla fine del file. La prima riga dice a Postfix di consegnare le e-mail al negozio di messaggi locale tramite il server LMTP di dovecot. La seconda riga disabilita SMTPUTF8 in Postfix, perché Dovecot-LMTP non supporta questa estensione email.

mailbox_transport = lmtp:unix:private/dovecot-lmtp
smtputf8_enable = no

Salva e chiudi il file. Apri il /etc/dovecot/conf.d/15-lda.conf file.

sudo nano /etc/dovecot/conf.d/15-lda.conf

Scorri fino alla fine del file, decommenta mail_plugins riga e aggiungi il plug-in del setaccio all'agente di consegna locale (LDA).

protocol lda {
    # Space separated list of plugins to load (default is global mail_plugins).
    mail_plugins = $mail_plugins sieve
}

Salva e chiudi il file. Se riesci a trovare il 20-lmtp.conf file in /etc/dovecot/conf.d/ directory, quindi dovresti anche abilitare il plug-in sieve in quel file come di seguito.

protocol lmtp {
      mail_plugins = quota sieve
}

Modifica il /etc/dovecot/conf.d/10-mail.conf file.

sudo nano /etc/dovecot/conf.d/10-mail.conf

Gli script Sieve sono archiviati nella directory home di ciascun utente. Se hai seguito il mio tutorial su PostfixAdmin e stai utilizzando domini di cassette postali virtuali, devi abilitare mail_home per gli utenti virtuali aggiungendo la riga seguente nel file, perché gli utenti virtuali non hanno home directory per impostazione predefinita.

mail_home = /var/vmail/%d/%n

Salva e chiudi il file.

Infine, riavvia Postfix e Dovecot.

sudo systemctl restart postfix dovecot

Ora puoi andare alla webmail di Roundcube, aprire un messaggio e-mail e fare clic su more e seleziona create filters per creare filtri di messaggi. Ad esempio, creo un filtro che sposta ogni email inviata da redhat.com nella cartella Red Hat.

Se non hai il create filter opzione, probabilmente è perché non hai abilitato managesieve collegare. Modifica il config.inc.php file.

sudo nano /var/www/roundcube/config/config.inc.php

Aggiungi il managesieve plug-in nell'array alla fine di questo file. L'ordine dei plugin non ha importanza.

$config['plugins'] = array('acl', 'additional_message_headers', 'managesieve', .....);

Salva e chiudi il file.

Tieni presente che se sposti un set di filtri setaccio da un vecchio server di posta al tuo nuovo server di posta, devi andare su Impostazioni -> Filtri , quindi fai clic su Azioni e abilita il set di filtri, altrimenti il ​​server Dovecot LMTP non eseguirà il filtro setaccio.

Passaggio 9:rimozione delle informazioni sensibili dalle intestazioni delle email

Per impostazione predefinita, Roundcube aggiungerà un User-Agent intestazione dell'e-mail, che indica che stai utilizzando la webmail Roundcube e il numero di versione. Puoi dire a Postfix di ignorarlo in modo che il destinatario non possa vederlo. Esegui il comando seguente per creare un file di controllo dell'intestazione.

sudo nano /etc/postfix/smtp_header_checks

Inserisci le seguenti righe nel file.

/^User-Agent.*Roundcube Webmail/            IGNORE

Salva e chiudi il file. Quindi modifica il file di configurazione principale di Postfix.

sudo nano /etc/postfix/main.cf

Aggiungi la riga seguente alla fine del file.

smtp_header_checks = regexp:/etc/postfix/smtp_header_checks

Salva e chiudi il file. Quindi esegui il comando seguente per ricostruire la tabella hash.

sudo postmap /etc/postfix/smtp_header_checks

Ricarica Postfix per rendere effettive le modifiche.

sudo systemctl reload postfix

Ora Postfix non includerà User-Agent: Roundcube Webmail nelle intestazioni durante l'invio di email in uscita.

Fase 10:configura il plug-in password in Roundcube

Roundcube include un plug-in per password che consente agli utenti di modificare le proprie password dall'interfaccia webmail. Modifica il config.inc.php file.

sudo nano /var/www/roundcube/config/config.inc.php

Assicurati la password plug-in nell'elenco dei plug-in alla fine di questo file. L'ordine dei plugin non ha importanza.

$config['plugins'] = array('acl', 'additional_message_headers', 'password', .....);

Salva e chiudi il file.

Tuttavia, dobbiamo configurare questo plugin prima che funzioni. Esegui il comando seguente per copiare il file di configurazione del plug-in della password distribuita in un nuovo file.

sudo cp /var/www/roundcube/plugins/password/config.inc.php.dist /var/www/roundcube/plugins/password/config.inc.php

Modifica il file di configurazione del plug-in password.

sudo nano /var/www/roundcube/plugins/password/config.inc.php

Trova la seguente riga:

$config['password_db_dsn'] = '';

Questo parametro viene utilizzato per indicare al plug-in password dove sono memorizzate le password utente. Per impostazione predefinita, il valore è vuoto e interrogherà il roundcube database, che non memorizza le password degli utenti. Se hai seguito il mio tutorial su PostfixAdmin, le password utente vengono memorizzate nella postfixadmin.mailbox tabella, quindi dobbiamo cambiare il valore in:

$config['password_db_dsn'] = 'mysql://postfixadmin:[email protected]/postfixadmin';

Dice al plug-in della password di connettersi a postfixadmin Banca dati. Se non ricordi la password del database postfixadmin, puoi trovarla in /etc/dovecot/dovecot-sql.conf.ext file. Se la tua password PostfixAdmin contiene un singolo carattere di virgolette, puoi utilizzare la barra rovesciata (\' ) per evitarlo.

Quindi trova la riga seguente.

$config['password_query'] = 'SELECT update_passwd(%c, %u)';

Modificalo come segue.

$config['password_query'] = 'UPDATE mailbox SET password=%D,modified=NOW() WHERE username=%u';

Consiglio di abilitare un controllo della sicurezza della password per impedire agli utenti di impostare password deboli. Vai all'inizio di questo file, puoi trovare la riga seguente.

$config['password_strength_driver'] = null;

Possiamo usare il zxcvbn driver di sicurezza della password, quindi cambialo in:

$config['password_strength_driver'] = 'zxcvbn';

Aggiungi la riga seguente in questo file per consentire solo password complesse.

$config['password_zxcvbn_min_score'] = 5;

Nota :Il $config['password_minimum_score'] parametro non funziona con zxcvbn conducente, quindi lascia perdere.

È inoltre possibile impostare una lunghezza minima per la password. Trova la riga seguente.

$config['password_minimum_length'] = 0;

Cambialo in:

$config['password_minimum_length'] = 8;

Ricordiamo che abbiamo utilizzato lo schema password ARGON2I nel tutorial di PostfixAdmin, quindi dobbiamo anche configurare il plug-in password per utilizzare ARGON2I. Trova le seguenti righe nel file.

$config['password_algorithm'] = 'clear';

Per impostazione predefinita, la password verrà memorizzata come testo non crittografato, modificare il valore come segue per utilizzare l'algoritmo di password integrato di Dovecot.

$config['password_algorithm'] = 'dovecot';

Quindi trova la riga seguente, che dice dove si trova il generatore di hash della password di Dovecot.

$config['password_dovecotpw'] = '/usr/local/sbin/dovecotpw'; // for dovecot-1.x

Modificalo come segue.

$config['password_dovecotpw'] = '/usr/bin/doveadm pw -r 5';

Quindi trova la riga seguente, che indica quale schema di password verrà utilizzato.

$config['password_dovecotpw_method'] = 'CRAM-MD5';

Cambialo in:

$config['password_dovecotpw_method'] = 'ARGON2I';

Trova la riga seguente.

$config['password_dovecotpw_with_method'] = false;

Cambia false su true. Questo aggiungerà un prefisso {ARGON2I} alla password con hash, in modo da riconoscere quale schema di password viene utilizzato.

$config['password_dovecotpw_with_method'] = true;

Salva e chiudi il file. Poiché questo file contiene la password del database, dovremmo consentire solo i www-data utente di leggere e scrivere su questo file.

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

Ora gli utenti dovrebbero essere in grado di modificare le proprie password nell'interfaccia webmail di Roundcube.

Come impostare i messaggi di ferie/fuori sede

Possiamo usare il filtro setaccio per creare messaggi di ferie/fuori sede. Vai a Roundcube Impostazioni -> Filtri . Quindi fai clic su create pulsante per creare un filtro.

  • Assegna a questo filer un nome come "fuori sede".
  • I nuovi filtri non sono disabilitati, quindi puoi lasciare il pulsante da solo.
  • Nell'Ambito campo, seleziona tutti i messaggi.
  • Seleziona Rispondi con il messaggio nelle impostazioni Azioni e inserisci il messaggio che verrà inviato automaticamente.
  • Inserisci 1 in quanto spesso inviare messaggi , quindi la risposta automatica verrà inviata solo una volta al giorno per ciascun mittente. Se imposti questo valore su 7 , la risposta automatica verrà inviata una volta ogni 7 giorni per ciascun mittente.
  • Lascia gli altri campi di testo vuoti.
  • Fai clic su Salva pulsante e il gioco è fatto.

Quando torni in ufficio, puoi attivare il "Filtro disabilitato ” e fai clic su Salva pulsante per disabilitare questo filtro.

Aumenta il limite delle dimensioni del file di caricamento

Se utilizzi PHP-FPM per eseguire script PHP, i file come immagini, file PDF caricati su Roundcube non possono essere più grandi di 2 MB. Per aumentare il limite della dimensione del caricamento, modifica il file di configurazione PHP.

sudo nano /etc/php/7.4/fpm/php.ini

Trova la riga seguente (riga 846).

upload_max_filesize = 2M

Modifica il valore come di seguito. Tieni presente che questo valore non deve essere maggiore del limite di dimensione dell'allegato impostato dal server SMTP Postfix.

upload_max_filesize = 50M

Quindi trova la riga seguente (riga 694).

post_max_size = 8M

Modifica la dimensione massima dei dati POST che PHP accetterà.

post_max_size = 50M

Salva e chiudi il file. In alternativa, puoi eseguire i due comandi seguenti per modificare il valore senza aprire manualmente il file.

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

Quindi riavvia PHP-FPM.

sudo systemctl restart php7.4-fpm

Nginx imposta anche un limite per la dimensione del file di caricamento. Il limite di dimensione massima del file di caricamento predefinito impostato da Nginx è 1 MB. Se usi Nginx, modifica il file di configurazione di Nginx.

sudo nano /etc/nginx/conf.d/mail.example.com.conf

Aggiungi la seguente riga nell'host virtuale SSL.

client_max_body_size 50M;

Salva e chiudi il file. Quindi ricarica Nginx per rendere effettive le modifiche.

sudo systemctl reload nginx

Ci sono 3 plugin in Roundcube per allegati/caricamento file:

  • allegati_database
  • filesystem_attachments
  • allegati_ridondanti

Roundcube può utilizzare un solo plug-in per allegati/caricamenti di file. Ho scoperto che il database_attachment il plug-in può essere soggetto a errori e causare problemi. Per disabilitarlo, modifica il file di configurazione di Roundcube.

sudo nano /var/www/roundcube/config/config.inc.php

Scorri verso il basso fino alla fine di questo file. Vedrai un elenco di plugin attivi. Rimuovi 'database_attachments' dalla lista. Salva e chiudi il file.

Impostazione di più domini di posta

Per ospitare più domini di posta, leggi il seguente articolo:

  • Come ospitare più domini di posta in PostfixAdmin su Ubuntu

Suggerimenti per la risoluzione dei problemi

Se riscontri errori, puoi controllare i log degli errori del server web in /var/log/apache2/roundcube_error.log (se stai usando Apache) o /var/log/nginx/roundcube.error (se stai usando Nginx.), anche l'errore Roundcube registra /var/www/roundcube/logs/ directory.

Connessione al server di archiviazione non riuscita

Se vedi Connessione al server di archiviazione non riuscita errore quando si tenta di accedere a RoundCube, probabilmente è perché

  • Il server Dovecot non è in esecuzione. Puoi riavviare Dovecot con sudo systemctl restart dovecot e controlla il suo stato con systemctl status dovecot .
  • Stai utilizzando un certificato TLS autofirmato. Roundcube richiede un certificato TLS valido emesso da un'autorità di certificazione affidabile come Let's Encrypt.
  • Il tuo certificato TLS è scaduto. Puoi rinnovare il certificato Let's Encrypt TLS con sudo certbot renew , quindi riavvia Postfix e Dovecot (sudo systemctl restart postfix dovecot ).

Puoi anche provare ad aggiungere una voce DNS personalizzata in /etc/hosts come descritto nel passaggio 8 sul server Roundcube, in modo che Roundcube possa risolvere correttamente il nome host del server di posta.

Impossibile caricare il messaggio dal server

Se viene visualizzato il messaggio "Errore interno:impossibile caricare il messaggio dal server ” errore, è probabilmente perché stai tentando di aprire un'e-mail eliminata (URL non valido). Prova ad andare al dominio principale della posta (mail.example.com) per vedere se funziona.

Il filtro dei messaggi del setaccio non funziona?

Se hai seguito il passaggio 8 per impostare il filtro setaccio alla lettera, ma non riesci ancora a farlo funzionare, puoi abilitare il debug in Dovecot per scoprire cosa c'è che non va.

sudo nano /etc/dovecot/dovecot.conf

Aggiungi la riga seguente alla fine di questo file per abilitare il debug in Dovecot.

mail_debug=yes

Salva e chiudi il file. Quindi riavvia Dovecot.

sudo systemctl restart dovecot

Successivamente, invia un'e-mail di prova all'indirizzo e-mail del tuo dominio e apri il file di registro della posta.

sudo nano /var/log/mail.log

È possibile trovare informazioni di debug per il filtro messaggi Sieve. Ad esempio, ho scoperto che Dovecot non è stato in grado di eseguire il mio script Sieve.

Jan 10 11:35:24 mail dovecot: lmtp([email protected]) Debug: sieve: Aborted running script `/var/vmail/linuxbabe.com/xiao/.dovecot.svbin'

Si scopre che il mio filtro Sieve ha troppe regole e alcune di esse sono in conflitto tra loro. Elimino quelle regole in conflitto e funziona di nuovo.

Come aggiornare Roundcube

È molto semplice. Ad esempio, ecco come eseguire l'aggiornamento a Roundcube 1.5.0.

Scarica l'ultima versione di Roundcube nella tua home directory.

cd ~

wget https://github.com/roundcube/roundcubemail/releases/download/1.5.0/roundcubemail-1.5.0-complete.tar.gz

Estrai l'archivio.

tar xvf roundcubemail-1.5.0-complete.tar.gz

Cambia il proprietario in www-data .

chown www-data:www-data roundcubemail-1.5.0/ -R

Quindi esegui lo script di installazione.

roundcubemail-1.5.0/bin/installto.sh /var/www/roundcube/

Al termine, accedi alla webmail di Roundcube e fai clic su Informazioni per verificare quale versione di Rouncube stai utilizzando.


Ubuntu
  1. Come installare Jenkins Automation Server con Apache su Ubuntu 16.04

  2. Come installare il server HTTP Git con Nginx su Ubuntu 16.04

  3. Come installare Jenkins Automation Server con Apache su Ubuntu 18.04

  4. Come installare HTTP Git Server con Nginx su Ubuntu 20.04

  5. Installa phpMyAdmin su Ubuntu 20.04 con Nginx

Installa Roundcube Webmail su Ubuntu 20.04 con Apache/Nginx

Come installare Sonerezh Music Streaming Server su Ubuntu 16.04 con Apache o Nginx

Come installare InvoiceNinja su Ubuntu 18.04 Server con Apache/Nginx

Installa Matomo Web Analytics (Piwik) su Ubuntu 18.04 con Apache/Nginx

Installa Matomo Web Analytics (Piwik) su Ubuntu 20.04 con Apache/Nginx

Come installare InvoiceNinja su Ubuntu 20.04 Server con Apache/Nginx