giovedì 23 giugno 2011

Installazione di SOGo con Integrazione Active Directory

Hai un dominio Active Directory, non hai un sistema di gestione dalla posta elettronica e ne vorresti uno che ti permetta di condividere calendari e contatti con i tuoi colleghi senza dover accendere un mutuo per acquistare Exchange?

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!

Nessun commento:

Posta un commento