SOGo: различия между версиями
(→SOGo) |
(→SOGo) |
||
Строка 88: | Строка 88: | ||
{{Attention|Служба {{cmd|sogo}} во время настройки должна быть выключена}} | {{Attention|Служба {{cmd|sogo}} во время настройки должна быть выключена}} | ||
{{path| | '''Файл {{path|/var/lib/sogo/GNUstep/Defaults/.GNUstepDefaults}}''' | ||
<source lang="xml"><?xml version="1.0" encoding="UTF-8"?> | <source lang="xml"><?xml version="1.0" encoding="UTF-8"?> | ||
<!DOCTYPE plist PUBLIC "-//GNUstep//DTD plist 0.9//EN" "http://www.gnustep.org/plist-0_9.xml"> | <!DOCTYPE plist PUBLIC "-//GNUstep//DTD plist 0.9//EN" "http://www.gnustep.org/plist-0_9.xml"> | ||
Строка 105: | Строка 105: | ||
<key>SOGoTimeZone</key> | <key>SOGoTimeZone</key> | ||
<string>MSK</string> | <string>MSK</string> | ||
<key>OCSEMailAlarmsFolderURL</key> | |||
<string>postgresql://sogo@/sogo/sogo_alarms_folder</string> | |||
<key>SOGoEnableEMailAlarms</key> | |||
<string>YES</string> | |||
<key>SOGoUserSources</key> | <key>SOGoUserSources</key> | ||
<array> | <array> |
Версия от 13:22, 25 декабря 2015
Сервер групповой работы, аналогичный Microsoft Exchange, с веб-интерфейсом и доступом по MAPI для Microsoft Outlook
- Сайт: http://www.sogo.nu
- Лицензия: GPLv2 и LGPLv2
Возможности
- Общие почтовые папки, календари и адресные книги;
- Веб-интерфейс, аналогичный Outlook Web Access;
- Поддержка протоколов CalDAV, CardDAV, GroupDAV, Microsoft ActiveSync, IMAP и SMTP;
- Доступ по MAPI для Microsoft Outlook, не требующий внешних модулей;
- Делегирование, уведомления, резервирование, поддержка категорий и почтовых фильтров;
- Поддержка нескольких почтовых ящиков в веб-интерфейсе;
- Single sign-on с помощью CAS, WebAuth или Kerberos.
Внимание! Не поддерживается MAPI over HTTPS
{{#ev:youtube|1hcBSB4Kxww}}
Установка
TODO:
Пока сборка доступна из задания 155169:
apt-repo add task 155169 && apt-get update
apt-get install sogo
Подготовка среды
PostgreSQL
Предварительная подготовка к запуску службы согласно PostgreSQL.
Создаём пользователя sogo и базу данных sogo (под правами root):
su - postgres -s /bin/sh -c 'createuser --no-superuser --no-createdb --no-createrole sogo'
su - postgres -s /bin/sh -c 'createdb -O sogo sogo'
service postgresql restart
Samba DC
Пользователи расположены в домене Active Directory, расположенном на контроллере с Samba DC.
Предварительное создание домена согласно SambaDC.
Создаём в домене пользователя sogo с паролем Pa$$word:
samba-tool user add sogo
(при запросе дважды ввести пароль).
SOGo
Настраивается на домен test.alt.
service sogo stop
su - _sogo -s /bin/bash
defaults write sogod SOGoProfileURL "postgresql://sogo@/sogo/sogo_user_profile"
defaults write sogod OCSFolderInfoURL "postgresql://sogo@/sogo/sogo_folder_info"
defaults write sogod OCSSessionsFolderURL "postgresql://sogo@/sogo/sogo_sessions_folder"
defaults write sogod SOGoEnableEMailAlarms YES
defaults write sogod OCSEMailAlarmsFolderURL "postgresql://sogo@/sogo/sogo_alarms_folder"
defaults write sogod SOGoDraftsFolderName Drafts
defaults write sogod SOGoDraftsFolderName Trash
defaults write sogod SOGoSentFolderName Sent
defaults write sogod SOGoTrashFolderName Trash
defaults write sogod SOGoIMAPServer imaps://localhost:993
#defaults write sogod SOGoSMTPServer 127.0.0.1
#defaults write sogod SOGoMailDomain test.alt
defaults write sogod SOGoMailingMechanism sendmail
defaults write sogod SOGoForceExternalLoginWithEmail NO
defaults write sogod SOGoMailSpoolPath /var/spool/sogo
defaults write sogod NGImap4ConnectionStringSeparator "/"
defaults write sogod SOGoSieveScriptsEnabled YES
defaults write sogod SOGoTimeZone "$(date +%Z)"
defaults write sogod SOGoFirstDayOfWeek 1
defaults write sogod SOGoSuperUsernames sogo
defaults write sogod SOGoLanguage Russian
defaults write sogod SOGoUserSources '({type = ldap; CNFieldName = cn; IDFieldName = cn;
UIDFieldName = sAMAccountName; baseDN = "cn=Users,dc=test,dc=alt";
bindDN = "cn=sogo,cn=Users,DC=test,DC=alt";
bindFields = (sAMAccountName); bindPassword = "Pa$$word";
canAuthenticate = YES; displayName = "Public"; hostname = ldap://127.0.0.1:389;
id = public; isAddressBook = YES;})'
mv -f /var/lib/sogo/GNUstep/Defaults/sogod.plist /var/lib/sogo/GNUstep/Defaults/.GNUstepDefaults
exit
service sogo start
Внимание! Служба sogo во время настройки должна быть выключена
Файл /var/lib/sogo/GNUstep/Defaults/.GNUstepDefaults
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//GNUstep//DTD plist 0.9//EN" "http://www.gnustep.org/plist-0_9.xml">
<plist version="0.9">
<dict>
<key>OCSFolderInfoURL</key>
<string>postgresql://sogo@/sogo/sogo_folder_info</string>
<key>OCSSessionsFolderURL</key>
<string>postgresql://sogo@/sogo/sogo_sessions_folder</string>
<key>SOGoFirstDayOfWeek</key>
<string>1</string>
<key>SOGoProfileURL</key>
<string>postgresql://sogo@/sogo/sogo_user_profile</string>
<key>SOGoSieveScriptsEnabled</key>
<string>YES</string>
<key>SOGoTimeZone</key>
<string>MSK</string>
<key>OCSEMailAlarmsFolderURL</key>
<string>postgresql://sogo@/sogo/sogo_alarms_folder</string>
<key>SOGoEnableEMailAlarms</key>
<string>YES</string>
<key>SOGoUserSources</key>
<array>
<dict>
<key>CNFieldName</key>
<string>cn</string>
<key>IDFieldName</key>
<string>cn</string>
<key>UIDFieldName</key>
<string>sAMAccountName</string>
<key>baseDN</key>
<string>CN=Users,DC=test,DC=alt</string>
<key>bindDN</key>
<string>CN=sogo,CN=Users,DC=test,DC=alt</string>
<key>bindFields</key>
<array>
<string>sAMAccountName</string>
</array>
<key>bindPassword</key>
<string>Pa$$word</string>
<key>canAuthenticate</key>
<string>YES</string>
<key>displayName</key>
<string>SambaLogin</string>
<key>hostname</key>
<string>ldap://127.0.0.1</string>
<key>id</key>
<string>sambaLogin</string>
<key>type</key>
<string>ldap</string>
</dict>
<dict>
<key>CNFieldName</key>
<string>cn</string>
<key>IDFieldName</key>
<string>mail</string>
<key>UIDFieldName</key>
<string>mail</string>
<key>baseDN</key>
<string>DC=test,DC=alt</string>
<key>bindDN</key>
<string>CN=sogo,CN=Users,DC=test,DC=alt</string>
<key>bindPassword</key>
<string>Pa$$word</string>
<key>canAuthenticate</key>
<string>NO</string>
<key>displayName</key>
<string>Shared Addressbook</string>
<key>filter</key>
<string>((NOT isCriticalSystemObject='TRUE') AND (mail='*') AND (NOT objectClass=contact))</string>
<key>hostname</key>
<string>ldap://127.0.0.1</string>
<key>id</key>
<string>sambaShared</string>
<key>isAddressBook</key>
<string>YES</string>
<key>type</key>
<string>ldap</string>
</dict>
<dict>
<key>CNFieldName</key>
<string>cn</string>
<key>IDFieldName</key>
<string>mail</string>
<key>UIDFieldName</key>
<string>mail</string>
<key>baseDN</key>
<string>DC=test,DC=alt</string>
<key>bindDN</key>
<string>CN=sogo,CN=Users,DC=test,DC=alt</string>
<key>bindPassword</key>
<string>Pa$$word</string>
<key>canAuthenticate</key>
<string>NO</string>
<key>displayName</key>
<string>Shared Contacts</string>
<key>filter</key>
<string>((((objectClass=person) AND (objectClass=contact) AND ((uidNumber>=2000) OR (mail='*')))
AND (NOT isCriticalSystemObject='TRUE') AND (NOT showInAdvancedViewOnly='TRUE') AND (NOT uid=Guest))
OR (((objectClass=group) AND (gidNumber>=2000)) AND (NOT isCriticalSystemObject='TRUE') AND (NOT showInAdvancedViewOnly='TRUE')))</string>
<key>hostname</key>
<string>ldap://127.0.0.1</string>
<key>id</key>
<string>sambaContacts</string>
<key>isAddressBook</key>
<string>YES</string>
<key>mapping</key>
<dict>
<key>displayname</key>
<array>
<string>cn</string>
</array>
</dict>
<key>type</key>
<string>ldap</string>
</dict>
</array>
</dict>
</plist>
Включение веб-интерфейса
Подробнее: http://www.openchange.org/cookbook/backends/sogo/webui.html
a2enmod proxy a2enmod proxy_http a2enmod headers a2enmod rewrite a2ensite SOGo service httpd2 restart service sogo restart
Войти по адресу:
http://адрес_сервера/SOGo/
TODO
TODO:
- Интеграция с Postfix
- Интеграция с Dovecot
- Проверка интеграции с Acitive Directory
- Упрощение настройки
- Модуль Alterator для управления
- Видеоурок