Ricerca nel sito web

Come installare e configurare il client Webmail RoundCube con utenti virtuali in Postfix - Parte 4


Nelle parti dalla 1 alla 3 di questa serie Postfix abbiamo spiegato, passo dopo passo, come impostare e configurare un server di posta elettronica con utenti virtuali. Ti abbiamo anche mostrato come accedere a uno di questi account utilizzando Thunderbird come client di posta elettronica.

  1. Configurazione del server di posta Postfix e Dovecot con MariaDB – Parte 1
  2. Configurare gli utenti dei domini virtuali Postfix e Dovecot – Parte 2
  3. Installa e integra ClamAV e SpamAssassin nel server di posta Postfix – Parte 3

In quest'era di connettività in cui è probabile che tu abbia bisogno di accedere alla tua casella di posta da qualsiasi luogo (e non solo dal tuo computer di casa), i software lato server noti come client webmail ti consentono di leggere e inviare e-mail attraverso un'interfaccia web.

Roundcube è uno di questi programmi e, date le sue numerose funzionalità (di cui puoi leggere di più nel sito web del progetto) è quello che abbiamo scelto di utilizzare in questo tutorial.

Installa Roundcube Webmail per Postfix

In CentOS 7 e nelle distribuzioni basate come RHEL e Fedora, installare Roundcube è facile come fare:

yum update && yum install roundcubemail

Nota: tieni presente che Roundcube è incluso nel repository EPEL, che dobbiamo aver già abilitato come indicato nella Parte 1.

In Debian 8 e i suoi derivati come Ubuntu e Mint, dovrai prima abilitare i backport di Jessie (web):

echo "deb http://http.debian.net/debian jessie-backports main" >> /etc/apt/sources.list

Quindi installare Roundcube come segue:

aptitude update && aptitude install roundcube

Indipendentemente dalla distribuzione che stiamo utilizzando, ora dobbiamo creare un database per archiviare la struttura interna di Roundcube.

In Debian 8, il processo di installazione si occuperà di questo:

Scegli quando ti viene chiesto se desideri configurare il database Roundcube utilizzando dbconfig-common:

Scegli mysql come tipo di database:

Fornire la password per l'utente root di MariaDB:

E scegli una password per roundcube per registrarsi con il server del database, quindi fai clic su Ok:

Conferma la password inserita nel passaggio precedente:

E in breve tempo avrai un database chiamato roundcube e le tabelle corrispondenti create automaticamente per te:

MariaDB [(none)]> USE roundcube;
MariaDB [(none)]> SHOW TABLES;

In CentOS 7, dovrai creare manualmente il database accedendo a phpMyAdmin o tramite la riga di comando. Per brevità, utilizzeremo qui il secondo metodo proposto:

mysql -u root -p
MariaDB [(none)]> CREATE DATABASE RoundCube_db;

Quindi uscire dal prompt di MariaDB ed eseguire il seguente script SQL:

mysql -u root -p RoundCube_db < /usr/share/roundcubemail/SQL/mysql.initial.sql

Tieni presente che in Debian puoi anche eseguire questi passaggi manualmente. Pertanto, se lo desideri, puoi rinominare il tuo database invece di chiamarlo automaticamente "roundcube" come visto prima.

Configura Roundcube per Postfix

Per iniziare, dovresti notare che da RoundCube v1.0 in poi, le impostazioni di configurazione sono incluse in un solo file, a differenza delle versioni precedenti in cui erano divise in due file.

Innanzitutto, individua il seguente file e creane una copia denominata config.inc.php nella stessa directory. Utilizza l'opzione -p per preservare modalità, proprietà e timestamp originale:

cp -p /etc/roundcubemail/defaults.inc.php /etc/roundcubemail/config.inc.php

Successivamente, assicurati che Roundcube possa accedere al database che abbiamo creato in precedenza. In db_dsnw, sostituisci utente e password con un nome utente e una password con autorizzazioni per accedere a RoundCube_db.

Ad esempio, potresti utilizzare lo stesso account amministrativo che hai utilizzato per accedere a phpMyAdmin nella Parte 1 oppure puoi semplicemente utilizzare root se lo desideri.

$config['db_dsnw'] = 'mysql://user:password@localhost/RoundCube_db';

