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


Kókai Csaba2011-11-29 17:24:48
Szia! Leírásod alapján megcsináltam a sogo telepítését LDAP-al. A szkripted megy rendesen és csinál usert is, de nem tudok belépni az oldalra! A logokban ez van: SOGoRootPage Login for user 'fapina' might not have worked - password policy: 65535 grace: -1 expire: -1 bound: 0 A google sok találatot ad erre, de egyik se megy :( Esetleg ötlet?
Kiss Péter2011-11-29 22:01:16
Hello Jó kérdés, nem értem, hogy mi okozhatja ezt. Meg kellene nézni, hogy az új 1.3.9 SOGo telepítője mit ír. A fenti leírás 1.3.4-hez készült. Lehet, hogy változott valami? Más felhasználóval is ezt csinálja? LDAP-ba sikerül bindelni ezzel a felhasználóval?
Vizsnyai Csaba2012-03-26 10:45:39
Szia, Nem biztos, hogy jó helyre írom ezt a hozzászólást, de tudnál segíteni esetleg SSO kialakításban? Esetleg a proxyauthentication használható lenne erre a célra? A lényeg az lenne, hogy egy portáloldalra való belépés után az oldalról nyíló SOGo felületnek át kellene vennie a portálba bejelentkezett felhasználót. Köszönöm, Csaba
Seszták István2013-01-02 17:16:55
Szia! Várható a SOGo-val kapcsolatos leírások aktualizálása a legújabb SOGo 2.0 (2.0.3) verzióra és Debian Squeeze-re? Köszi!
Kiss Péter2013-01-07 21:56:19
Hamarosan készítek arról is leírást
JimmiNu2017-09-09 14:45:13
ioZjym http://www.FyLitCl7Pf7ojQdDUOLQOuaxTXbj5iNG.com

Új hozzászólás: