Progetto

Generale

Profilo

SogoInstall » Cronologia » Versione 7

Versione 6 (Simone Piccardi, 03-01-2011 15:32) → Versione 7/8 (Simone Piccardi, 03-01-2011 16:03)

h1. Installare e configurare SOGo 

 "Sogo":http://www.sogo.nu è un interessante software di groupware in grado di 
 fornire le funzionalità di exchange integrando diversi servizi già 
 disponibili. 

 h2. Installazione e configurazione dei servizi 

 Il software viene fornito già pacchettizzato per Debian Lenny, per questo è 
 sufficiente aggiungere la seguente riga a @/etc/apt/sources.list@: 

 <pre> 
 deb http://inverse.ca/debian lenny lenny 
 </pre> 

 ed installarlo con: 

 <pre> 
 apt-get install sogo 
 </pre> 

 Nelle dipendenze verrà installato anche @tmpreaper@ che richiede, per 
 funzionare, una modifica al file di configurazione @/etc/tmpreaper.conf@, 
 commentando la riga come nell'esempio seguente: 

 <pre> 
 #SHOWWARNING=true 
 </pre> 

 Il passo successivo è configurare Apache per SOGo, il pacchetto inserisce la 
 sua configurazione in @/etc/apache2/conf.d/SOGo.conf@ ma richiede l'uso di 
 aulcuni moduli (in particolare di Proxy) che non è detto siano installati di 
 default, per questo è necessario abilitare i moduli necessari con: 

 <pre> 
 a2enmod headers proxy proxy_connect proxy_http 
 </pre> 

 Inoltre si dovrà cambiare la configurazione di Apache per inserire il corretto 
 nome a dominio da utilizzare per l'interfaccia web, per questo occorre 
 modificare le seguenti righe di @SOGo.conf@: 

 <pre> 
  RequestHeader set "x-webobjects-server-name" "mail.truelite.it" 
  RequestHeader set "x-webobjects-server-url" "https://mail.truelite.it" 
 </pre> 

 Si dovranno inoltre impostare alcune configurazioni di default per SOGo, 
 questo deve essere fatto usando il comando @defaults@ dall'utente @sogo@, 
 pertanto si dovranno eseguire i comandi: 

 <pre> 
 su - sogo 
 defaults write sogod SOGoTimeZone "Europe/Rome" 
 defaults write sogod SOGoMailDomain "truelite.it" 
 defaults write sogod SOGoLanguage Italian 
 defaults write sogod SOGoAppointmentSendEMailNotifications YES 
 defaults write sogod SOGoFoldersSendEMailNotifications YES 
 defaults write sogod SOGoACLsSendEMailNotifications YES 
 </pre> 

 fatto questo ci si potrà collegare al proprio server andando all'URL: 

 <pre> 
 http://sogo.truelite.it/SOGo 
 </pre> 

 e si dovrà ottenere la pagina di login di SOGo. 

 Per poter utilizzare il programma via web occorrerà però prima configurare un 
 meccanismo di autenticazione. Se gli utenti sono su LDAP questo può essere 
 fatto definendo la opportuna fonte con: 

 <pre> 
 defaults write sogod SOGoUserSources '({CNFieldName = cn; 
	  IDFieldName = uid; UIDFieldName = uid; 
	  baseDN = "ou=People,dc=truelite,dc=it"; 
	  bindDN = "cn=admin,dc=truelite,dc=it"; 
	  bindPassword = pippopluto; canAuthenticate = YES; 
	  displayName = "LDAP"; hostname = "localhost"; id = public; 
	  isAddressBook = NO;    port=389})' 

 </pre> 

 Se si vuole utilizzare l'addressbook su LDAP (che però è disponibile in sola 
 lettura, e quindi di scarsa utilità) si puo deve mettere come aggiunger anche il parametro: 

 <pre> 
 isAddressBook = YES; 
 </pre> 

 ma la altrimenti conviene specificare il valore NO. 

 La configurazione di una fonte di utenti su LDAP precedente però non consente di avere 
 i dati dell'addressbook in un ramo diverso rispetto a quello degli utenti, la 
 qual cosa è a dir poco seccante, per questo si è usata la configurazione 
 precedente. seccante. Idem per il fatto che di debba usare l'account amministrativo per 
 accedere ai dati degli utenti invece di affidarsi direttamente alla 
 autenticazione degli stessi sul LDAP. 

 É comunque possibile utilizzare un addressbook globale su LDAP se questo è su 
 un ramo diverso dell'albero, definendo una ulteriore sorgente, in cui si 
 blocca l'autenticazione e si attiva invece l'uso come addressbook. In questo 
 caso è più facile operare direttamente sulle configurazioni di GNUStep, queste 
 sono nel file @GNUstep/Defaults/.GNUstepDefaults@ nella home dell'utente 
 @sogo@, la precedente istruzione inserisce nel file stesso una voce: 

        SOGoUserSources = ( 
             { 
                 CNFieldName = cn; 
                 IDFieldName = uid; 
                 UIDFieldName = uid; 
                 baseDN = "ou=People,dc=truelite,dc=it"; 
                 bindDN = "cn=admin,dc=truelite,dc=it"; 
                 bindPassword = pippopluto; 
                 canAuthenticate = YES; 
                 displayName = LDAP; 
                 hostname = localhost; 
                 id = public; 
                 isAddressBook = NO; 
                 port = 389; 
             } 
	 ); 

 la nuova fonte si aggiunge all'interno delle parentesi tonde con un altro 
 campo fra parentesi graffe, aggiungendo qualcosa del tipo: 

 <pre> 
        SOGoUserSources = ( 
             { 
                 CNFieldName = cn; 
		 ... 
                 id = public; 
                 isAddressBook = NO; 
                 port = 389; 
             }, 
             { 
                 CNFieldName = cn; 
                 IDFieldName = uid; 
                 UIDFieldName = uid; 
                 baseDN = "ou=Contacts,dc=truelite,dc=it"; 
                 bindDN = "cn=admin,dc=truelite,dc=it"; 
                 bindPassword = pippopluto; 
                 canAuthenticate = NO; 
                 displayName = LDAP; 
                 hostname = localhost; 
                 id = "LDAP addressbook"; 
                 isAddressBook = YES; 
                 port = 389; 
             } 
	 ); 
 </pre> 

 e volendo si può anche aggiungere una fonte su MySQL con una ulteriore 
 sezione: 

 <pre> 
        SOGoUserSources = ( 
             { 
                 CNFieldName = cn; 
		 ... 	    

             }, 
             { 
                 CNFieldName = cn; 
		 ... 
                 id = "LDAP addressbook"; 
                 isAddressBook = YES; 
                 port = 389; 
             }, 
            { 
                 type = sql; 
                 id = "SQL AddressBook"; 
                 viewURL = "mysql://sogo:sogo2011@localhost:3306/sogo/sogo_view"$ 
                 canAuthenticate = NO; 
                 isAddressBook = YES; 
             } 
         ); 
 </pre> 

 Per poter usufruire delle funzionalità di calendario e address book esterni si 
 può comunque fare ricorso ad un database. Si possono usare sia PostgreSQL che 
 MySQL, ed è richiesta la creazione di un database dedicato con relativo 
 utente. Nel caso di MySQL basterà seguire le istruzioni di [[MySQLInitConf]] per creare 
 il tutto e poi si dovrà indicare a SOGo dove inserire i suoi dati con: 

 <pre> 
 defaults write sogod SOGoProfileURL 'mysql://sogo:sogo@localhost:3306/sogo/sogo_user_profile' 
 defaults write sogod OCSFolderInfoURL 'mysql://sogo:sogo@localhost:3306/sogo/sogo_folder_info' 
 </pre>