Перейти к содержанию

Установка тестовой версии VK WorkMail 1.21 на одну машину

Назначение документа

В документе содержится информация о тестовой установке VK WorkMail 1.21 на одну виртуальную машину. Под тестовой установкой подразумевается быстрая установка с базовыми настойками для демонстрации возможностей почтовой системы.

Технические требования

Рекомендованные операционные системы для установки VK WorkMail:

  • Astra Linux SE Орел — версии 1.7.3 и выше;
  • РЕД ОС — версии от 7.3 и выше;

Примечание

Список поддерживаемых ОС может быть уточнен в рамках работ по индивидуальному проекту.

Тестовая версия корпоративной почты устанавливается на один сервер со следующей конфигурацией:

  • 24 vCPU;
  • 96 GB RAM;
  • 400 GB SSD.

Версия ядра — от 5.15 и выше.

Предварительные условия для установки

Представители VK предоставили вам следующие данные:

  • ссылку на скачивание дистрибутива VK WorkMail 1.21,
  • пароль от архива с дистрибутивом,
  • лицензионный ключ,
  • комплект документации.

Также вам потребуется:

  • набор DNS-записей: A, CNAME, MX, TXT, NS;
  • доступ к серверу по SSH с правами администратора;
  • локальная сеть 1 GbE или 10 GbE;
  • отключить swap;
  • сертификаты SSL для каждого CNAME или Wildcard-сертификат для домена (информацию о выпуске SSL-сертификатов вы найдете в приложении);
  • доступ к портам: 25, 80, 143, 443, 465, 993, 1025;
  • tar;
  • утилита для распаковки zip-архивов, например 7zip или unzip.

Используемые протоколы почты:

  • CalDav для синхронизации календаря;
  • Kerberos или NTLM — протокол взаимодействия с Active Directory клиента;
  • HTTPS для доступа к веб-интерфейсу почты с использованием TLS;
  • SMTP — протокол отправки почтовых сообщений (порт 25/465);
  • IMAP — протокол получения почтовых сообщений (порт 143/993).

Обязательные предварительные действия

Создание DNS-записей

Для работы почты необходима MX-запись (рекомендуемый приоритет — 10), которая обязательно ведет на mxs.<домен для почты>.

Помимо этого вам нужно создать два основных домена: для почты и для хранилищ, а также набор A- или CNAME-записей.

Для примера в документе будут использоваться следующие DNS-записи:

  • Домен для сервисов почтыvbastra0mail.onprem.ru. При создании почтового домена рекомендуется соблюдение структуры: ***mail.***.*** или ***mail.***.
  • Домен для облачных хранилищvbastra0st.onprem.ru. Пример структуры: ***st.***.*** или ***cloud.***.

Домен для облачных хранилищ должен быть того же уровня, что и домен для сервисов почты, и иметь свое уникальное имя.

Важно

Изменять структуру основных доменов запрещено!
Несоблюдение структуры и уровня доменов может привести к утечке данных через проброс cookies. Также вы столкнетесь с ошибками на этапе настройки доменных имен.

Далее в таблице представлен список A- или CNAME-записей, которые нужно создать перед установкой VK WorkMail. Домены из таблицы должны являться поддоменами для двух основных.

