Exchange helyett SOGo

Céges közegben talán a leggyakrabban használt levelező és munkacsoport szoftver a Microsoft Exchange és Microsoft Outlook összeállítás. Mindenki ismeri, jól átgondolt és kitalált alkalmazás.
Léteznek ingyenes alternatívái, amelyek többé kevésbé működnek, de nem olyan intergráltak, mint a fent említett páros.
Egy ilyen ingyenes csoportmunka (groupware) alkalmazás a SOGo.

A SOGo eredetileg webes felszínen kínálja szolgáltatásait, de a megfelelő kiegészítésekkel használható a Mozilla Thunderbird kliensen, továbbá kiegészítők nélkül működik az Evolution alkalmazással is. Igény szerint az Outlookkal is össze lehet kapcsolni.

A következő leírás Debian Linux 5.0 alatt mutatja a be a telepítését. A telepítés után természetesen átgondolt LDAP adatbázist kell  létrehozni és a megfelelő beállításokat el kell végezni a klienseken.

A SOGo telepítése Debian Lennyre:SOGo

echo "deb inverse.ca/debian lenny lenny" >> /etc/apt/sources.list

apt-get update

apt-get install sogo

 
Alap beállítások  sogo felhasználóval:
 
Telepítés során létrehozza a sogo felhasználót. ennek segítségével állítható be az alkalmazás. Root felhasználóról a következő paranccsal leget átlépni:
su - sogo
 
defaults write sogod SOGoTimeZone "Europe/Budapest"

defaults write sogod SOGoMailDomain "company.hu"

defaults write sogod SOGoLanguage English

defaults write sogod SOGoAppointmentSendEMailNotifications YES

defaults write sogod SOGoFoldersSendEMailNotifications YES

defaults write sogod SOGoACLsSendEMailNotifications YES

defaults write sogod WOApplicationRedirectURL "http://groupware.company.hu"

defaults write sogod SOGoLoginModule calendar

defaults write sogod SOGoLanguage Hungarian

defaults write sogod SOGoUserSources '({ type = ldap ; CNFieldName = givenName; IDFieldName = uid; UIDFieldName = givenName;  baseDN = "dc=company,dc=hu"; bindDN ="cn=replicator,dc=company,dc=hu"; bindPassword = replica; canAuthenticate = YES; displayName = "Shared Addresses"; hostname = "localhost"; id = public; isAddressBook = YES; port=389; })'

 
 
http://groupware.company.hu - Működjön a DNS név!

MYSQL beállítása:

mysql -u root -p

mysql>CREATE USER 'sogo'@'%'IDENTIFIED BY 'sogo';

mysql> create database sogo;

mysql>GRANT ALL PRIVILEGES ON sogo.* TO 'sogo'@'%';

 
my.cnf-ben bind address sort kikommentelni - ha távolról el kell érni a mysqlt

 
su - sogo

defaults write sogod SOGoProfileURL mysql://sogo:sogo@localhost:3306/sogo/sogo_user_profile

defaults write sogod OCSFolderInfoURL mysql://sogo:sogo@localhost:3306/sogo/sogo_folder_info

 

SMTP beállítása:

defaults write sogod SOGoMailingMechanism smtp

defaults write sogod SOGoSMTPServer 192.168.58.1

IMAP beállítása:

defaults write sogod SOGoDraftsFolderName Drafts

defaults write sogod SOGoSentFolderName Sent

defaults write sogod SOGoTrashFolderName Trash

defaults write sogod SOGoIMAPServer 192.168.58.1

 
A beálíítások elérhetőek a /home/sogo/GNUstep/Defaults/.GNUstepDefaults fájlban:

groupware:~# cat /home/sogo/GNUstep/Defaults/.GNUstepDefaults