Le seguenti impostazioni si riferiscono al nome host, alle porte, al tipo di autenticazione e così via (sono autoesplicative, ma puoi trovare maggiori dettagli leggendo i commenti nel file di configurazione):

$config['default_host'] = 'ssl://mail.linuxnewz.com';
$config['default_port'] = 143;
$config['smtp_server'] = 'tls://mail.linuxnewz.com';
$config['smtp_port'] = 587;
$config['smtp_user'] = '%u';
$config['smtp_pass'] = '%p';
$config['smtp_auth_type'] = 'LOGIN';

Queste ultime due impostazioni (nome_prodotto e useragent) si riferiscono all'intestazione nell'interfaccia web e alle intestazioni delle email inviate con i messaggi.

$config['product_name'] = 'Linuxnewz Webmail - Powered by Roundcube';
$config['useragent'] = 'Linuxnewz Webmail';

Affinché Roundcube possa utilizzare l'autenticazione dell'utente virtuale per la posta in uscita, dobbiamo attivare il plugin virtuser_query (che può essere trovato in /usr/share/roundcubemail/plugins):

$config['plugins'] = array('virtuser_query');
$config['virtuser_query'] = "SELECT Email FROM EmailServer_db.Users_tbl WHERE Email = '%u'";

Nota come la query SQL sopra punta al database EmailServer_db che abbiamo configurato inizialmente nella Parte 1, che è dove sono archiviate le informazioni sugli utenti virtuali.

Infine, analogamente a quanto fatto nella Parte 1 per poter accedere all'interfaccia web di phpMyAdmin utilizzando un browser web, tuffiamoci nel file di configurazione Roundcube/Apache in:

vi /etc/httpd/conf.d/roundcubemail.conf # CentOS 7
nano /etc/roundcube/apache.conf # Debian 8

E inserisci le seguenti righe all'interno dei tag indicati:

Debian8:

<IfVersion >= 2.3> 
    Require ip AAA.BBB.CCC.DDD 
    Require all granted 
</IfVersion>

CentOS7:

<IfModule mod_authz_core.c> 
    # Apache 2.4 
    Require ip AAA.BBB.CCC.DDD 
    Require all granted 
</IfModule>

Sebbene non sia strettamente richiesto, è una buona idea cambiare l'alias della directory Roundcube per proteggersi dai bot che prendono di mira /roundcube come una porta nota per entrare nel tuo sistema. Sentiti libero di scegliere un alias adatto alle tue esigenze (andremo con la webmail qui):

Alias /webmail /usr/share/roundcubemail # CentOS 7
Alias /webmail /var/lib/roundcube # Debian 8

Salva le modifiche, esci dal file di configurazione e riavvia Apache:

systemctl restart httpd # CentOS 7
systemctl restart apache2 # Debian 8

Ora puoi aprire un browser web e puntarlo su https://mail.yourdomain.com/webmail e dovresti vedere qualcosa di simile a:

Ora puoi accedere con uno degli account che abbiamo configurato negli articoli precedenti e iniziare a inviare e ricevere email utilizzando Roundcube da qualsiasi luogo!

Personalizzazione della webmail Roundcube

Fortunatamente, l’interfaccia di Roundcube è abbastanza intuitiva e facile da configurare. A questo punto, potresti dedicare circa 15-30 minuti alla configurazione dell'ambiente e alla sua familiarità. Vai a Impostazioni per maggiori dettagli:

Tieni presente che l'immagine sopra mostra le email che abbiamo ricevuto in questo account ([email ).

Puoi fare clic su Scrivi e iniziare a scrivere un'email a un indirizzo email esterno:

Quindi premi Invia e controlla la destinazione per vedere se è arrivata correttamente:

Congratulazioni! Hai configurato correttamente Roundcube per inviare e ricevere e-mail!

Riepilogo

In questo articolo abbiamo spiegato come impostare e configurare Roundcube come client web. Mentre esplori l'interfaccia di Roundcube vedrai quanto è facile da usare, come descritto nella guida della Webmail.

Tuttavia, non esitare a farci sapere se hai domande o dubbi: inviaci semplicemente una nota utilizzando il modulo di commento qui sotto. Restiamo in attesa della vostra risposta!