Назначение домена Имя домена Основной домен
Веб-интерфейс авторизации account Для почты
Скачивание вложений VK WorkMail af Для почты
Скачивание исполняемых вложений VK WorkMail af Для хранилищ
Проксирование активного контента вложений VK WorkMail ampproxy Для хранилищ
Просмотр вложений VK WorkMail apf Для почты
Просмотр исполняемых вложений VK WorkMail apf Для хранилищ
Доменная авторизация (внутренних запросов браузера) auth Для почты
Домен для панели расширенного просмотра действий пользователей becca Для почты
Интерфейс администрирования biz Для почты
Blobcloud-аттачи blobcloud.e Для почты
Домен для BMW gRPC запросов bmw Для почты
Капча c Для почты
Календарь calendar Для почты
Домен интерфейса календаря для VK Teams calendarmsg Для почты
Мобильный календарь calendartouch Для почты
Статические данные календаря calendarx Для почты
VK WorkDisk cloud Для почты
Загрузка файлов в VK WorkDisk cld-uploader.cloud Для почты
Скачивание файлов в веб-интерфейсе VK WorkDisk cloclo.cloud Для почты
Защита от XSS-атак при скачивании файлов из VK WorkDisk cloclo Для хранилищ
Загрузка файлов в VK WorkDisk cloclo-upload.cloud Для почты
Интеграция с API VK WorkDisk openapi.cloud Для почты
Загрузка файлов в публичные папки в VK WorkDisk pu.cloud Для почты
Портальная авторизация VK WorkDisk sdc.cloud Для почты
Скачивание больших почтовых вложений из VK WorkDisk cloclo-stock Для хранилищ
Загрузка больших почтовых вложений в VK WorkDisk uploader.e Для почты
Превью файлов в VK WorkDisk thumb.cloud Для почты
Распаковка архивов в интерфейсе VK WorkDisk cld-unzipper Для хранилищ
Интеграция с API VK WorkMail corsapi Для хранилищ
Веб-интерфейс VK WorkMail e Для почты
Сервис аватарок filin Для почты
IMAP VK WorkMail imap Для почты
Неисполняемые статические данные img Для почты
Исполняемые статические данные imgs Для почты
MX VK WorkMail mxs Для почты
OAUTH2-авторизация o2 Для почты
Общепортальные сервисы авторизации portal Для почты
Проксирование внешних вложений VK WorkMail proxy Для хранилищ
Домен для текстового редактора R7-office docs Для хранилищ
Облако, реализующее S3 API hb Для хранилищ
SMTP VK WorkMail smtp Для почты
Сервер авторизации (межсерверные запросы) swa Для почты
Облако временных вложений VK WorkMail tmpatt Для хранилищ
Webdav webdav.cloud Для почты

Итоговый пример домена: af (субдомен из таблицы) + vbastra0mail.onprem.ru (основной домен из примера, который вы замените своим) = af.vbastra0mail.onprem.ru.

Важно

Изменять доменные имена из таблицы запрещено!
Установщик VK WorkMail использует их при развертывании системы. Если при установке не будет найден соответствующий домен, может произойти сбой.

Дисковое пространство

100% дискового пространства необходимо смонтировать в корневой раздел файловой системы. Также нужно выключить файл подкачки (SWAP).

Этапы установки

Весь процесс установки можно разделить на два этапа:

  1. В командной строке на сервере выполняются действия для запуска установщика.
  2. Последующая установка производится в специальном веб-интерфейсе.

Действия в командной строке на сервере

1. Создание пользователя deployer

В командной строке выполните последовательность команд:

sudo -i

# Задаем пароль и создаем пользователя deployer
DEPLOYER_PASSWORD=mURvnxJ9Jr
useradd -G astra-admin -U -m -s /bin/bash deployer
echo deployer:"$DEPLOYER_PASSWORD" | chpasswd

# Игнорируем ошибку "НЕУДАЧНЫЙ ПАРОЛЬ: error loading dictionary"
# в случае, если она появилась

# Перелогиниваемся под пользователя deployer
sudo -i -u deployer 

ssh-keygen -t rsa -N "" 
# Нажимаем Enter (согласиться с вариантом по умолчанию)

# Копируем ssh-ключ
cat /home/deployer/.ssh/id_rsa.pub >> /home/deployer/.ssh/authorized_keys
chmod 600 /home/deployer/.ssh/authorized_keys

# Опционально: проверяем, что сами к себе можем зайти без пароля
ssh deployer@localhost
exit
sudo -i

# Задаем пароль и создаем пользователя deployer
DEPLOYER_PASSWORD=mURvnxJ9Jr
useradd -G wheel -U -m -s /bin/bash deployer
echo deployer:"$DEPLOYER_PASSWORD" | chpasswd

# Перелогиниваемся под пользователя deployer
sudo -i -u deployer 

ssh-keygen -t rsa -N "" 
# Нажимаем Enter (согласиться с вариантом по умолчанию)

# Копируем ssh-ключ в нужную директорию
cat /home/deployer/.ssh/id_rsa.pub >> /home/deployer/.ssh/authorized_keys
chmod 600 /home/deployer/.ssh/authorized_keys

# Опционально: проверяем, что сами к себе можем зайти без пароля
ssh deployer@localhost
exit