{

    NSGlobalDomain = {

    };

    sogod = {

        OCSFolderInfoURL = "mysql://sogo:sogo@localhost:3306/sogo/sogo_folder_info";

        SOGoACLsSendEMailNotifications = YES;

        SOGoAppointmentSendEMailNotifications = YES;

        SOGoDraftsFolderName = Drafts;

        SOGoFoldersSendEMailNotifications = YES;

        SOGoIMAPServer = 192.168.58.1;

        SOGoLanguage = Hungarian;

        SOGoLoginModule = calendar;

        SOGoMailDomain = company.hu;

        SOGoMailingMechanism = smtp;

        SOGoProfileURL = "mysql://sogo:sogo@localhost:3306/sogo/sogo_user_profile";

        SOGoSMTPServer = 192.168.58.1;

        SOGoSentFolderName = Sent;

        SOGoTimeZone = Europe/Budapest;

        SOGoTrashFolderName = Trash;

        SOGoUserSources = (

            {

                CNFieldName = displayNAme;

                IDFieldName = uid;

                UIDFieldName = givenName;

                baseDN = "ou=sogo,dc=company,dc=hu";

                bindDN = "cn=replicator,dc=company,dc=hu";

                bindPassword = replica;

                canAuthenticate = YES;

                displayName = "Shared Addresses";

                hostname = localhost;

                id = public;

                isAddressBook = YES;

                port = 389;

                type = ldap;

            }

        );

        WOApplicationRedirectURL = "http://groupware.company.hu";

    };

 
 
Ezt tilos kézzel szerkeszteni!, a fent használt parancsokkal kell ezt megtenni!!!
Néhány fontos sor LDAPból való autentikáláskor:


CNFieldName = a felhasználó teljes neve pl cn, de lehet a displayName is


IDFieldName = az a mező, amivel a felhasználó DNje kezdődik. PL.:dn: uid=kissp,ou=sogo..... tehát uid


UIDFieldName = a felhasználó bejelentkezéshez használatos neve pl givenname


displayName = Címjegyzék használata esetén ez lesz a Címjegyzék neve ~

LDAP beállítások

Adminisztrátor felvitele az adatbázisba: 
 
jelszó: sogo

groupware:~# slappasswd -s sogo

{SSHA}M5gU+hhGfhRnH6tDsh+rR/ZLXPvVSQix

groupware:~# cat /root/sogo.ldiff

dn: uid=sogo,ou=sogo,dc=company,dc=hu


objectClass: top


objectClass: inetOrgPerson


objectClass: person


objectClass: organizationalPerson


uid: sogo


cn: SOGo Administrator


mail: sogo@company.hu


sn: Administrator


givenName: SOGo


userPassword: {SSHA}P/iReJWnWsjg3UwTwH4G7tj+bIcOnbco


 
groupware:~# /etc/init.d/slapd stop

Stopping OpenLDAP: slapd.

groupware:~# slapadd  -l /root/sogo.ldiff

Hasonlóképpen fel kell venni a replicator felhasználót - ha szinkronizálva lesz a központi LDAP adatbázissal.

groupware:~# slapadd  -l /root/replicator.ldiff

 
groupware:~# slapindex

 
WARNING!

Runnig as root!

There's a fair chance slapd will fail to start.

Check file permissions!

 
groupware:~# chown -Rf openldap:openldap /var/lib/ldap

 
groupware:~# /etc/init.d/slapd start

Starting OpenLDAP: slapd.

 
A felhasználók felvételéhez használható a következő script:
 
groupware:~# cat /usr/bin/ldap-useradd.sh

#!/bin/bash


LDAP_BIND_DN='cn=replicator,dc=company,dc=hu'


LDAP_BIND_SECRET='replica'


LDAP_SUFIX='ou=sogo,dc=company,dc=hu'


 


echo -n "Felhasznalonev: "


read USERNAME


 


echo -n "Jelszo: "


read PASSWORD


 


USERPASSWD=`slappasswd -s $PASSWORD`


echo -e "dn: uid=$USERNAME,$LDAP_SUFIX\nobjectClass: top\nobjectClass: inetOrgPerson\nobjectClass: person\nobjectClass: organizationalPerson\nuid: $USERNAME \ncn: $USERNAME\nmail:$USERNAME@company.hu\nsn: $USERNAME\ngivenName: $USERNAME\nuserPassword: $USERPASSWD \ndisplayName: $USERNAME " | ldapadd -x -D $LDAP_BIND_DN -w $LDAP_BIND_SECRET


RETVAL=$?


if [ $RETVAL -eq 0 ] ;


    then


        echo 'Felhasznalo  sikeresen hozzaadva!'


 


    else


        echo '!!!Felhasznalo  NEM keszult el!!!'


    #exit 1


fi


 
PROBLÉMÁK TELEPÍTÉS KÖZBEN:
 
Abban az esetben, ha a sogod 100%-on dolgoztatja a processzort, amikor a webes felületen a felhasználó bejelentkezik, LDAP probléma valószínűsíthető. A /home/sogo/GNUstep/Defaults/.GNUstepDefaults fájlban megadott felhasználónak nincs írási jogosultsága a basednbe. Vagy nem a megfelelő adatokat kérdezi le az ldapból (CNFieldName, IDFieldName, UIDFieldName)  

 
Kliens oldali beállítások:
 
Használt szoftverek:

Mozilla Thunderbird 2.0.0.24


sogo-connector-0.101.xpi


lightning-0.10-inverse.win32.xpi
 
Beállítás
 
Naptár:

File -  calendar - new calendar - on the network - CalDAV  /location: http://groupware.company.hu/SOGo/dav/FELHASZNALONEVE/Calendar/personal/

Címjegyzék:
Address book - File - new Remote Address Book - name: felhasználó neve pl / URL: http://groupware.company.hu/SOGo/dav/kissp/Contacts/personal

A gyűjtött címjegyzék is ide kerüljön:
Address Book - Tools - Options - Composition - Addressing - Automatical add outgoing email-addresses to my: az előzőleg a name sorban megadott kiválasztása - OK