Product SiteDocumentation Site

44.2. Подготовка среды

Подготовить к запуску и настроить службы PostgreSQL:
  • создать системные базы данных:
    # /etc/init.d/postgresql initdb
    
  • включить по умолчанию и запустить службу:
    # chkconfig postgresql on
    # service postgresql start
    
  • создать пользователя 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 create sogo
    # samba-tool user setexpiry --noexpiry sogo
    
Настройка SOGo (настраивается на домен test.alt):
  • заполнить файл конфигурации /etc/sogo/sogo.conf:
    {
      SOGoProfileURL = "postgresql://sogo@/sogo/sogo_user_profile";
      OCSFolderInfoURL = "postgresql://sogo@/sogo/sogo_folder_info";
      OCSSessionsFolderURL = "postgresql://sogo@/sogo/sogo_sessions_folder";
      OCSEMailAlarmsFolderURL = "postgresql://sogo@/sogo/sogo_alarms_folder";
      SOGoEnableEMailAlarms = YES;
      SOGoDraftsFolderName = Drafts;
      SOGoSentFolderName = Sent;
      SOGoTrashFolderName = Trash;
      SOGoIMAPServer = "imaps://localhost:993";
      SOGoMailingMechanism = sendmail;
      SOGoForceExternalLoginWithEmail = NO;
      NGImap4ConnectionStringSeparator = "/";
      SOGoUserSources =  (
        {
            id = sambaLogin;
            displayName = "SambaLogin";
            canAuthenticate = YES;
            type = ldap;
            CNFieldName = cn;
            IDFieldName = cn;
            UIDFieldName = sAMAccountName;
            hostname = "ldaps://127.0.0.1";
            baseDN = "CN=Users,DC=test,DC=alt";
            bindDN = "CN=sogo,CN=Users,DC=test,DC=alt";
            bindPassword = "Pa$$word";
            bindFields = (sAMAccountName);
        },
        {
            id = sambaShared;
            displayName = "Shared Addressbook";
            canAuthenticate = NO;
            isAddressBook = YES;
            type = ldap;
            CNFieldName = cn;
            IDFieldName = mail;
            UIDFieldName = mail;
            hostname = "ldaps://127.0.0.1";
            baseDN = "CN=Users,DC=test,DC=alt";
            bindDN = "CN=sogo,CN=Users,DC=test,DC=alt";
            bindPassword = "Pa$$word";
            filter = "((NOT isCriticalSystemObject='TRUE') AND (mail='*') AND (NOT objectClass=contact))";
        },
        {
            id = sambaContacts;
            displayName = "Shared Contacts";
            canAuthenticate = NO;
            isAddressBook = YES;
            type = ldap;
            CNFieldName = cn;
            IDFieldName = mail;
            UIDFieldName = mail;
            hostname = "ldaps://127.0.0.1";
            baseDN = "CN=Users,DC=test,DC=alt";
            bindDN = "CN=sogo,CN=Users,DC=test,DC=alt";
            bindPassword = "Pa$$word";
            filter = "((((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')))";
            mapping = {
                displayname = ("cn");
            };
        }
      );
      SOGoSieveScriptsEnabled = YES;
      SOGoLanguage = Russian;
      SOGoTimeZone = Europe/Moscow;
      SOGoFirstDayOfWeek = 1;
    }
    
  • включить службы по умолчанию и перезапустить их:
    # for s in samba postgresql memcached sogo httpd2;do chkconfig $s on;service $s restart;done
    
Возможные ошибки будут записаны в файл журнала /var/log/sogo/sogo.log