Въведение
Оптимизацията на офисната инфраструктура и разгръщането на нови работни места е сериозен проблем за компании от всякакъв размер. Оптималното решение за нов проект е наемането на ресурси в облака и закупуването на лицензи, които могат да се използват както от доставчика, така и в собствените центрове за данни. Едно от решенията за такъв сценарий е , която позволява изграждането на платформа за съвместна работа и корпоративни комуникации на предприятието както в облачна среда, така и на собствена инфраструктура.

Решението е проектирано за офиси с всякакъв размер и има два основни сценария на разгръщане: при наличие на до 3000 пощенски кутии и без високи изисквания за устойчивост, може да се използва инсталация в режим single-server, а multi-server инсталацията поддържа надеждна и отзивчива работа на десетки и стотици хиляди пощенски кутии. Във всички случаи потребителят получава достъп до пощата, документите и съобщенията чрез единен уеб интерфейс от работното си място с всяка операционна система без необходимост от инсталиране и настройка на допълнителен софтуер, или чрез мобилни приложения за iOS и Android. Възможно е използването на познатите клиенти Outlook и Thunderbird.
За разгръщането на проекта партньорът на Zextras — избра Yandex.Cloud, тъй като архитектурата му е аналогична на AWS и има поддръжка на S3 съвместимо хранилище, което ще помогне за намаляване на разходите за съхранение на големи обеми поща, съобщения и документи, както и за повишаване на устойчивостта на решението.
В средата на Yandex.Cloud за инсталация в режим single-server се използват основните средства за управление на виртуални машини и възможностите за управление на виртуални мрежи . За multi-server инсталации, в допълнение към указаните средства, е необходимо да се използват технологии , при необходимост (в зависимост от мащаба на системата) – също и , и мрежов балансировач .
S3-съвместимо обектно хранилище може да се използва и в двата вариантa на инсталация, а също така може да бъде свързано към системи, разгръщани on-premise за икономично и устойчиво съхранение на данни от пощенския сървър в Yandex.Cloud.
За инсталация на един сървър, в зависимост от броя на потребителите и/или пощенските кутии, са необходими: за основния сървър 4-12 vCPU, 8-64 GB vRAM (конкретните стойности за vCPU и vRAM зависят от броя на пощенските кутии и реалното натоварване), не по-малко от 80 GB дисково пространство за операционната система и приложения, както и допълнително дисково пространство за съхранение на пощата, индекси, логове и т.н., зависи от броя и средния размер на пощенските кутии и може динамично да се променя по време на експлоатацията на системата; за допълнителни сървъри Docs: 2-4 vCPU, 2-16 GB vRAM, 16 GB дисково пространство (конкретните стойности на ресурсите и броят на сървърите зависят от реалното натоварване); допълнително може да се изисква сървър TURN/STUN (необходимостта му като отделен сървър и ресурсите зависят от реалното натоварване). За инсталации на множество сървъри, броят и назначението на ролевите виртуални машини и предоставените им ресурси се определят индивидуално в зависимост от изискванията на потребителя.
Цел на статията
Описание на разгръщането в среда Яндекс.Облако на продуктите Zextras Suite на базата на пощенския сървър Zimbra в вариант на инсталация single-server. Получената инсталация може да бъде използвана в продуктивна среда (опитни потребители могат да направят необходимите настройки и да добавят ресурси).
В състава на системата Zextras Suite/Zimbra влизат:
- Zimbra — корпоративна електронна поща с възможност за споделяне на пощенски кутии, календари и списъци с контакти (адресни книги).
- Zextras Docs — вграден офис пакет въз основа на LibreOffice online за създаване и съвместна работа с документи, таблици, презентации.
- Zextras Drive – индивидуално файлово хранилище, позволяващо редактиране, съхранение и споделяне с други потребители на файлове и папки.
- Zextras Team – месинджър с поддръжка на аудио и видеоконференции. Налични версии Team Basic, позволяваща само комуникации 1:1, и Team Pro, поддържаща многопотребителски конференции, канали, възможност за споделяне на екрана, обмен на файлове и други функции.
- Zextras Mobile – поддръжка на мобилни устройства чрез Exchange ActiveSync за синхронизиране на поща с мобилни устройства с функции за управление MDM (Mobile Device Management). Позволява използването на Microsoft Outlook като пощенски клиент.
- Zextras Admin – реализация на мултидоменно администриране на системата с делегиране на администратори за управление на клиентски групи и класове услуги.
- Zextras Backup - резервиране и възстановяване на данни с пълен цикъл в реално време
- Zextras Powerstore — йерархично хранилище на обекти за пощенската система с поддръжка на класове за обработка на данни, позволяващо локално или облачно съхранение на данни архитектура S3, включително Yandex Object Storage.
След инсталацията потребителят получава функционираща система в средата на Яндекс.Облако.
Условия и ограничения
- Не се описва отделянето на дисково пространство за пощенски кутии, индекси и други типове данни, тъй като Zextras Powerstore поддържа различни типове хранилища. Типът и размерът на хранилищата зависят от задачите и параметрите на системата. Ако е необходимо, това може да стане по-късно в процеса на прехвърляне на описаната инсталация в продуктивна.
- За опростяване на инсталацията не се разглежда използването на управляем от администратора DNS сървър за разрешаване на вътрешни (непублични) домейни, използва се стандартния DNS сървър на Яндекс.Облако. При използване в продуктивна среда се препоръчва използването на DNS сървър, който вероятно вече е наличен в корпоративната инфраструктура.
- Предполага се, че се използва акаунт в Яндекс.Облако с настройки по подразбиране (в частност, при вход в „Конзолата“ на услугата съществува само каталог (в списъка „Налични облаци“ под името default). Потребителите, запознати с работата в Яндекс.Облако, могат по свое желание да създадат отделен каталог за тестов стенд или да използват съществуващ.
- Потребителят трябва да разполага с публична DNS зона, за която има административен достъп.
- Потребителят трябва да има достъп до каталога в „Конзолата“ на Яндекс.Облако поне с роля „editor“ (при „Собственик на облака“ всички необходими права са по подразбиране, за предоставяне на достъп на други потребители до облака съществуват ръководства: , , )
- В тази статия не се описва инсталирането на персонализирани X.509 сертификати, използвани за защита на мрежовите комуникации с механизми на TLS. След приключване на инсталацията ще бъдат използвани само подписани сертификати, което позволява на браузерите да получават достъп до инсталираната система. Те обикновено показват известие за липсата на удостоверен сертификат на сървъра, но позволяват продължаване на работа. Преди инсталирането на удостоверени сертификати, които могат да бъдат използвани от клиентските устройства (подписани от публични и/или корпоративни удостоверяващи центрове), приложенията за мобилни устройства не могат да работят с инсталираната система. Следователно, инсталирането на посочените сертификати в продуктивна среда е необходимо и се извършва след завършване на теста в съответствие с корпоративните политики за сигурност.
Описание на процеса на инсталация на системата Zextras/Zimbra в режим 'single-server'
1. Предварителна подготовка
Преди започване на инсталацията е необходимо да се осигури:
а) Извършване на промени в публичната DNS зона (създаване на A-запис за сървъра Zimbra и MX-запис за обслужвания пощенски домейн).
б) Настройка на виртуалната мрежова инфраструктура в Yandex.Cloud.
Като при това, след извършване на промените в DNS зоната, е необходимо известно време за разпространение на тези промени, но от друга страна, не може да се създаде A-запис, без да се знае IP адреса, свързан с него.
Следователно, действията се извършват в следната последователност:
1. Резервиране на публичен IP адрес в Yandex.Cloud
1.1 В 'Конзолата на Yandex.Cloud' (ако е необходимо, изберете каталога в 'достъпни облаци') влезте в раздела Virtual Private Cloud, подраздел IP адреси, след което натиснете бутона 'Резервирай адрес', изберете предпочитаната зона на достъпност (или се съгласете с предлаганата стойност; тази зона на достъпност впоследствие трябва да се използва за всички описани по-нататък действия в Yandex.Cloud, ако на съответните формуляри има възможност за избор на зона на достъпност), в отворения диалогов прозорец по желание можете, но не е задължително, да изберете опцията 'Защита от DDoS', и натиснете бутона 'Резервирай' (вижте също ).

