Vedremo ora tutto il processo di installazione e configurazione di SOGo con login degli utenti da Active Directory.
SOGo per funzionare ha bisogno di:
- Un Database (io ho scelto MySQL, potete anche usare PostgreSQL o Oracle)
- Un server LDAP (nel nostro caso Microsoft Active Directory. Potete utilizzare OpenLDAP o 389 Directory Server)
- Un server IMAP (io ho scelto Dovecot, ma va bene anche Cyrus)
- Un server SMTP (Postfix, ma se volete farvi del male usate pure Sendmail)
1. Preparazione
Prima di arrivare alla configurazione vera e propria di SOGo, è necessario avere una infrastruttura di posta elettronica funzionante. Dobbiamo quindi avere un server IMAP e un server SMTP funzionanti.Seguendo la guida linkata qui sotto arriverete ad avere una buona base di partenza.
Mailbox Virtuali con Dovecot, Postfix e Active Directory
Configurate il DNS: la risoluzione DNS deve funzionare. Aggiungete un record nel DNS, che punta all'ip del vostro server SOGo, che risponda al nome di sogoserver, o quello che vi pare: l'importante è che vi ricordiate di sostituire col vostro nome all'occorrenza.
2. Aggiunta dei Repository
Se utilizzate CENTOS 6
Aggiungiamo il repository di inverse a YUM.Creiamo il file /etc/yum.repos.d/inverse.repo.
[SOGo]
name=Inverse SOGo repository
baseurl=http://inverse.ca/downloads/SOGo/RHEL6/$basearch
gpgcheck=0
Potete tranquillamente saltare alla sezione successiva
Se utilizzate CENTOS 5
aggiungiamo il repository di inverse a YUM.Creiamo il file /etc/yum.repos.d/inverse.repo.
[SOGo]
name=Inverse SOGo repository
baseurl=http://inverse.ca/downloads/SOGo/CentOS5/$basearch
gpgcheck=0
In CentOS 5 la semplice aggiunta del repository non è sufficiente, bisogna effettuare alcune modifiche a yum:
Installiamo il plugin yum-protectbase:
yum install yum-protectbase
Modifichiamo il file /etc/yum.repos.d/CentOS-Base.repo:
#Aggiungere nella sezione base
#[base]
protect=1
#Aggiungere nella sezione updates
#[update]
protect=1
Abilitiamo i repository RPMForge:
Modifichiamo il file /etc/yum.repos.d/rpmforge.repo
#Aggiungere nella sezione rpmforge-base
#[rpmforge-base]
exclude=memcached*
4. Configurazione di MySQL
Installiamo MySQL server:
yum install mysql-server
Modifichiamo il file /etc/my.cnf in modo da impostare come set di caratteri predefinito UTF-8.
[mysqld]
character_set_server=utf8
character_set_client=utf8
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
Avviamo mysql:
service mysqld start
Entriamo in mysql, creiamo il database per SOGo e creiamo un utente sogo che abbia tutti i privilegi sul database:
mysql
CREATE DATABASE sogo CHARSET='UTF8';
GRANT ALL PRIVILEGES ON sogo.* @'localhost' IDENTIFIED BY 'sogopassword';
quit;
4. Configurazione di SOGo
Installiamo SOGo e il connettore per il database (nel nostro caso MySQL):
yum install sogo
yum install sope49-gdl1-mysql;
Configurazione di Base:
Creiamo una configurazione di base per il nostro SOGo, inseriamo la timezone, la lingua predefinita
su - sogo
defaults write sogod SOGoTimeZone "Europe/Rome"
defaults write sogod SOGoMailDomain "brick.local"
defaults write sogod SOGoLanguage Italian
defaults write sogod SOGoAppointmentSendEMailNotifications YES
defaults write sogod SOGoFoldersSendEMailNotifications YES
defaults write sogod SOGoACLsSendEMailNotifications YES
exit
Aggancio del Server LDAP
SOGo può utilizzare uno o più server (o meglio query) LDAP come database per l'autenticazione o elenchi di indirizzi. Aggiungiamo quindi il server LDAP come sorgente per gli utenti di SOGo.Se non lo avete già fatto create un utente in Active Directory. L'utente deve poter effettuare delle query su LDAP. Io ho creato l'utente adquery con password password.
su - sogo
defaults write sogod SOGoUserSources '({type=ldap; CNFieldName = cn; IDFieldName = cn; UIDFieldName = sAMAccountName; baseDN = "dc=brick,dc=local"; bindDN = "adquery@brick.local"; bindFields = (sAMAccountName); bindPassword = password; canAuthenticate = YES; displayName = "Active Directory"; hostname = brick.local; id = directory; isAddressBook = YES; port = 389;});'
exit
Database MySQL
su - sogo
defaults write sogod SOGoProfileURL 'mysql://sogo:sogopassword@localhost:3306/sogo/sogo_user_profile'
defaults write sogod OCSFolderInfoURL 'mysql://sogo:sogopassword@localhost:3306/sogo/sogo_folder_info'
defaults write sogod OCSSessionsFolderURL 'mysql://sogo:sogopassword@localhost:3306/sogo/sogo_sessions_folder'
exit
Server SMTP
su - sogo
defaults write sogod SOGoMailingMechanism smtp
defaults write sogod SOGoSMTPServer localhost
Server IMAP
su - sogo
defaults write sogod SOGoDraftsFolderName Drafts
defaults write sogod SOGoSentFolderName Sent
defaults write sogod SOGoTrashFolderName Trash
defaults write sogod SOGoIMAPServer localhost
exit
Utente Amministratore
Dobbiamo dire a SOGo quale sarà l'utente amministratore che avrà il privilegio di gestire le condivisioni tramite Web UI.
su - sogo
defaults write sogod SOGoSuperUsernames
"(Administrator)"
6. Configurazione di Apache
Per far funzionare la WEB UI, modifichiamo il file /etc/httpd/conf.d/SOGo.conf
RequestHeader set "x-webobject-server-port" "80"
RequestHeader set "x-webobject-server-name" "sogoserver"
RequestHeader set "x-webobject-server-url" "http://sogoserver"
7. Avvio dei servizi
Avviamo i servizi:
service sogod start
service httpd start
Poi aprite il vostro browser preferito e puntatelo su http://sogoserver/sogo. Se appare la schermata di login accedete col vostro utente di prova e fatevi un giretto nella WEB UI.
Aggiungiamo poi i servizi appena installati all'avvio automatico:
chkconfig mysqld on
chkconfig sogod on
chkconfig httpd on
Ora provate a puntare il browser all'indirizzo http://sogoserver/SOGo (attenzione che SOGo deve essere scritto proprio così) e controllate la vostra mail!