User Tools

Site Tools


doc:appunti:linux:sa:roundcube

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
doc:appunti:linux:sa:roundcube [2018/10/04 10:39] – [Virtual users ed alias] niccolodoc:appunti:linux:sa:roundcube [2019/04/26 17:43] – [Plugin roundcube-vacation-2.x] niccolo
Line 152: Line 152:
 $rcmail_config['smtp_pass'] = '%p'; $rcmail_config['smtp_pass'] = '%p';
 </file> </file>
-===== Virtual users ed alias =====+===== Virtual users ed email alias =====
  
-**ATTENZIONE**: Con la **versione 1.2.3** di Roundcube non esiste più il campo **alias** nella tabella **users** (esisteva nella versione 0.7.2)FIXME Come fare login indifferentemente con username e indirizzo di posta elettronica?+**ATTENZIONE**: Questa ricetta funziona su **Debian Stretch**, che installa **Roundcube 1.2.3**. La situazione è cambiata rispetto a Debian Jessie, dove Roundcube 0.7.2 aveva il campo //alias// nella tabella //users//, rimosso nella versione più recente.
  
-È possibile fare login con l'indirizzo email invece dello username Unixin questo caso l'autenticazione imap/courier-authdaemon accetta le credenziali verificando il file **''/etc/courier/userdb''** (il file deve esistere e courier-authdaemon deve essere configurato opportunamente).+Al primo **login nella webmail** viene creata automaticamente una riga nella tabella **users**: nel campo **username** viene memorizzato il nome usato per il loginche è stato **autenticato via IMAP**. Se il sistema IMAP sottostante accetta indifferentemente sia lo **username Unix** che l'**indirizzo email**, si corre il rischio che Roundcube crei due utenti differenti nella tabella users, con tutti i problemi del caso (duplicazione delle preferenze, della rubrica, ecc.).
  
-Se il parametro **''$rcmail_config['virtuser_file']''** punta ad un file //virtuser// valido (ad esempio un ''[[http://www.postfix.org/postconf.5.html#virtual_alias_maps|virtual_alias_maps]]'' di Postfix) allora RoundCube è in grado al primo login di aggiungere un record alla **tabella users** del databaseinserendo l'opportuno **''username''** (login Unix) e **''alias''** (indirizzo email).+Esiste il plugin **virtuser_file** che tenta il lookup del nome di login in un file, cercando una corrispondenza //indirizzo email// => //username Unix//; se lo username trovato esiste già nella tabella users, il login viene effettuato con quelle credenziali.
  
-Altrimenti RoundCube non conosce l'effettivo nome di login e nel database viene creato un record dove lo **''username''** è l'indirizzo di posta elettronica. Ciò comporta diversi problemi, tra cui l'impossibilità di utilizzare il plugin vacation con il driver setuid. Infatti RoundCube non conosce il nome utente effettivo e di conseguenza la $HOME dove creare i file ''.forward'', etc.+Si installa il pacchetto **roundcube-plugins** e si attiva il plugin modificando **/etc/roundcube/config.inc.php**:
  
-Al momento della creazione dell'utente Unix pertanto conviene inserire anche un record nella **tabella users** del database RoundCube, dove **''username''** è il nome di login Unix ed **''alias''** è l'indirizzo di posta elettronica.+<code php> 
 +$config['plugins'] = array( 
 +    'virtuser_file' 
 +); 
 +// Virtual users mapping file: email_address >= username 
 +$config['virtuser_file'] = '/etc/postfix/virtual_alias_maps'
 +</code>
  
-Conviene creare anche una identità nella tabella **identities** per associare l'indirizzo email al nome esteso (nome e cognome). Si impostano i campi **''user_id''****''name''**, **''email''** e **''standard''** = 1 (significa che è l'identità predefinita).+Ovviamente il file **/etc/postfix/virtual_alias_maps** deve contenere la mappa da indirizzo email a username Unixdel tipo:
  
 +<file>
 +nome.cognome@dominio.it  username
 +</file>
 +
 +Sarebbe opportuno anche creare forzosamente una entry nella **tabella users** al momento della creazione di una casella di posta (utilizzando lo username Unix) e disabilitare la creazione automatica degli utenti da parte di Roundcube, basta aggiungere in **/etc/roundcube/config.inc.php**:
 +
 +<code php>
 +// Only registered users can use this service
 +$config['auto_create_user'] = false;
 +</code>
 +
 +Secondo questo criterio è opportuno creare anche un record nella **tabella identities** (collegato all'utente nella tabella users), nel quale si imposta l'indirizzo email da usare come mittente.
 +
 +Un'altro parametro di configurazione consente di usare l'email di una propria identità come nome di login (tale parametro potrebbe rendere superfluo l'uso del plugin //virtuser_file//, qualora ogni utente avesse la propria identità impostata correttamente):
 +
 +<code php>
 +// Enables possibility to log in using email address from user identities
 +$config['user_aliases'] = true;
 +</code>
 ===== Plugins ===== ===== Plugins =====
  
Line 283: Line 308:
 <email2> <email2>
 </file> </file>
 +
 +===== Plugin roundcube-vacation-2.x =====
 +
 +Vedere la pagina su **[[https://plugins.roundcube.net/packages/gabtoth/vacation|plugins.roundcube.net]]**, l'archivio si può scaricare dalla sua pagina su **[[https://github.com/gabor-toth/roundcube-vacation-plugin|GitHub]]**.
 +
 +Creare la cartella **/usr/local/share/roundcube/plugins/vacation/** e scompattare al suo interno il contenuto dell'archivio, quindi creare un **link simbolico**:
 +
 +<code>
 +ln -s /usr/local/share/roundcube/plugins/vacation /var/lib/roundcube/plugins
 +</code>
 +
 +Attivare il plugin aggiungendolo all'array **%%$config['plugins']%%** nel file **/etc/roundcube/config.inc.php**:
 +
 +<code php>
 +$config['plugins'] = array(
 +    'vacation'
 +);
 +</code>
  
 ===== Filtri web-mail ===== ===== Filtri web-mail =====
doc/appunti/linux/sa/roundcube.txt · Last modified: 2022/01/28 09:36 by niccolo