Nuovo post della serie “appunti per tecnici anziani”.

Una volta configurato il simpatico server utilizzando questa guida come base (Debian 6 con Postfix, Dovecot e MySql per registrare utenti e virtual domain), sorge il dubbio: e adesso come ci accedo via WebMail?

Dopo qualche ricerca ho deciso di provare RoundCube, anche considerando che la nuova versione stabile è stata rilasciata il 14 dicembre 2011 (segno che il progetto è attivo).

Lasciando perdere la versione obsoleta nei repository, configuro il virtual domain per Apache (webmail.example.com) e ci decomprimo i file rimuovendo direttamente la cartella INSTALL. A questo punto bisogna procedere con la configurazione.

Creazione database MySql

Bisogna creare un nuovo database (e volendo un nuovo utente) per gestire sessioni e compagnia bella. Da console di MySql:

CREATE DATABASE roundcubemail;
GRANT ALL PRIVILEGES ON roundcubemail.* TO utente IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
USE roundcubemail;
SOURCE percorsowww/SQL/mysql.initial.sql;

Sostituire username, password e percorsowww con i dati corretti. L’ultima riga esegue un file .sql per creare le tabelle necessarie nel database roundcubemail.

File di configurazione

A questo punto bisogna rinominare (o meglio copiare) i file db.inc.php.dist e main.inc.php.dist in /config rimuovendo il .dist e apportare alcune modifiche.

db.inc.php (stringa di connessione al database MySql)

$rcmail_config['db_dsnw'] = 'mysql://utente:password@localhost/roundcubemail';

main.inc.php

$rcmail_config['default_host'] = 'localhost';
$rcmail_config['smtp_server'] = 'localhost';
$rcmail_config['create_default_folders'] = true;
$rcmail_config['junk_mbox'] = 'Spam';

Spiegazione ultima riga: tramite regole Sieve sposto lo SPAM filtrato da SpamAssassin in una cartella “Spam”, non “Junk” come previsto dal file di configurazione standard.

Plugin per la modifica delle password

Ok, funziona tutto. Ma se un utente non ha accesso al database MySql come può modificare la propria password? Semplice: basta attivare il plugin “Password” cambiando questa riga in main.inc.php

$rcmail_config['plugins'] = array('password');

Anche in questo caso il plugin ha un file di configurazione da sistemare (rinominare o copiare senza .dist il file /plugins/password/config.inc.php.dist).

$rcmail_config['password_confirm_current'] = true;
$rcmail_config['password_db_dsn'] = 'mysql://mailadminutente:mailadminpassword@localhost/maildb';
$rcmail_config['password_query'] = 'UPDATE users SET password=ENCRYPT(%p) WHERE email=%u LIMIT 1';

Nel mio caso l’utente MySql di RoundCube è diverso da quello utilizzato per gestire gli utenti di posta, per cui devo modificare la stringa di connessione specificando user, password e database corretti. Anche la stringa SQL deve essere adeguata in base alla struttura del database.

Permettere al browser di memorizzare utente e password
Anche in questo caso bisogna mettere mano al file di configurazione principale main.inc.php.

// Allow browser-autocompletion on login form.
// 0 - disabled, 1 - username and host only, 2 - username, host, password
$rcmail_config['login_autocomplete'] = 2;

Look

Questo è l’aspetto con il tema default di RoundCube 0.7

Questo invece è il nuovo tema “Larry” su trunk (0.8 via svn)


7 commenti/trackback a “Installazione e configurazione RoundCube 0.7”

  1. Carlo scrive:

    Grazie per questa utilissima risorsa.
    Ho un problema nell’installazione del plugin ‘password’: non riesco a capire quali dati mettere in queste righe

    $rcmail_config[‘password_db_dsn’] = ‘mysql://mailadminutente:mailadminpassword@localhost/maildb’;
    $rcmail_config[‘password_query’] = ‘UPDATE users SET password=ENCRYPT(%p) WHERE email=%u LIMIT 1’;

    hosting aruba con mysql

    Grazie e complimenti!

  2. flod scrive:

    Questa guida funziona per un server dedicato configurato come nella guida, dove gli utenti della mail sono configurati in un database mysql “maildb”, gestito da utente “mailadminutente” con password “mailadminpassword” 😉

    Se sei su un hosting condiviso da Aruba, non puoi fare quel tipo di modifica. Per la modifica delle password devi passare dagli strumenti messi a disposizione da Aruba stessa.

  3. Luigi scrive:

    Ciao, scusa le banalità che andrò a scrivere, essendo un neofita del settore.

    Sto provando a configurare un server di posta su CentOS 6, con Postefix, Dovecot, Maia Mail Guardian e Roundcube.

    Grazie alla tua guida ho installato Roundcube e sistemato il plugin per il cambio della password. Però, di fatto, la nuova password non viene salvata. Credo che il problema possa risiedere nel fatto che la guida che ho seguito non prevede la creazione di un database per la gestione degli utenti di posta.
    Credi se ne possa fare a meno?
    In caso negativo mi sai indicare il codice per un db minimale?

    Grazie, Luigi

  4. flod scrive:

    @luigi
    Vale il commento sopra, tutto dipende dalla configurazione. Se non hai un database per gestire gli utenti della posta la vedo dura che quel plugin funzioni (in alternativa devi verificare i file di configurazione per capire se è in grado di gestire situazioni diverse).

  5. Luigi scrive:

    Ciao, creando un database di gestione degli utenti di posta (come riportato nella guida che indichi all’inizio) sono riuscito a far funzionare il plugin, nel senso che si visualizza un messaggio di avvenuto salvataggio della nuova password ed effettivamente nella tabella del database essa viene cambiata.

    Se provo a cambiare nuovamente la password tramite plug-in accetta come buona l’ultima inserita e ne salva una seconda…

    Ma se esco da roundcube e provo a rientrare riconosce solo la password originale, non l’ultima salvata.

    Avendo sistemato il file /plugins/password/config.inc.php come indichi, non mi è chiaro dove può essere il problema…

    Forse mi sfugge qualche collegamento tra il database di gestione degli utenti di posta e quello di roundcube?

    Per la creazione dell’utente utilizzo il comando useradd, e poi gli assegno la password. Potrebbe essere questo da cambiare?

    Grazie in anticipo, Luigi.

  6. flod scrive:

    Per la creazione dell’utente utilizzo il comando useradd, e poi gli assegno la password. Potrebbe essere questo da cambiare?

    Gli utenti di posta sono in un database MySql, non sono utenti di sistema. Se usi “useradd” significa che stai nella seconda situazione.

  7. Luigi scrive:

    Ok, su questo siamo d’accordo.

    Il fatto è che ho provato a creare un utente e ad assegnargli la password nel solo DB MySql degli utenti della posta, ma ciò non permette l’allocazione dell’utente stesso in Roundcube.

    E’ come se per Roundcube non fosse stato creato affatto…

Trackback e pingback

  1. Nessun trackback o pingback disponibile per questo articolo

Non è possibile inserire nuovi commenti. I commenti vengono disattivati automaticamente dopo 60 giorni.