Product SiteDocumentation Site

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

Подготовить к запуску и настроить службы PostgreSQL:
  • создать системные базы данных (пароль пользователя PostgreSQL необходимо запомнить):
    # /etc/init.d/postgresql initdb
    Введите новый пароль суперпользователя:
    Повторите его:
    
  • запустить службу:
    # systemctl start postgresql
    
  • создать пользователя sogo (пароль необходимо запомнить) и базу данных sogo (при запросе «Пароль» следует ввести пароль пользователя postgresql, созданный при создании системных баз данных):
    # su - postgres -s /bin/sh -c 'createuser --no-superuser --no-createdb --no-createrole --encrypted --pwprompt sogo'
    
    Введите пароль для новой роли:
    Повторите его:
    Пароль:
    
    # su - postgres -s /bin/sh -c 'createdb -O sogo sogo'
    Пароль:
    
    # systemctl restart postgresql
    
Настройка Альт Домен:
  • необходимо предварительно развернуть Альт Домен (см. Альт Домен );
  • создать в домене пользователя sogo с паролем Pa$$word (при запросе дважды ввести пароль):
    # samba-tool user create sogo
    # samba-tool user setexpiry --noexpiry sogo
    
Настройка SOGo (настраивается на домен test.alt):
  • заполнить файл конфигурации /etc/sogo/sogo.conf:
    {
      SOGoProfileURL = "postgresql://sogo:password@/sogo/sogo_user_profile";
      OCSFolderInfoURL = "postgresql://sogo:password@/sogo/sogo_folder_info";
      OCSSessionsFolderURL = "postgresql://sogo:password@/sogo/sogo_sessions_folder";
      OCSEMailAlarmsFolderURL = "postgresql://sogo:password@/sogo/sogo_alarms_folder";
      SOGoEnableEMailAlarms = YES;
      SOGoDraftsFolderName = Drafts;
      SOGoSentFolderName = Sent;
      SOGoTrashFolderName = Trash;
      SOGoIMAPServer = "imaps://localhost:993/?tlsVerifyMode=allowInsecureLocalhost";
      SOGoMailingMechanism = sendmail;
      SOGoForceExternalLoginWithEmail = NO;
      NGImap4ConnectionStringSeparator = "/";
      SOGoUserSources =  (
        {
            id = sambaLogin;
            displayName = "SambaLogin";
            canAuthenticate = YES;
            type = ldap;
            CNFieldName = cn;
            IDFieldName = cn;
            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";
            bindFields = (mail,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;
    }
    
    где password — пароль роли sogo, заданный при создании базы данных sogo;
  • включить службы по умолчанию и перезапустить их:
    # for service in samba postgresql memcached sogo httpd2; do systemctl enable $service; systemctl restart $service; done
    
Возможные ошибки будут записаны в файл журнала /var/log/sogo/sogo.log

Примечание

Корректность файла sogo.conf можно проверить, выполнив команду:
# plparse /etc/sogo/sogo.conf