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:
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 -pmysql>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 smtpdefaults write sogod SOGoSMTPServer 192.168.58.1
IMAP beállítása:
defaults write sogod SOGoDraftsFolderName Draftsdefaults 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