След закриването на диалога в списъка с IP адреси ще бъде наличен статичен IP адрес, предоставен от системата, който може да бъде копиран и използван на следващия етап.

1.2 В 'пряката' зона DNS да се направи A-запис за сървъра Zimbra, сочещ към предварително определения IP адрес, A-запис за сървъра TURN, сочещ към същия IP адрес, и MX-запис за обработваната пощенска домейна. В нашия пример това ще бъдат mail.testmail.svzcloud.ru (сървър Zimbra), turn.testmail.svzcloud.ru (сървър TURN) и testmail.svzcloud.ru (пощенски домейн) съответно.
1.3 В Yandex.Cloud в избраната зона на достъп за подсет, която ще се използва за внедряване на виртуални машини, включете NAT за Интернет.
За целта в раздела Virtual Private Cloud, подраздел 'Облачни мрежи', изберете съответната облачна мрежа (по подразбиране там е налична само мрежата default), в нея изберете съответстващата зона на достъп и в нейните настройки изберете опцията 'Включете NAT за интернет'.

Статусът ще се промени в списъка с подсетове:

Повече информация вижте в документацията: и .
2. Създаване на виртуални машини
2.1. Създаване на виртуална машина за Zimbra
Последователност на действията:
2.1.1 В 'Консолата на Yandex.Cloud' влезте в раздела Compute Cloud, подраздел 'Виртуални машини', натиснете бутона 'Създаване на ВМ' (подробности за създаването на ВМ вижте тук: ).

2.1.2 Тук трябва да зададете:
- Име - произволно (в съответствие с формата, поддържан от Yandex.Cloud)
- Зона на достъп - трябва да съвпада с предварително избраната за виртуалната мрежа.
- В 'Публични образи' изберете Ubuntu 18.04 lts
- В дисковете задайте стартов диск с размер не по-малък от 80ГБ. За тестови цели е достатъчно HDD (и също за продуктивно използване при условие, че някои типове данни са на диск от типа SSD). При необходимост допълнителни дискове могат да бъдат добавени след създаването на ВМ.
В 'изчислителни ресурси' задайте:
- vCPU: не по-малко от 4.
- Гарантирана част от vCPU: за времето на изпълнение на описаните в статията действия не по-малко от 50%, след приключване на инсталацията, при необходимост, може да се намали.
- RAM: се препоръчва 8ГБ.
- Подсете: изберете подсет, за която на етапа на предварителната подготовка е включен NAT за Интернет.
- Публичен адрес: изберете от списъка с IP адрес, използван по-рано за създаване на A-записа в DNS.
- Потребител: по своя преценка, но различен от потребителя root и от системните акаунти на Linux.
- Задължително е да се зададе публичен (отворен) SSH-ключ.
→
Вижте също Приложение 1. Създаване на SSH ключове в openssh и putty и конвертиране на ключове от формат putty в openssh.
2.1.3 След завършване на настройката натиснете „Създаване на ВМ”.
2.2. Създаване на виртуална машина за Zextras Docs
Последователност на действията:
2.2.1 В 'Консолата на Yandex.Cloud' влезте в раздела Compute Cloud, подраздел 'Виртуални машини', натиснете бутона 'Създаване на ВМ' (подробности за създаването на ВМ вижте тук: ).