Важно

Вся дальнейшая установка будет производиться под созданным пользователем deployer. Если вы планируете устанавливать под другим пользователем, это необходимо учитывать при дальнейшей установке. Также пользователь должен иметь права администратора.

Затем в файле /etc/sudoers раскомментируйте строку, следующую после
## Same thing without a password:

# %astra-admin       ALL=(ALL)       NOPASSWD: ALL
# %wheel        ALL=(ALL)       NOPASSWD: ALL

Для этого нужно выполнить команду sudo visudo и убрать # в начале приведенной выше строки, после чего выйти из Vim c сохранением файла.

То же самое можно сделать с помощью редактора nano:

sudo EDITOR=nano visudo
# Находим нужную строку, удаляем # в ее начале
# Выходим из nano c сохранением изменений

2. Распаковка дистрибутива

Распакуйте дистрибутив под пользователя deployer (в директорию /home/deployer).

Информация

Помимо этого, вы можете распаковать архив с дистрибутивом и в другую папку или создать подпапку.

Нет принципиальной разницы, каким архиватором пользоваться. Ниже приведен пример для unzip:

# В случае если на машину не установлен unzip, скачиваем его:
sudo apt-get install unzip
export UNZIP_DISABLE_ZIPBOMB_DETECTION=true
unzip -o -P пароль имя_архива
# В случае если на машину не установлен unzip, скачиваем его:
sudo yum install unzip
export UNZIP_DISABLE_ZIPBOMB_DETECTION=true
unzip -o -P пароль имя_архива

Важно

После распаковки не удаляйте никакие файлы. По завершении установки допускается только удаление архива, из которого был распакован дистрибутив.

3. Запуск установщика как сервиса

Установщик onpremise-deployer_linux рекомендуется запускать как сервис. При таком запуске не придется прибегать к дополнительным мерам (screen, tmux, nohup и т.п.), позволяющим установщику продолжить работу в случае потери соединения по SSH.

Чтобы запустить установщик как сервис, выполните команду (подходит для Astra Linux, РЕД ОС):

sudo ./onpremise-deployer_linux -concurInstallLimit 5  \
  -serviceEnable -serviceMake -serviceUser deployer

По умолчанию выставлен лимит в 5 потоков, при необходимости вы можете увеличить количество потоков до 10, однако это увеличит и нагрузку на систему. Использование более чем 10 потоков не рекомендуется.

Ответ в случае успешного запуска установщика выглядит следующим образом:

deployer.service was added/updates
see status: <systemctl status deployer.service>
can`t restart rsyslog services: [exit status 5]
OUT: Failed to restart rsyslog.service: Unit rsyslog.service not found.
deployer.service was enable and started
see status: <systemctl status deployer.service>
The authenticity of host 'localhost (::1)' can't be established.
ED25519 key fingerprint is SHA256:g8siO32KUsRU9oC/MHro9WaTNKj4R+DkmVnVa7QsYCo.
This key is not known by any other names
# Введите "yes" и нажмите Enter, чтобы подтвердить подключение
Are you sure you want to continue connecting (yes/no/[fingerprint])?

Примечание

Невозможность включения службы rsyslog не повлияет на корректность работы сервиса.

Действия в веб-интерфейсе установщика

Для перехода в веб-интерфейс в адресной строке браузера необходимо указать адрес: http://server-ip-address:8888. Если перейти по этому адресу не удается, убедитесь, что firewall был отключен.

1. Выбор варианта установки

На стартовой странице нажмите на кнопку Установка.

выбор версии

2. Выбор продуктов

Включите флаг VK WorkMail. В открывшемся списке отметьте VK WorkDisk и перейдите к следующему шагу, нажав на кнопку Далее внизу страницы.

3. Добавление лицензионного ключа

Введите лицензионный ключ или укажите путь к файлу лицензии .lic, затем нажмите на кнопку Далее.

лицензия

4. Добавление гипервизора

Нажмите на кнопку Добавить, в выпадающем меню выберите Сервер.

добавление сервера

Откроется окно добавления гипервизора:

окно добавления гипервизора

Заполните поля:

  • Роль — hypervisor.
  • IP — адрес машины, на которую производится установка.
  • Имя гипервизора — укажите имя гипервизора или оставьте поле пустым. В случае если вы оставите поле незаполненным, имя гипервизора будет взято из 'hostname -s' и добавится автоматически.
  • Имя пользователя — укажите имя того пользователя, под которым запущен установщик. В рассматриваемом примере это пользователь deployer.
  • Пароль — необходимо ввести пароль пользователя, под которым запущен установщик.
  • Добавьте ssh-ключ:
    • В поле Приватный ключ выберите Добавить новый ключ. добавить новый ключ
    • В поле Имя ключа укажите любое удобное имя в соответствии с их назначением deployerRSA.
    • Перейдите в консоль, выполните в ней команду cat ~/.ssh/id_rsa и скопируйте ключ.
    • Затем вставьте его в поле Приватный ключ. Его нужно указать полностью, включая: -----BEGIN RSA PRIVATE KEY----- и -----END RSA PRIVATE KEY-----
    • Поле Пароль ключа оставьте пустым.
    • Кликните по кнопке Сохранить.
  • Пропустить проверку некритичных требований — при выборе чекбоска будет пропущена проверка версии ядра и флагов процессора (sse2, avx). В большинстве случаев заполнение чекбокса не требуется.

После этого нажмите на кнопку Добавить — гипервизор отобразится в веб-интерфейсе установщика.

Нажмите на зеленую кнопку Далее в правом верхнем углу для перехода к следующему шагу.

добавленный гипервизор

5. Сетевые настройки

Установщик автоматически вычисляет некоторые сетевые параметры. Эти параметры необходимо проверить и дополнить, если не все из них были определены.

настройки сети

Укажите NTP-сервер и DNS-сервер.

Важно

Обязательно настройте NTP в соответствии с рекомендациями: для RedOS, для Astra Linux. Не следует указывать белый NTP-сервер.

Убедитесь, что:

  • Подсеть, используемая почтой на серверах, имеет доступ на 80-й или 443-й порт.
  • Подсеть, используемая внутри контейнеров, полностью свободна, уникальна и принадлежит только VK WorkMail.

Примечание

Эта подсеть используется только для трафика между контейнерами внутри системы. Если автоматически вычисленная подсеть уникальна и не пересекается с другими подсетями заказчика, значения менять не нужно. По умолчанию используется 20-я подсеть.

После проверки всех настроек нажмите на кнопку Сохранить и перейдите к следующему шагу.

сохраняем настройки сети

6. Доменные имена

На вкладке Доменные имена необходимо заполнить все поля:

  • Название вашей компании,
  • Сайт вашей компании,
  • Основной домен для сервисов,
  • Домен для облачных хранилищ.

Важно

Основной домен для сервисов и домен для облачных хранилищ должны быть разными.

Когда все поля будут заполнены, нажмите на кнопку Сохранить для перехода к следующему шагу.

доменные имена

Примечание

После сохранения доменных имен появятся ошибки. Они пропадут после добавления SSL-сертификатов на следующем шаге.

6.1 Добавление SSL-сертификатов

Нажмите на кнопку Добавить сертификат под заголовком SSL-сертификаты.

добавление сертификата

В открывшейся форме введите сертификат и ключ. Их необходимо указать полностью, включая:
-----BEGIN CERTIFICATE----- и -----END CERTIFICATE-----
и
-----BEGIN PRIVATE KEY----- и -----END PRIVATE KEY-----.

Также существует второй вариант добавления: нажмите на кнопку Выбрать файл и укажите путь к файлу с сертификатом .crt и к файлу с ключом .key.

Примечание

Приватный ключ должен быть добавлен в открытом виде, без секретной фразы. Закодированный ключ отличается от открытого наличием слова ENCRYPTED: BEGIN ENCRYPTED PRIVATE KEY.

Кликните по кнопке Сохранить.

сохранение сертификата

Если всё верно, в интерфейсе не будет отображаться ошибок и красной подсветки. Нажмите на зеленую кнопку Далее.

сертификат результат

7. Запуск установки гипервизора

Для начала установки перейдите к общей строке состояния — для этого нажмите на логотип AdminPanel.

Кликните по кнопке Play (треугольник) рядом с общей строкой состояния в верхней части экрана.

запуск установки гипервизора

Подтвердите запуск автоматической установки, нажав на кнопку Запустить.

подтверждение установки гипервизора

Дождитесь завершения установки гипервизора. Пока процесс идет, рядом со строкой состояния будет отображаться красная кнопка Stop.

stop

Примечание

В процессе установки и настройки системы происходят изменения конфигурации. Виртуальная машина может перезагрузиться, и потребуется повторный запуск автоматической установки. Для повторного запуска нажмите на зеленую кнопку Play либо в верхней общей строке состояния, либо рядом с названием гипервизора.

8. Генерация контейнеров

Нажмите на кнопку Сгенерировать автоматически, чтобы добавить по одному контейнеру для каждой роли.

сгенерировать автоматически

На экране начнут появляться сгенерированные контейнеры.

Важно

В случае появления ошибок используйте раздел Логи и полезные команды.

Через некоторое время изменится статус в строке состояния, в правом верхнем углу появится кнопка Далее, напротив гипервизора hypervisor1 появится кнопка Play.

кнопки появились

Кликните по кнопке Play напротив гипервизора hypervisor1.

Подтвердите автоматический запуск задач на гипервизоре, нажав на кнопку Запустить.

автозапуск задач на гипервизоре

На генерацию требуется время. Подождите, пока исчезнет зеленая кнопка Play напротив гипервизора hypervisor1, и нажмите на кнопку Далее для перехода к следующему шагу.

Информация

Развернутую информацию о назначении ролей, их дублируемости, зависимостях и т.п. вы можете найти, кликнув по значку иконка и перейдя в раздел Описание сервисов. В этом же выпадающем меню вы найдете дополнительную документацию, сможете включить или выключить продукты (внутри раздела Продукты) и обновить лицензионный ключ.

9. Хранилища, Шардирование и репликация БД

Для тестовой установки достаточно автоматического распределения по дисковым парам, поэтому дополнительная настройка не требуется, нажмите на кнопку Далее.

хранилища

На вкладке Шардирование и репликация БД нажмите на кнопку Далее.

шардирование БД

Примечание

Несколько кластеров БД (PostgreSQL, Tarantool, MySQL и т.п.) нужны на больших инсталяциях, в тестовой установке не применяются.

10. Запуск установки всех машин

Кликните по кнопке Play рядом c общей строкой состояния в верхней части экрана.

запуск всего

Подтвердите запуск автоматической установки, нажав на кнопку Запустить.

подтверждение автозапуска

В зависимости от этапа генерации будет меняться цвет индикатора:

  • Серый — в ожидании начала генерации;
  • Синий — в процессе генерации;
  • Желтый — шаг необходимо повторить (установщик делает это самостоятельно);
  • Красный — ошибка.

Ожидайте завершения установки. Пока процесс идет, рядом со строкой состояния будет отображаться красная кнопка Stop.

Примечание

Если в процессе установки и настройки системы происходят изменения конфигурации, некоторые задачи могут потребовать повторного выполнения. Для повторного запуска необходимо нажать на кнопку Play в общей строке состояния в верхней части экрана или рядом с названием конкретного контейнера.

11. Завершение установки, инициализация домена и вход в панель администратора

Когда установка будет завершена, соответствующий статус отобразится в строке состояния. Для перехода к следующему шагу нажмите на кнопку Далее.

installation complete

Введите имя почтового домена и нажмите на кнопку Добавить.

add domain

Откроется новая вкладка, на которой необходимо авторизоватьcя:

  • Имя пользователя — admin@admin.qdit.
  • Пароль находится в файле — bizOwner.pass, для его просмотра введите в консоли команду: cat <путь до директории с установщиком>/bizOwner.pass.

first login

Если логин и пароль были введены правильно, вы попадете в панель администратора. Для проверки MX-записи нажмите на кнопку Проверить сейчас.

проверка МХ

При успешно пройденной проверке появится уведомление о том, что MX-запись настроена верно.

проверка MX

После проверки MX-записи установку можно считать оконченной.

Важно

По завершении установки допускается только удаление архива, из которого был распакован дистрибутив в начале установки. Все остальные файлы должны оставаться в папке с файлом onpremise-deployer_linux.

Не удаляйте пользователя deployer — эта учетная запись потребуется для обновления и дальнейшей эксплуатации сервиса почты.

Дополнительная документация

Инструкция по установке обновлений VK WorkMail — в документе содержится информация по обновлению VK WorkMail.

Приложение 1. Что делать, если при входе в панель администратора появляется ошибка «Неверный пароль»

Перепроверьте, что пароль скопирован верно. Чтобы просмотреть пароль, введите в консоли команду: cat <путь до директории с установщиком>/bizOwner.pass. Если пароль был правильным, а ошибка всё равно появилась, также необходимо сгенерировать новый пароль.

В веб-интерфейсе деплоера перейдите к списку контейнеров, кликнув по логотипу Admin Panel

куда кликать

Найдите в списке контейнеров fmail1 и нажмите на значок шестеренки справа от названия контейнера.

fmail

Запустите выполнение шага get_biz_owner.

bizOwner

Дождитесь окончания выполнения шага, затем скопируйте новый пароль.

Приложение 2. Обновление лицензионного ключа

Если вам нужно обновить лицензионный ключ, нажмите на значок иконка и в выпадающем меню выберите Обновить лицензионный ключ.

обновление лицензии

В открывшемся окне вы сможете просмотреть информацию о текущих лицензиях, а также обновить лицензионный ключ.

обновление лицензии

Если вы вносили какие-либо изменения, кликните по кнопке Сохранить.

Приложение 3. Логи и полезные команды

Все команды, перечисленные ниже, следует выполнять в консоли.

  1. Перезапуск установщика:

    sudo systemctl restart deployer
    
  2. Логи установщика:

    sudo journalctl -fu deployer
    
  3. Список запущенных контейнеров:

    docker ps
    
  4. Логи какого-то конкретного контейнера:

    sudo journalctl -eu имя_контейнера
    
  5. Статус контейнера:

    systemctl status имя_контейнера
    
  6. Посмотреть список «сломанных» контейнеров:

    docker ps -a|grep Exit
    
  7. Посмотреть список всех не запустившихся контейнеров:

    sudo systemctl | grep onpremise | grep -v running
    

Приложение 4. Выпуск SSL-сертификатов с Let's Encrypt

Примечание

На машине должен быть установлен snapd. Команды ниже представлены для CentOS.

Последовательность действий в консоли:

  1. Проверьте, что установлена последняя версия snapd.

    sudo snap install core
    sudo snap refresh core
    
  2. Удалите пакеты Certbot, установленные через менеджер пакетов ОС, если такие есть.

    sudo yum remove certbot
    
  3. Установите Certbot через snapd.

    sudo snap install --classic certbot
    
  4. Подготовьте команду Certbot к запуску.

    sudo ln -s /snap/bin/certbot /usr/bin/certbot
    
  5. Cгенерируйте сертификаты. В примере ниже используются тестовые домены:

    • testpismail.onprem.ru
    • testpisst.onprem.ru
    • e.testpismail.onprem.ru
    • cloud.testpismail.onprem.ru
    certbot certonly --manual --preferred-challenges dns \
      -d *.testpismail.onprem.ru -d *.testpisst.onprem.ru \
      -d *.e.testpismail.onprem.ru -d *.cloud.testpismail.onprem.ru
    
  6. В процессе выпуска сертификата нужно будет завести в DNS четыре TXT-записи. Сertbot напишет, какие именно.

    После появления информации о первой записи нажмите Enter для отображения следующей. После того как все четыре записи будут добавлены, Certbot сгенерирует сертификаты.

    Пример ответа Certbot:

    Please deploy a DNS TXT record under the name:
    _acme-challenge.cloud.mail-training1.on-premise.ru.
    with the following value:
    8bFwSSolYouA-B1tit2MmpjXYZJZ06YODA1djDMIHe
    
  7. После того как сертификаты будут сгенерированы, в консоли отобразятся пути к ним.

    Successfully received certificate.
    Certificate is saved at:
    /etc/letsencrypt/live/mail-training1.on-premise.ru/fullchain.pem
    Key is saved at:
    /etc/letsencrypt/live/mail-training1.on-premise.ru/privkey.pem
    This certificate expires on 2023-01-08.
    These files will be updated when the certificate renews.
    




Дата обновления документа: 17.05.2024