User Tools

Site Tools


doc:appunti:linux:so:sogo

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
doc:appunti:linux:so:sogo [2013/09/13 11:29] – [Sincronizzazione] niccolodoc:appunti:linux:so:sogo [2024/10/14 15:55] (current) – [Session timeout] niccolo
Line 24: Line 24:
   * ldap-utils   * ldap-utils
   * phpldapadmin   * phpldapadmin
 +
 +Moduli Apache necessari
 +
 +  * **rewrite** - Il file di configurazione ''/etc/apache2/conf-enabled/sogo.conf'' richiede il rewrite in modo che funzionino i **%%/.well-known/caldav/%%** e **%%/.well-known/carddav/%%**.
  
 ===== Demone sogod ===== ===== Demone sogod =====
 +
 +**ATTENZIONE** alla sintassi del file di configurazione! Dalla versione 1.3.16 (Debian Wheezy) alla version 2.0.7 (Debian Jessie) cambiano cose sostanziali, come la sintassi degli URL di collegamento.
  
 Una volta installato il pacchetto Debian e con l'opportuno file di configurazione **''/etc/sogo/sogo.conf''** è possibile far partire/fermare il servizio con **''/etc/init.d/sogo {start|stop|restart}''**. Il demone si pone in ascolto sulla porta **TCP 20000**, ma non è previsto connettersi direttamente ad essa da internet (lasciare pertanto il firewall chiuso!). Una volta installato il pacchetto Debian e con l'opportuno file di configurazione **''/etc/sogo/sogo.conf''** è possibile far partire/fermare il servizio con **''/etc/init.d/sogo {start|stop|restart}''**. Il demone si pone in ascolto sulla porta **TCP 20000**, ma non è previsto connettersi direttamente ad essa da internet (lasciare pertanto il firewall chiuso!).
Line 40: Line 46:
     OCSEMailAlarmsFolderURL = "postgresql://sogo:MySecret@127.0.0.1:5432/sogo/sogo_alarms_folder";     OCSEMailAlarmsFolderURL = "postgresql://sogo:MySecret@127.0.0.1:5432/sogo/sogo_alarms_folder";
  
-    SOGoAppointmentSendEMailNotifications = YES; 
     SOGoMailingMechanism = smtp;     SOGoMailingMechanism = smtp;
-    SOGoSMTPServer = 127.0.0.1; +    SOGoSMTPServer = "localhost"
-    SOGoSentFolderName = Sent; +    SOGoIMAPServer = "imap://localhost:143/?tls=YES"; 
-    SOGoTrashFolderName = Trash; +    // Maildir will be created as $HOME/Maildir/.Sent/, etc.     
-    SOGoDraftsFolderName = Drafts+    SOGoSentFolderName = "INBOX/Sent"; 
-    SOGoIMAPServer = "imaps://localhost:143/?tls=YES"; +    SOGoTrashFolderName = "INBOX/Trash"; 
-    SOGoSieveServer = "sieve://localhost:4190/?tls=YES";+    SOGoDraftsFolderName = "INBOX/Drafts"; 
 +    SOGoJunkFolderName "INBOX/Spam";
     SOGoIMAPAclConformsToIMAPExt = YES;     SOGoIMAPAclConformsToIMAPExt = YES;
 +    SOGoSieveServer = "sieve://localhost:4190/?tls=YES";
     SOGoVacationEnabled = YES;     SOGoVacationEnabled = YES;
     SOGoForwardEnabled = YES;     SOGoForwardEnabled = YES;
Line 55: Line 62:
     SOGoMailMessageCheck = manually;     SOGoMailMessageCheck = manually;
     SOGoMailAuxiliaryUserAccountsEnabled = NO;     SOGoMailAuxiliaryUserAccountsEnabled = NO;
 +    SOGoAppointmentSendEMailNotifications = YES;
  
     // Append the domain name to the c_uid to obtain an unique UID.     // Append the domain name to the c_uid to obtain an unique UID.
