SogoInstall » Cronologia » Versione 7
Simone Piccardi, 03-01-2011 16:03
| 1 | 1 | Simone Piccardi | h1. Installare e configurare SOGo |
|---|---|---|---|
| 2 | |||
| 3 | "Sogo":http://www.sogo.nu è un interessante software di groupware in grado di |
||
| 4 | fornire le funzionalità di exchange integrando diversi servizi già |
||
| 5 | disponibili. |
||
| 6 | |||
| 7 | h2. Installazione e configurazione dei servizi |
||
| 8 | |||
| 9 | Il software viene fornito già pacchettizzato per Debian Lenny, per questo è |
||
| 10 | sufficiente aggiungere la seguente riga a @/etc/apt/sources.list@: |
||
| 11 | |||
| 12 | <pre> |
||
| 13 | deb http://inverse.ca/debian lenny lenny |
||
| 14 | </pre> |
||
| 15 | |||
| 16 | ed installarlo con: |
||
| 17 | |||
| 18 | <pre> |
||
| 19 | apt-get install sogo |
||
| 20 | </pre> |
||
| 21 | |||
| 22 | Nelle dipendenze verrà installato anche @tmpreaper@ che richiede, per |
||
| 23 | funzionare, una modifica al file di configurazione @/etc/tmpreaper.conf@, |
||
| 24 | commentando la riga come nell'esempio seguente: |
||
| 25 | |||
| 26 | <pre> |
||
| 27 | #SHOWWARNING=true |
||
| 28 | </pre> |
||
| 29 | |||
| 30 | Il passo successivo è configurare Apache per SOGo, il pacchetto inserisce la |
||
| 31 | sua configurazione in @/etc/apache2/conf.d/SOGo.conf@ ma richiede l'uso di |
||
| 32 | aulcuni moduli (in particolare di Proxy) che non è detto siano installati di |
||
| 33 | default, per questo è necessario abilitare i moduli necessari con: |
||
| 34 | |||
| 35 | <pre> |
||
| 36 | a2enmod headers proxy proxy_connect proxy_http |
||
| 37 | </pre> |
||
| 38 | |||
| 39 | Inoltre si dovrà cambiare la configurazione di Apache per inserire il corretto |
||
| 40 | nome a dominio da utilizzare per l'interfaccia web, per questo occorre |
||
| 41 | modificare le seguenti righe di @SOGo.conf@: |
||
| 42 | |||
| 43 | <pre> |
||
| 44 | RequestHeader set "x-webobjects-server-name" "mail.truelite.it" |
||
| 45 | RequestHeader set "x-webobjects-server-url" "https://mail.truelite.it" |
||
| 46 | </pre> |
||
| 47 | |||
| 48 | Si dovranno inoltre impostare alcune configurazioni di default per SOGo, |
||
| 49 | questo deve essere fatto usando il comando @defaults@ dall'utente @sogo@, |
||
| 50 | pertanto si dovranno eseguire i comandi: |
||
| 51 | |||
| 52 | <pre> |
||
| 53 | su - sogo |
||
| 54 | defaults write sogod SOGoTimeZone "Europe/Rome" |
||
| 55 | defaults write sogod SOGoMailDomain "truelite.it" |
||
| 56 | defaults write sogod SOGoLanguage Italian |
||
| 57 | defaults write sogod SOGoAppointmentSendEMailNotifications YES |
||
| 58 | defaults write sogod SOGoFoldersSendEMailNotifications YES |
||
| 59 | defaults write sogod SOGoACLsSendEMailNotifications YES |
||
| 60 | </pre> |
||
| 61 | |||
| 62 | fatto questo ci si potrà collegare al proprio server andando all'URL: |
||
| 63 | |||
| 64 | <pre> |
||
| 65 | http://sogo.truelite.it/SOGo |
||
| 66 | </pre> |
||
| 67 | |||
| 68 | e si dovrà ottenere la pagina di login di SOGo. |
||
| 69 | |||
| 70 | Per poter utilizzare il programma via web occorrerà però prima configurare un |
||
| 71 | meccanismo di autenticazione. Se gli utenti sono su LDAP questo può essere |
||
| 72 | fatto definendo la opportuna fonte con: |
||
| 73 | |||
| 74 | <pre> |
||
| 75 | defaults write sogod SOGoUserSources '({CNFieldName = cn; |
||
| 76 | IDFieldName = uid; UIDFieldName = uid; |
||
| 77 | baseDN = "ou=People,dc=truelite,dc=it"; |
||
| 78 | bindDN = "cn=admin,dc=truelite,dc=it"; |
||
| 79 | bindPassword = pippopluto; canAuthenticate = YES; |
||
| 80 | displayName = "LDAP"; hostname = "localhost"; id = public; |
||
| 81 | 7 | Simone Piccardi | isAddressBook = NO; port=389})' |
| 82 | 1 | Simone Piccardi | |
| 83 | </pre> |
||
| 84 | |||
| 85 | Se si vuole utilizzare l'addressbook su LDAP (che però è disponibile in sola |
||
| 86 | 7 | Simone Piccardi | lettura, e quindi di scarsa utilità) si deve mettere come parametro: |
| 87 | 1 | Simone Piccardi | |
| 88 | 2 | Simone Piccardi | <pre> |
| 89 | 1 | Simone Piccardi | isAddressBook = YES; |
| 90 | </pre> |
||
| 91 | |||
| 92 | 7 | Simone Piccardi | ma la configurazione di una fonte di utenti su LDAP però non consente di avere |
| 93 | i dati dell'addressbook in un ramo diverso rispetto a quello degli utenti, la |
||
| 94 | qual cosa è a dir poco seccante, per questo si è usata la configurazione |
||
| 95 | precedente. Idem per il fatto che di debba usare l'account amministrativo per |
||
| 96 | accedere ai dati degli utenti invece di affidarsi direttamente alla |
||
| 97 | autenticazione degli stessi sul LDAP. |
||
| 98 | 1 | Simone Piccardi | |
| 99 | 7 | Simone Piccardi | É comunque possibile utilizzare un addressbook globale su LDAP se questo è su |
| 100 | un ramo diverso dell'albero, definendo una ulteriore sorgente, in cui si |
||
| 101 | blocca l'autenticazione e si attiva invece l'uso come addressbook. In questo |
||
| 102 | caso è più facile operare direttamente sulle configurazioni di GNUStep, queste |
||
| 103 | sono nel file @GNUstep/Defaults/.GNUstepDefaults@ nella home dell'utente |
||
| 104 | @sogo@, la precedente istruzione inserisce nel file stesso una voce: |
||
| 105 | |||
| 106 | SOGoUserSources = ( |
||
| 107 | { |
||
| 108 | CNFieldName = cn; |
||
| 109 | IDFieldName = uid; |
||
| 110 | UIDFieldName = uid; |
||
| 111 | baseDN = "ou=People,dc=truelite,dc=it"; |
||
| 112 | bindDN = "cn=admin,dc=truelite,dc=it"; |
||
| 113 | bindPassword = pippopluto; |
||
| 114 | canAuthenticate = YES; |
||
| 115 | displayName = LDAP; |
||
| 116 | hostname = localhost; |
||
| 117 | id = public; |
||
| 118 | isAddressBook = NO; |
||
| 119 | port = 389; |
||
| 120 | } |
||
| 121 | ); |
||
| 122 | |||
| 123 | la nuova fonte si aggiunge all'interno delle parentesi tonde con un altro |
||
| 124 | campo fra parentesi graffe, aggiungendo qualcosa del tipo: |
||
| 125 | |||
| 126 | <pre> |
||
| 127 | SOGoUserSources = ( |
||
| 128 | { |
||
| 129 | CNFieldName = cn; |
||
| 130 | ... |
||
| 131 | id = public; |
||
| 132 | isAddressBook = NO; |
||
| 133 | port = 389; |
||
| 134 | }, |
||
| 135 | { |
||
| 136 | CNFieldName = cn; |
||
| 137 | IDFieldName = uid; |
||
| 138 | UIDFieldName = uid; |
||
| 139 | baseDN = "ou=Contacts,dc=truelite,dc=it"; |
||
| 140 | bindDN = "cn=admin,dc=truelite,dc=it"; |
||
| 141 | bindPassword = pippopluto; |
||
| 142 | canAuthenticate = NO; |
||
| 143 | displayName = LDAP; |
||
| 144 | hostname = localhost; |
||
| 145 | id = "LDAP addressbook"; |
||
| 146 | isAddressBook = YES; |
||
| 147 | port = 389; |
||
| 148 | } |
||
| 149 | ); |
||
| 150 | </pre> |
||
| 151 | |||
| 152 | e volendo si può anche aggiungere una fonte su MySQL con una ulteriore |
||
| 153 | sezione: |
||
| 154 | |||
| 155 | <pre> |
||
| 156 | SOGoUserSources = ( |
||
| 157 | { |
||
| 158 | CNFieldName = cn; |
||
| 159 | ... |
||
| 160 | |||
| 161 | }, |
||
| 162 | { |
||
| 163 | CNFieldName = cn; |
||
| 164 | ... |
||
| 165 | id = "LDAP addressbook"; |
||
| 166 | isAddressBook = YES; |
||
| 167 | port = 389; |
||
| 168 | }, |
||
| 169 | { |
||
| 170 | type = sql; |
||
| 171 | id = "SQL AddressBook"; |
||
| 172 | viewURL = "mysql://sogo:sogo2011@localhost:3306/sogo/sogo_view"$ |
||
| 173 | canAuthenticate = NO; |
||
| 174 | isAddressBook = YES; |
||
| 175 | } |
||
| 176 | ); |
||
| 177 | </pre> |
||
| 178 | 3 | Simone Piccardi | |
| 179 | 1 | Simone Piccardi | Per poter usufruire delle funzionalità di calendario e address book esterni si |
| 180 | 3 | Simone Piccardi | può comunque fare ricorso ad un database. Si possono usare sia PostgreSQL che |
| 181 | MySQL, ed è richiesta la creazione di un database dedicato con relativo |
||
| 182 | 4 | Simone Piccardi | utente. Nel caso di MySQL basterà seguire le istruzioni di [[MySQLInitConf]] per creare |
| 183 | 3 | Simone Piccardi | il tutto e poi si dovrà indicare a SOGo dove inserire i suoi dati con: |
| 184 | |||
| 185 | <pre> |
||
| 186 | 6 | Simone Piccardi | defaults write sogod SOGoProfileURL 'mysql://sogo:sogo@localhost:3306/sogo/sogo_user_profile' |
| 187 | defaults write sogod OCSFolderInfoURL 'mysql://sogo:sogo@localhost:3306/sogo/sogo_folder_info' |
||
| 188 | 3 | Simone Piccardi | </pre> |