2.2.2 Тук трябва да зададете:
- Име - произволно (в съответствие с формата, поддържан от Yandex.Cloud)
- Зона на достъп - трябва да съвпада с предварително избраната за виртуалната мрежа.
- В 'Публични образи' изберете Ubuntu 18.04 lts
- В дисковете задайте стартов диск с размер не по-малък от 80ГБ. За тестови цели е достатъчно HDD (и също за продуктивно използване при условие, че някои типове данни са на диск от типа SSD). При необходимост допълнителни дискове могат да бъдат добавени след създаването на ВМ.
В 'изчислителни ресурси' задайте:
- vCPU: поне 2.
- Гарантирана част от vCPU: за времето на изпълнение на описаните в статията действия не по-малко от 50%, след приключване на инсталацията, при необходимост, може да се намали.
- RAM: поне 2GB.
- Подсете: изберете подсет, за която на етапа на предварителната подготовка е включен NAT за Интернет.
- Публичен адрес: без адрес (на тази машина не изисква достъп от Интернет, само изходящ достъп от тази машина в Интернет, който се осигурява от опцията „NAT в Интернет” на използваната подсетка).
- Потребител: по своя преценка, но различен от потребителя root и от системните акаунти на Linux.
- Задължително е да се зададе публичен (отворен) SSH-ключ, може да бъде същият, какъвто се използва за сървъра Zimbra, или да се генерира отделна ключова двойка, тъй като затвореният ключ за сървъра Zextras Docs ще трябва да бъде поставен на диска на сървъра Zimbra.
Вижте също Приложение 1. Създаване на SSH ключове в openssh и putty и конвертиране на ключове от формат putty в openssh.
2.2.3 След завършване на настройката натиснете „Създаване на ВМ”.
2.3 Създадените виртуални машини ще бъдат достъпни в списъка с виртуални машини, където ще се показва, по-специално, техният статус и използваните IP адреси, както публични, така и вътрешни. Информацията за IP адресите ще бъде необходима на следващите стъпки на инсталацията.

3. Подготовка на сървъра Zimbra за инсталация
3.1 Инсталиране на актуализации
Необходимо е да влезете на сървъра Zimbra по неговия публичен IP адрес с предпочитания от вас ssh клиент, използвайки затворения (частен) ssh ключ и името на потребителя, зададено при създаването на виртуалната машина.
След влизането изпълнете командите:
sudo apt update
sudo apt upgrade(при изпълнение на последната команда отговорете “y” на въпроса, уверени ли сте в инсталацията на предложените актуализации)
След инсталирането на актуализациите можете (но не е задължително) да изпълните командата:
sudo apt autoremoveИ в завършването на стъпката изпълнете командата
sudo shutdown –r now3.2 Допълнителна инсталация на приложения
Необходимо е да се инсталира NTP клиент за синхронизиране на системното време и приложението screen с следната команда:
sudo apt install ntp screen(при изпълнение на последната команда отговорете “y” на въпроса, уверени ли сте в инсталацията на прилаганите пакети)
Също така можете да инсталирате допълнителни утилити за удобство на администратора. Например, Midnight Commander може да бъде инсталиран с командата:
sudo apt install mc3.3. Промяна на системната конфигурация
3.3.1 В файла /etc/cloud/cloud.cfg.d/95-yandex-cloud.cfg промяна на стойността на параметъра manage_etc_hosts с истинно на неверно.
Бележка: редакторът за промяна на този файл трябва да се стартира с права на потребителя root, например, “sudo vi /etc/cloud/cloud.cfg.d/95-yandex-cloud.cfg” или, ако е инсталиран пакетът mc, можете да използвате командата «sudo mcedit /etc/cloud/cloud.cfg.d/95-yandex-cloud.cfg»
3.3.2 Редактирайте /etc/hosts по следния начин, заменяйки в реда, определящ FQDN на хоста, адреса от 127.0.0.1 с вътрешния IP адрес на този сървър, а името – с публичното име на сървъра, посочено по-рано в A записа на DNS зоната, и съответно промяна на краткото име на хоста (ако се различава от краткото име на хоста в A записа на публичния DNS).
Например, в нашия случай файлът hosts изглеждаше така:

След редактирането той прие вида:

Бележка: редакторът за промяна на този файл трябва да се стартира с права на потребителя root, например, “sudo vi /etc/hosts” или, ако е инсталиран пакетът mc, можете да използвате командата «sudo mcedit /etc/hosts»
3.4 Задайте паролата на потребителя
Това е необходимо, тъй като впоследствие ще се извършва настройка на защитната стена и в случай на проблеми с нея, при наличието на парола на потребителя, може да се влезе във виртуалната машина, използвайки серийната конзола от уеб конзолата на Яндекс.Облако и да се деактивира защитната стена и/или да се поправи грешката. При създаването на виртуалната машина потребителят няма парола и следователно достъпът е възможен само по SSH с аутентификация с ключове.
За задаване на паролата е необходимо да се изпълни командата:
sudo passwdНапример, в нашия случай това ще бъде команда “sudo passwd user".
4. Инсталация на Zimbra и Zextras Suite
4.1. Изтегляне на дистрибуции на Zimbra и Zextras Suite
4.1.1 Изтегляне на дистрибуцията на Zimbra
Последователност на действията:
1) Влезте в браузъра по URL и попълнете формата. Ще получите имейл с линкове за изтегляне на Zimbra за различни ОС.
2) Изберете актуалната версия на дистрибуцията за платформата Ubuntu 18.04 LTS и копирайте връзката
3) Изтеглете дистрибуцията на Zimbra на сървъра Zimbra и я разархивирайте. За целта в ssh сеанса на сървъра zimbra изпълнете командите
cd ~
mkdir zimbra
cd zimbra
wget
tar –zxf(в нашия пример това е “tar –zxf zcs-9.0.0_OSE_UBUNTU18_latest-zextras.tgz”)
4.1.2 Изтегляне на дистрибуцията на Zextras Suite
Последователност на действията:
1) Влезте в браузъра по URL
2) Попълнете формата, като въведете необходимите данни, и натиснете бутона “DOWNLOAD NOW”

3) Ще се отвори страница за изтегляне

