SogoInstall » Cronologia » Versione 8
Simone Piccardi, 03-01-2011 16:06
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 | 8 | Simone Piccardi | ma si ricordi di aver cura di usare un valore diverso per la chiave @id@ per ciascuna fonte. |
153 | |||
154 | Per poter usufruire delle funzionalità di calendario e address book esterni si |
||
155 | può comunque fare ricorso ad un database. Si possono usare sia PostgreSQL che |
||
156 | MySQL, ed è richiesta la creazione di un database dedicato con relativo |
||
157 | utente. Nel caso di MySQL basterà seguire le istruzioni di [[MySQLInitConf]] per creare |
||
158 | il tutto e poi si dovrà indicare a SOGo dove inserire i suoi dati con: |
||
159 | |||
160 | <pre> |
||
161 | defaults write sogod SOGoProfileURL 'mysql://sogo:sogo@localhost:3306/sogo/sogo_user_profile' |
||
162 | defaults write sogod OCSFolderInfoURL 'mysql://sogo:sogo@localhost:3306/sogo/sogo_folder_info' |
||
163 | </pre> |
||
164 | |||
165 | e volendo si può anche aggiungere una fonte per un addressbook globale su MySQL con una ulteriore |
||
166 | 7 | Simone Piccardi | sezione: |
167 | |||
168 | <pre> |
||
169 | SOGoUserSources = ( |
||
170 | { |
||
171 | CNFieldName = cn; |
||
172 | ... |
||
173 | |||
174 | }, |
||
175 | { |
||
176 | CNFieldName = cn; |
||
177 | ... |
||
178 | id = "LDAP addressbook"; |
||
179 | isAddressBook = YES; |
||
180 | 1 | Simone Piccardi | port = 389; |
181 | 3 | Simone Piccardi | }, |
182 | 1 | Simone Piccardi | { |
183 | type = sql; |
||
184 | 3 | Simone Piccardi | id = "SQL AddressBook"; |
185 | 8 | Simone Piccardi | viewURL = "mysql://sogo:sogo@localhost:3306/sogo/sogo_view" |
186 | 4 | Simone Piccardi | canAuthenticate = NO; |
187 | 3 | Simone Piccardi | isAddressBook = YES; |
188 | } |
||
189 | ); |
||
190 | 6 | Simone Piccardi | </pre> |
191 | |||
192 | 8 | Simone Piccardi | e di nuovo si usi un valore di @id@ diverso. |