Line 66: Line 74:
         "rigacci.org" = {         "rigacci.org" = {
             SOGoMailDomain = "rigacci.org";             SOGoMailDomain = "rigacci.org";
-            SOGoIMAPServer = smartmail.rigacci.org;+            SOGoIMAPServer = "imap://smartmail.rigacci.org:143/?tls=YES";
             SOGoMailingMechanism = smtp;             SOGoMailingMechanism = smtp;
             SOGoSMTPServer = 127.0.0.1;             SOGoSMTPServer = 127.0.0.1;
Line 103: Line 111:
         "rigacci.net" = {         "rigacci.net" = {
             SOGoMailDomain = "rigacci.net";             SOGoMailDomain = "rigacci.net";
-            SOGoIMAPServer = mail.rigacci.net;+            SOGoIMAPServer = "imap://mail.rigacci.net:143/?tls=YES";
             SOGoMailingMechanism = smtp;             SOGoMailingMechanism = smtp;
             SOGoSMTPServer = 127.0.0.1;             SOGoSMTPServer = 127.0.0.1;
Line 179: Line 187:
 DELETE FROM sogo_user_profile WHERE c_uid = 'niccolo@rigacci.org'; DELETE FROM sogo_user_profile WHERE c_uid = 'niccolo@rigacci.org';
 </code> </code>
 +===== Tuning =====
 +
 +Le seguenti valutazioni sono state fatte su una installazione di **circa 30 utenti**.
 +
 +La parte più onerosa pare il numero di processi **imapd** contemporaneamente in esecuzione. Empiricamente risultano circa tre connessioni contemporanee per utente (client Mozilla Thunderbird). Poichè tutti gli utenti erano mascherati dietro un singolo indirizzo IP, in **''/etc/courier/imapd''** si imposta:
 +
 +<file>
 +MAXDAEMONS=200
 +MAXPERIP=100
 +</file>
 +
 +Un altro problema è sui child eseguiti da **''sogod''**, se non ce ne sono a sufficienza il processo padre entra in un loop sbagliato occupando il **100% della CPU**. Un child dovrebbe essere impegnato solo per la durata di una richiesta http, presumibilmente una decina sarebbero sufficienti. Abbiamo preferito averne 32 mettendo in **''/etc/default/sogo''**:
 +
 +<file>
 +PREFORK=32
 +</file>
 +
 +Il demone **''sogod''** fa interrogazioni continue al database **PostgreSQL**, teoricamente non ci dovrebbero essere più connessioni dei child ''sogod''. L'impostazione predefinita di Debian dovrebbe essere sufficiente, in **''/etc/postgresql/9.3/main/postgresql.conf''**:
 +
 +<file>
 +max_connections = 100
 +</file>
 +
 ===== LDAP Addressbook ===== ===== LDAP Addressbook =====
  
Line 220: Line 251:
  
 Con l'opzione **//Il telefono ha la precedenza//**, le modifiche fatte sul telefono (aggiunta foto, aggiunta campi, modifiche) vengono propagate sul server. Tuttavia alcuni campi inseriti nel telefono non compaiono sul server, ad esempio i campi nickname e note. Con l'opzione **//Il telefono ha la precedenza//**, le modifiche fatte sul telefono (aggiunta foto, aggiunta campi, modifiche) vengono propagate sul server. Tuttavia alcuni campi inseriti nel telefono non compaiono sul server, ad esempio i campi nickname e note.
 +
 +===== Filtri Sieve =====
 +
 +Per attivare il risponditore automatico (vacation) e l'inoltro  si deve ipostare nella sezione principale di **/etc/sogo/sogo.conf**:
 +
 +<file>
 +SOGoVacationEnabled = YES;
 +SOGoForwardEnabled = YES;
 +</file>
 +
 +Dopo aver riavviato il servizio, nella sezione //Impostazioni// => //Posta// della webamil SOGo compaiono le schede **Risponditore automatico** e **Inoltro**. Può capitare che quando si cerca di salvare le nuove impostazioni si ottiene il popup di errore **Servizio temporaneamente non disponibile**, che corrisponde all'errore in **/var/log/sogo/sogo.log**:
 +
 +<code>
 +sogod [32518]: <0x...[SOGoSieveManager]> Could not login 'username@example.org' on Sieve server:
 +    <0x...[NGSieveClient]: socket=<NGActiveSSLSocket[0x...]: mode=rw address=(null)>>:
 +    {RawResponse = "{}"; result = 0; }
 +</code>
 +
 +È possibile anche abilitare una sezione per **filtri Sieve generici** basati su //oggetto//, //mittente// o //destinatario// con possibili azioni: //scarta//, //inoltra//, //sposta in//, ecc. È sufficiente impostare in **/etc/sogo/sogo.conf**:
 +
 +<file>
 +SOGoSieveScriptsEnabled = YES;
 +</file>
 +
 +L'impostazione può essere fatta a livello generale oppure per il singolo dominio (se la configurazione sfrutta la sezione **domains**).
 +
 +I filtri possono essere creati e gestiti dalla webmail: **Preferenze** => **Posta** => **Filtri**. In un sistema con Dovecot Sieve i filtri per ciascun utente vengono salvati in **$HOME/sieve/sogo.sieve**.
 +
 +===== Add SoGO as an application for mailto links =====
 +
 +Whenever you login into the SoGO webmail, the browser my ask you if you want to **Add "your.site" as an application for mailto links?**; this is because the SoGO Javascript executes a **window.navigator.registerProtocolHandler()** call. If you are annoyed by this request you can disable it at least in Firefox by visiting the **about:config** URL and changing **network.protocol-handler.external.mailto** to **false**.
 +
 +===== Session timeout =====
 +
 +After upgrading SoGO from **5.0.1** to **5.8.0** (e.g. by upgrading from **Debian 11 Bullseye** to **Debian 12 Bookworm**) the webmail session exipres in a few minutes, despite user activity. This is a known bug cause by a datbase table being not be properly updated.
 +
 +To fix the problem you can drop the faulty table from the SQL prompt and restart the SoGO service; the table will be re-created with the corrected structure:
 +
 +<code sql>
 +DROP TABLE sogo_sessions_folder;
 +</code>
 +
 +<code>
 +systemctl restart sogo.service
 +</code>
 +
 +This hack will upgrade the field **c_value** from **character varying(255)** to **character varying(4096)** (using the PostgreSQL backend).
 +
 +See this [[https://www.mail-archive.com/users@sogo.nu/msg31265.html|SoGO mailing list message]].
  
doc/appunti/linux/so/sogo.1379064545.txt.gz · Last modified: 2013/09/13 11:29 by niccolo