На него има два интересни URL адреса: един отгоре на страницата за самия Zextras Suite, който ще ни е необходим сега, и друг в долната част в блока Docs Server за Ubuntu 18.04 LTS, който ще е нужден по-късно за инсталиране на Zextras Docs на ВМ за Docs.
4) Свалете дистрибуцията на Zextras Suite на сървър Zimbra и я разархивирайте. За целта в ssh сесия на сървъра zimbra изпълнете командите
cd ~
mkdir zimbra
cd zimbra(ако текущата директория не е изменена след предишната стъпка – горепосочените команди не е необходимо да се изпълняват)
wget http://download.zextras.com/zextras_suite-latest.tgz
tar –zxf zextras_suite-latest.tgz4.2. Инсталация на Zimbra
Последователност на действията
1) Придвижете се в директорията, в която са разархивирани файловете на стъпка 4.1.1 (можете да я видите с команда ls, като сте в директория ~ / zimbra).
В нашия пример това ще бъде:
cd ~/zimbra/zcs-9.0.0_OSE_UBUNTU18_latest-zextras/zimbra-installer2) Стартирайте инсталацията на Zimbra с командата
sudo ./install.sh3) Отговаряме на въпросите на инсталатора
На въпросите на инсталатора можете да отговаряте с “y” (съответства на „да“), “n” (съответства на „не“) или да оставите предложението на инсталатора без промяна (той предлага варианти, показвайки ги в квадратни скобки, например, “[Y]” или “[N]”.
Съгласни ли сте с условията на лиценза на софтуерното споразумение? – да.
Използвайте хранилището на пакети на Zimbra? – по подразбиране (да).
“Инсталирайте zimbra-ldap?”, “Инсталирайте zimbra-logger?”, “Инсталирайте zimbra-mta?– по подразбиране (да).
Инсталирайте zimbra-dnscache? – не (в операционната система по подразбиране е включен собствен кеширащ DNS сървър, така че този пакет ще има конфликт с него заради използваните портове).
Инсталирайте zimbra-snmp? – по желание, може да оставите варианта по подразбиране (да), можете и да не инсталирате този пакет. В нашия пример е оставен варианта по подразбиране.
“Инсталирайте zimbra-store?”, “Инсталирайте zimbra-apache?”, “Инсталирайте zimbra-spell?”, “Инсталирайте zimbra-memcached?”, “Инсталирайте zimbra-proxy?– по подразбиране (да).
Инсталирайте zimbra-snmp? – не (пакетът всъщност не се поддържа и функционално се заменя с Zextras Drive).
Инсталирайте zimbra-imapd? – по подразбиране (не).
Инсталирайте zimbra-chat? – не (функционално заменя Zextras Team)
След което инсталаторът ще попита дали да продължи инсталацията?

Отговаряме „да“, ако може да продължим, в противен случай отговаряме „не“ и имаме възможност да променим отговорите на зададените по-рано въпроси.
След съгласие да продължим, инсталаторът ще извърши инсталация на пакетите.
4.) Отговаряме на въпросите на първоначалния конфигуратор
4.1) Тъй като в нашия пример се различават DNS името на пощенския сървър (име на A-запис) и името на обслужвания пощенски домейн (име на MX-запис), конфигураторът издава предупреждение и предлага да зададем името на обслужвания пощенски домейн. Приемаме предложението и въвеждаме името на MX-записа. В нашия пример това изглежда по следния начин:

Забележка: Може да зададете обслужвания пощенски домейн, различен от името на сървъра, и в случай, че за името на сървъра има съответстващ MX-запис.
4.2) Конфигураторът показва основното меню.

Необходимо е да зададем парола за администратора на Zimbra (пункт меню 6 в нашия пример), без която продължаването на инсталацията е невъзможно, и да променим настройката на zimbra-proxy (пункт меню 8 в нашия пример; при необходимост, тази настройка може да бъде променена и след инсталацията).
4.3) Промяна на настройките на zimbra-store
В поканата на конфигуратора въвеждаме номера на пункта от менюто и натискаме Enter. Попадаме в менюто за настройка на хранилището:

където в поканата на конфигуратора въвеждаме номера на пункта Admin Password (в нашия пример 4), натискаме Enter, след което конфигураторът предлага случайно генерирана парола, с която можем да се съгласим (запомняйки я) или да введем наша. Във всеки случай, в края трябва да натиснем Enter, след което от пункта 'Admin Password' ще бъде свалено обозначението за изчакване на информация от потребителя:

Връщаме се в предишното меню (съгласяваме се с предложението на конфигуратора).
4.4) Промяна на настройките на zimbra-proxy
Подобно на предишната стъпка, в основното меню избираме номера на пункта 'zimbra-proxy' и го въвеждаме в поканата на конфигуратора.

В отвореното меню Proxy configuration избираме номера на пункта 'Proxy server mode' и го въвеждаме в поканата на конфигуратора.

Конфигураторът ще предложи да изберем един от режимите, въвеждаме 'redirect' в неговата покана и натискаме Enter.
След това се връщаме в основното меню (съгласяваме се с предложението на конфигуратора).
4.5) Стартиране на конфигурацията
За да стартирате конфигурацията, въведете «a» в командния ред на конфигуратора. След това той ще попита дали искате да запазите въведената конфигурация в файл (който може да се използва за повторна инсталация) – можете да се съгласите с предложението по подразбиране, ако се извърши запазване – ще попита в кой файл да запази конфигурацията (също можете да се съгласите с предложението по подразбиране или да въведете свое име на файл).

На този етап все още можете да се откажете от продължението и да внесете промени в конфигурацията, съгласявайки се с отговора по подразбиране на въпроса «Системата ще бъде променена – продължавате?».
За да започнете инсталацията, на този въпрос трябва да отговорите “Да”, след което конфигураторът ще приложи зададените по-рано настройки за известно време.
4.6) Завършване на инсталацията на Zimbra
Преди да завърши инсталаторът ще пита дали искате да уведомите Zimbra за извършената инсталация? Можете както да се съгласите с предложението по подразбиране, така и да откажете (отговаряйки “Не”) уведомлението.
След което инсталаторът ще извърши още известно време завършващи операции и ще покаже уведомление за завършване на конфигурирането на системата с предлагане да натиснете произволен бутон, за да излезете от инсталатора.

