Progetto

Generale

Profilo

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>