4.3. Инсталация на Zextras Suite
Повече за инсталацията на Zextras Suite вижте в .
Последователност на действията:
1) Преминете в директорията, в която се разпакуваха файловете на стъпка 4.1.2 (можете да прегледате с командата ls, докато сте в директория ~\/zimbra).
В нашия пример това ще бъде:
cd ~\/zimbra\/zextras_suite2) Стартирайте инсталацията на Zextras Suite с команда
sudo .\/install.sh all3) Отговаряме на въпросите на инсталатора
Принципът на работа на инсталатора е подобен на този на Zimbra, с изключение на липсата на конфигуратор. На въпросите на инсталатора можете да отговорите “y” (отговаря на «да»), “n” (отговаря на «не») или да оставите предложението на инсталатора без промяна (той предлага опции, показвайки ги в квадратни скобки, например, “[Y]” или “[N]”.
За да започнете процеса на инсталация, е необходимо последователно да отговорите «да» на следните въпроси:
Съгласни ли сте с условията на лиценза на софтуерното споразумение?
Искате ли Zextras Suite автоматично да изтегли, инсталира и актуализира ZAL библиотеката?
След което ще се покаже уведомление с предложение да натиснете Enter, за да продължите:

След натискане на Enter ще започне процесът на инсталация, понякога прекъсван от въпроси, на които, обаче, отговаряме с одобрение на предложенията по подразбиране («да»), а именно:
Сега ще бъде инсталирано Yextras Suite Core. Продължавате ли?
Искате ли да спрете уеб приложението Zimbra (пощенска кутия)?
Zextras Suite Zimlet сега ще бъде инсталиран. Продължавате?
Преди да започне финалната част от инсталацията, ще се появи уведомление за необходимостта от настройка на DOS филтъра с предложение да натиснете Enter за продължаване. След натискане на Enter започва финалната част от инсталацията, в края се показва финално уведомление и работата на инсталатора приключва.

4.4. Първоначална настройка и определяне на параметрите на конфигурация LDAP
1) Всички последващи действия се извършват от потребителя zimbra. За целта е необходимо да изпълните командата
sudo su - zimbra2) Променяме настройката на DOS филтъра с командата
zmprov mcf zimbraHttpDosFilterMaxRequestsPerSec 1503) За инсталирането на Zextras Docs ще е необходима информация за някои настройки на Zimbra. За целта можете да изпълните командата:
zmlocalconfig –s | grep ldapВ нашия пример ще бъде показана следната информация:

За по-нататъшна употреба ще са необходими ldap_url, zimbra_ldap_password (и zimbra_ldap_userdn, въпреки че инсталаторът на Zextras Docs обикновено дава правилни предположения за името на потребителя LDAP).
4) Завършете работата под потребителя zimbra, изпълнявайки командата
logout
5. Подготовка на сървъра Docs за инсталация
5.1. Качване на частния ключ SSH на сървър Zimbra и вход на сървър Docs
Необходимо е да поставите на сървър Zimbra частния ключ от SSH ключовата двойка, публичният ключ на която е използван в стъпка 2.2.2, т.2.2 при създаването на виртуалната машина Docs. Можете да го качите на сървъра чрез SSH (например, чрез sftp) или да го поставите чрез буфера за обмяна (ако позволяват възможностите на използвания SSH клиент и работната му среда).
Предполагаме, че частният ключ е поставен в файл ~/.ssh/docs.key и потребителят, който се използва за вход на сървър Zimbra, е негов собственик (ако качването/създаването на този файл е било извършено от под този потребител – той автоматично е станал негов собственик).
Необходимо е един път да изпълните командата:
chmod 600 ~/.ssh/docs.keyВ бъдеще за вход на сървъра Docs е необходимо да следвате следната последователност от действия:
1) Влезте на сървъра Zimbra
2) Изпълнете командата
ssh -i ~/.ssh/docs.key user@Където стойността може да бъде научена в 'Консола Яндекс.Облако', например, както е показано в т.2.3.
5.2. Инсталиране на актуализации
След влизането на сървъра Docs, изпълнете командите, аналогично на тези за сървър Zimbra:
sudo apt update
sudo apt upgrade(при изпълнение на последната команда отговорете “y” на въпроса, уверени ли сте в инсталацията на предложените актуализации)
След инсталирането на актуализациите можете (но не е задължително) да изпълните командата:
sudo apt autoremoveИ в завършването на стъпката изпълнете командата
sudo shutdown –r now5.3. Допълнителна инсталация на приложения
Необходимо да се инсталира NTP клиент за синхронизиране на системното време и приложението screen, подобно на действието за Zimbra сървър, с следната команда:
sudo apt install ntp screen(при изпълнение на последната команда отговорете “y” на въпроса, уверени ли сте в инсталацията на прилаганите пакети)
Също така можете да инсталирате допълнителни утилити за удобство на администратора. Например, Midnight Commander може да бъде инсталиран с командата:
sudo apt install mc5.4. Промяна на системната конфигурация
5.4.1. В файла /etc/cloud/cloud.cfg.d/95-yandex-cloud.cfg също така, както и за Zimbra сървър, променете стойността на параметъра manage_etc_hosts от true на false.
Бележка: редакторът за промяна на този файл трябва да се стартира с права на потребителя root, например, “sudo vi /etc/cloud/cloud.cfg.d/95-yandex-cloud.cfg” или, ако е инсталиран пакетът mc, можете да използвате командата «sudo mcedit /etc/cloud/cloud.cfg.d/95-yandex-cloud.cfg»
5.4.2. Редактирайте /etc/hosts, добавяйки публичния FQDN на Zimbra сървър, но с вътрешния IP адрес, назначен от Yandex.Cloud. Ако имате управляван от администратор вътрешен DNS сървър, използван от виртуалните машини (например, в продуктивна среда), и способен да разрешава публичния FQDN на Zimbra сървър до вътрешния IP адрес при получаване на запитвания от вътрешната мрежа (за запитвания от Интернет, FQDN на Zimbra сървър трябва да се разрешава до публичния IP адрес, а TURN сървърът трябва да се разрешава до публичния IP адрес винаги, включително при запитвания от вътрешни адреси), тази операция не е необходима.
Например, в нашия случай файлът hosts изглеждаше така:

След редактирането той прие вида:

Бележка: редакторът за промяна на този файл трябва да се стартира с права на потребителя root, например, “sudo vi /etc/hosts” или, ако е инсталиран пакетът mc, можете да използвате командата «sudo mcedit /etc/hosts»
6. Инсталиране на Zextras Docs
6.1. Влезте на сървър Docs
Процедурата за вход на сървъра Docs е описана в т.5.1.
6.2. Сваляне на дистрибуция на Zextras Docs
Последователност на действията:
1) От страницата, от която е изтеглен дистрибуцията на Zextras Suite в т. 4.1.2, копирайте URL за версията на Docs за Ubuntu 18.04 LTS (ако не е била копирана по-рано).
2) Свалете дистрибуцията на Zextras Suite на сървър Zimbra и я разархивирайте. За целта в ssh сесия на сървъра zimbra изпълнете командите
cd ~
mkdir zimbra
cd zimbra
wget(в нашия случай командата е «wget »)
tar –zxf(в нашия случай командата е «tar –zxf zextras-docs-ubuntu18.tgz»)
6.3. Инсталиране на Zextras Docs
Повече информация за инсталацията и настройката на Zextras Docs вижте. .
Последователност на действията:
1) Придвижете се в директорията, в която са разархивирани файловете на стъпка 4.1.1 (можете да я видите с команда ls, като сте в директория ~ / zimbra).
В нашия пример това ще бъде:
cd ~/zimbra/zextras-docs-installer2) Запустете инсталацията на Zextras Docs с командата
sudo ./install.sh3) Отговаряме на въпросите на инсталатора
На въпросите на инсталатора можете да отговаряте с “y” (съответства на «да»), “n” (съответства на «не») или да оставите предложението на инсталатора без промяна (той предлага опции, показвайки ги в квадратни скоби, например, “[Y]” или “[N]”).
Системата ще бъде променена, желаете ли да продължите? – приемаме опцията по подразбиране («да»).
След това ще започне инсталацията на зависимостите: инсталаторът ще показва какви пакети иска да инсталира и ще пита за потвърждение за тяхната инсталация. Във всички случаи се съгласяваме с предложените опции по подразбиране.
Например, може да пита «python2.7 not found. Would you like to install it?», «python-ldap not found. Would you like to install it?» и т.н.
След инсталирането на всички необходими пакети, инсталаторът пита за съгласие за инсталиране на Zextras Docs:
Бихте ли искали да инсталирате Zextras DOCS? – приемаме опцията по подразбиране («да»).
След което следва известно време инсталация на пакетите, а именно Zextras Docs и преминаване към въпросите на конфигуратора.
4) Отговаряме на въпросите на конфигуратора
Конфигуратора последователно запитва конфигурационни параметри, на които в отговор се въвеждат стойностите, получени в стъпка 3, т.4.4. Первична настройка и определяне на параметрите за конфигурация на LDAP.
В нашия случай настройките имат следния вид:

5) Завършване на инсталацията на Zextras Docs
След отговорите на въпросите на конфигуратора, инсталаторът завършва локалната конфигурация на Docs и регистрира инсталираната услуга на основния сървър Zimbra, инсталиран преди това.
За инсталация на един сървър, обикновено това е достатъчно, но в някои случаи (ако документите не могат да бъдат отворени в Docs в уебклиента на таба Drive) може да е необходимо извършването на действие, задължително за многосървърна инсталация – в нашия случай на основния сървър Zimbra ще е необходимо изпълнението от потребител Zimbra на командата /opt/zimbra/libexec/zmproxyconfgen и zmproxyctl restart.
7. Первоначална настройка на Zimbra и Zextras Suite (с изключение на Team)
7.1. Първоначален вход в администраторската конзола
Влезте в браузъра по URL: https://<FQDN_сървъра_Zimbra>:7071
При желание може да влезете в уебклиента по URL: https://<FQDN_сървъра_Zimbra>
При входа браузърите показват предупреждение за несигурна връзка поради невъзможността да проверят сертификата. Необходимо е да отговорите на браузъра, че се съгласявате да преминете към сайта, въпреки това предупреждение. Това е свързано с факта, че след инсталирането се използва самоподписан X.509 сертификат за TLS връзки, който впоследствие може (в продуктивна употреба – трябва) да бъде заменен с търговски сертификат или друг сертификат, признат от използваните браузъри.
В формата за удостоверяване въведете името на потребителя в формат admin@<ваш обслужван пощенски домейн> и паролата на администратора Zimbra, зададена при инсталирането на сървера Zimbra в стъпка 4.3 в т.4.2.
В нашия случай това изглежда по следния начин:
Администраторската конзола:

Уеб-клиент:

Забележка 1. Ако не посочите обслужвания пощенски домейн при вход в администраторската конзола или уеб клиента, потребителите ще се удостоверяват в пощенския домейн, създаден при инсталацията на сървъра Zimbra. След инсталацията това е единственият съществуващ на този сървър обслужван пощенски домейн, но при експлоатацията на системата могат да бъдат добавени допълнителни пощенски домейни, а тогава явно посочването на домейна в името на потребителя ще има значение.
Забележка 2. При вход в уеб клиента браузърът може да поиска разрешение за показване на уведомления от сайта. Необходимо е да се даде съгласие за получаване на уведомления от този сайт.
Забележка 3. След вход в администраторската конзола може да бъде изведено уведомление за наличието на съобщения за администратора, които обикновено са напомняния за необходимостта от настройка на Zextras Backup и/или за необходимостта от закупуване на лиценз за Zextras до края на срока на действие на триалната лицензия, зададена по подразбиране. Тези действия могат да се извършат по-късно, затова наличните към момента на входа съобщения могат да се игнорират и/или да се отбележат като прочетени в менюто Zextras: Уведомление Zextras.

Забележка 4. Особено необходимо е да се отбележи, че в монитора на състоянието на сървъра статусът на услугата Docs се показва като «недостъпна», дори ако Docs в уеб клиента работи коректно:

Това е особеност на триалната версия и може да бъде отстранена само след закупуване на лиценз и контакти с поддръжката.
7.2. Разгръщане на компонентите на Zextras Suite
В менюто Zextras: Core е необходимо да се натисне бутона «Разгъни» за всички зимлети, които се предвижда да бъдат използвани.

При разгъването на зимлети се извежда диалог с резултата от операцията следния вид:

В нашия пример се извършва разгъване на всички зимлети на Zextras Suite, след което формата Zextras: Core ще приеме следния вид:

7.3. Промяна на настройките за достъп
7.3.1. Промяна на глобалните настройки
В менюто Настройки: Глобални настройки, подменю Прокси сървър, променете следните параметри:
Режим на уеб-прокси: redirect
Включете прокси сървъра на административната конзола: поставете отметка в квадратчето.
След което в горния десен ъгъл на формата натиснете «Запази».
В нашия пример след направените промени формата има следния вид:

7.3.2. Промени в настройките на основния Zimbra сървър
В меню Настройка: Сервери: , подменю Прокси-сървър, променете следните параметри:
Режим уеб-прокси: натиснете бутона „Нулиране на стойността по подразбиране“ (при това самата стойност няма да се промени, тъй като вече е зададена при инсталацията). Активирайте прокси-сървъра на конзолата за администриране: уверете се, че чекбоксът е отметнат (трябваше да се приложи стойността по подразбиране, ако не е – можете да натискате бутона „Нулиране на стойността по подразбиране“ и/или да зададете ръчно). След това в горния десен ъгъл на формуляра натиснете „Запазване“.
В нашия пример след направените промени формата има следния вид:

Забележка: (може да е необходим рестарт, ако не заработи входът по този порт)
7.4. Нов вход в конзолата на администратора
Влезте в конзолата на администратора с браузър по URL: https://:9071
В бъдеще използвайте този URL за вход
Забележка: за инсталация на единичен сървър обикновено е достатъчна промената, направена на предишната стъпка, но в някои случаи (ако страницата на сървера не се появи при вход по указания URL) може да се наложи изпълнението на действие, задължително за многосървърна инсталация – в примера ни на основния сървър Zimbra ще се наложи изпълнението от потребителя Zimbra на командите /opt/zimbra/libexec/zmproxyconfgen и zmproxyctl restart.
7.5. Редактиране на COS по подразбиране
В меню Настройка: Клас на обслужване изберете COS с име „default“.
В подменюто „Възможности“ отменете чекбокса за функцията „Портфейл“, след което в горния десен ъгъл на формуляра натиснете „Запазване“.
В нашия пример след настройката формата има следния вид:

Също така е препоръчително в подменюто Drive да поставите чекбокса за настройка „Активиране на общ достъп до файлове и папки“, след което в горния десен ъгъл на формуляра натиснете „Запазване“.
В нашия пример след настройката формата има следния вид:

В тестовата среда в същия клас на обслужване можете да активирате функциите Team Pro, за което в подменюто Team активирайте чекбокса с едноименното название, след което формата на настройките ще приеме следния вид:

При деактивирани функциите Team Pro на потребителите ще бъдат достъпни само функциите Team Basic.
Обращаме внимание, че Zextras Team Pro лицензира се независимо от Zextras Suite, което позволява закупуването му за по-малко на брой пощенски кутии, отколкото самия Zextras Suite; функции Team Basic са включени в лицензията на Zextras Suite. Следователно, при използване в продуктивна среда може да се наложи създаването на отделен клас обслужване за потребителите на Team Pro, в който да бъдат включени съответните функции.
7.6. Настройка на защитната стена
Необходимо за основния сървър Zimbra:
а) Разрешете достъп от интернет до портовете ssh, http/https, imap/imaps, pop3/pop3s, smtp (основен порт и допълнителни портове за употреба от пощенски клиенти) и порт за администраторския консол.
б) Разрешете всички връзки от вътрешната мрежа (за която на стъпка 1.3 в т.1 е включен NAT към интернет).
За сървъра Zextras Docs не е необходимо настройване на защитната стена, тъй като достъпът до него от интернет е ограничен.
За целта е необходимо да се извърши следната последователност от действия:
1) Влезте в текстовата конзола на основния сървър Zimbra. При влизане по SSH, изпълнете командата “screen”, за да се избегнат прекъсвания на изпълнението на команди при временно загуба на връзката със сървъра поради промяна на настройките на защитната стена.
2) Изпълнете командите
sudo ufw allow 22,25,80,110,143,443,465,587,993,995,9071/tcp
sudo ufw allow from /
sudo ufw enableВ нашия случай това изглежда по следния начин:

7.7. Проверка на достъпа до уеб клиента и администраторския консол
За контрол на работоспособността на защитната стена може да посетите следните URL адреси в браузър
Администраторска конзола: https://:9071
Уеб клиент: http:// (ще се извърши автоматичен пренасочване към https://)
В този случай по алтернативния URL https://:7071 администраторската конзола не трябва да се отваря.
Уеб клиентът в нашия пример изглежда по следния начин:

Забележка. При влизане в уеб клиента браузърът може да поиска разрешение за показване на известия от сайта. Необходимо е да се съгласите да получавате известия от този сайт.
8. Осигуряване на работа на аудио- и видео конференции в Zextras Team
8.1. Общи сведения
Изпълнението на описаните по-долу действия не е необходимо, ако всички клиенти на Zextras Team взаимодействат помежду си без използване на NAT (като взаимодействието със самия сървър Zimbra може да се извършва с NAT, т.е. важно е да няма NAT именно между клиентите), или ако се използва само текстов мессенджер.
За осигуряване на взаимодействие на клиентите при аудио и видеоконференции:
а) Трябва да се инсталира или да се използва съществуващ TURN сървър.
б) Понеже TURN сървърът обикновено има и функционалността на STUN сървър, се препоръчва да се използва и в това качество (като алтернатива може да се използват публични STUN сървъри, но само функционалността на STUN обикновено не е достатъчна).
В продуктивна среда поради потенциално високо натоварване се препоръчва TURN сървърът да бъде на отделна виртуална машина. За тестване и/или малки натоварвания TURN сървърът може да бъде комбиниран с основния сървър Zimbra.
В нашия пример разглеждаме инсталирането на TURN сървър на основния сървър Zimbra. Инсталирането на TURN на отделен сървър е аналогично с единствената разлика, че стъпките, свързани с инсталирането и конфигурирането на софтуера на TURN, се изпълняват на TURN сървъра, а стъпките за настройка на сървъра Zimbra за използване на този сървър – се изпълняват на основния сървър Zimbra.
8.2. Инсталиране на TURN сървъра
Предварително, след като влезете по SSH на основния сървър Zimbra, изпълнете командата
sudo apt install resiprocate-turn-server8.3. Настройка на TURN сървър
Забележка. Редакторът за промяна на всички по-долу посочени конфигурационни файлове трябва да се стартира с права на потребител root, например,sudo vi /etc/reTurn/reTurnServer.config” или, ако е инсталиран пакетът mc, можете да използвате командата «sudo mcedit /etc/reTurn/reTurnServer.config»
Оптимизирано създаване на потребител
За опростяване на създаването и отстраняването на проблеми с тестово свързване към TURN сървъра, ще деактивираме използването на хеширани пароли в базата с потребители на TURN сървъра. В продуктивна среда се препоръчва да се използват хеширани пароли; в този случай генерирането на хешовете на паролите трябва да се извършва в съответствие с инструкциите, съдържащи се в файловете /etc/reTurn/reTurnServer.config и /etc/reTurn/users.txt.
Последователност на действията:
1) Редактирайте файла /etc/reTurn/reTurnServer.config
Променете стойността на параметъра „UserDatabaseHashedPasswords“ от „true“ на „false“.
2) Редактирайте файла /etc/reTurn/users.txt
Въведете потребителско име, парола, realm (произволен, не се използва при настройка на връзката Zimbra) и задайте статус на акаунта „AUTHORIZED“.
В нашия пример файлът първоначално изглеждаше така:

След редакция изглежда така:

3) Прилагане на конфигурацията
Изпълнете командата
sudo systemctl restart resiprocate-turn-server8.4. Настройка на защитната стена за TURN сървъра
На този етап се установяват допълнителни правила за защитната стена, необходими за функционирането на TURN сървъра. Необходимо е да се разреши достъп до основния порт, на който сървърът приема заявки, и до динамичния диапазон от портове, използвани от сървъра за организиране на медийните потоци.
Портовете са посочени в файла /etc/reTurn/reTurnServer.config, в нашия случай това е:

и

За да зададете правила за защитната стена, е необходимо да изпълните командите
sudo ufw allow 3478,49152:65535/udp
sudo ufw allow 3478,49152:65535/tcp8.5. Настройка за използване на TURN сървъра в Zimbra
За настройката се използва FQDN на TURN сървъра, създаден на стъпка 1.2, т.1, който трябва да се разрешава от DNS-сървърите с един и същ публичен IP адрес, както за заявки от интернет, така и за заявки от вътрешни адреси.
Прегледайте текущата настройка на връзката „zxsuite team iceServer get“, изпълнена от потребителя zimbra.
Повече информация за настройката на TURN сървъра можете да намерите в раздела „Инсталиране на Zextras Team за използване на TURN сървъра“ в .
За настройката е необходимо да изпълните следните команди на Zimbra сървъра:
sudo su - zimbra
zxsuite team iceServer add stun:<FQDN на вашия TURN сървър>:3478?transport=udp
zxsuite team iceServer add turn:<FQDN на вашия TURN сървър>:3478?transport=udp credential <парола> username <потребителско име>
zxsuite team iceServer add stun:<FQDN на вашия TURN сървър>:3478?transport=tcp
zxsuite team iceServer add turn:<FQDN на вашия TURN сървър>:3478?transport=tcp credential <парола> username <потребителско име>
zxsuite team iceServer add stun:<FQDN на вашия TURN сървър>:3478
logoutКато <потребителско име> и <парола> се използват стойностите на потребителското име и паролата, зададени на стъпка 2, т.8.3.
В нашия случай това изглежда по следния начин:

9. Разрешаване на преминаване на пощата по протокола SMTP
В съответствие с , в Яндекс.Облаке винаги се блокира изходящият трафик на TCP-порт 25 към интернет и виртуалните машини Yandex Compute Cloud при достъп чрез публичен IP адрес. Това няма да попречи на проверката на получаването на имейл на обслужвания имейл домейн, изпратен от друг пощенски сървър, но ще попречи на изпращането на имейли извън сървъра Zimbra.
В документацията е посочено, че Яндекс.Облако може да отвори TCP-порт 25 по заявка до поддръжката, ако спазвате , и си запазва правото да блокира отново порта при нарушение на правилата. За откриването на порта е необходимо да се свържете с поддръжката на Яндекс.Облако.
Приложение
Създаване на SSH ключове в OpenSSH и PuTTY и конвертиране на ключове от формат PuTTY в OpenSSH
1. Създаване на ключови двойки за SSH
В Windows с използване на PuTTY: стартирайте командата puttygen.exe и натиснете бутона “Generate”
В Linux: изпълнете командата
ssh-keygen2. Конвертиране на ключовете от формат PuTTY в OpenSSH
В Windows:
Последователност на действията:
- Стартирайте програмата puttygen.exe.
- Заредете частния ключ в формат ppk, като използвате менюто File → Load private key.
- Въведете кода (passphrase), ако е необходим за този ключ.
- Публичният ключ в формат OpenSSH се показва в puttygen с надписа «Public key for pasting into OpenSSH authorized_keys file field»
- За експортиране на частния ключ в формат OpenSSH изберете в главното меню Conversions → Export OpenSSH key
- Запазете частния ключ в нов файл.
В Linux
1. Инсталирайте пакета с инструменти PuTTY:
в Ubuntu:
sudo apt-get install putty-toolsв Debian-подобни дистрибуции:
apt-get install putty-toolsв RPM-базирани дистрибуции, основаващи се на yum (CentOS и др.):
yum install putty2. За конвертиране на частния ключ изпълнете командата:
puttygen -O private-openssh -o3. За генериране на публичния ключ (ако е необходимо):
puttygen -O public-openssh -oРезултат
След инсталирането в съответствие с препоръките, потребителят получава настроен в инфраструктурата на Яндекс.Облако пощенски сървър Zimbra с разширение Zextras за корпоративни комуникации и съвместна работа с документи. Настройките са направени с определени ограничения за тестова среда, но прехвърлянето на инсталацията в продуктивен режим и добавянето на опции за използване на обектно хранилище на Яндекс.Облако не е сложно. С въпроси по разгръщането и използването на решението се обърнете към партньора Zextras — или представителите на .
За всички въпроси, свързани с Zextras Suite, можете да се свържете с представителя на компанията „Zextras“ Екатерина Триандафилиди на имейл katerina@zextras.com
Източник: habr.com
