Проект

Общее

Профиль

Быстрый старт TEGU Enterprise

Choose a language: RU | EN | ZH

Table of contents

Данная статья призвана помочь вам быстро установить почтовый сервер TEGU Enterprise в минимальной конфигурации, однако она не исключает необходимость прочтения всей документации

1. Подготовка к установке

Архитектура TEGU Enterprise

Необходимые компоненты

Получение TEGU Enterprise

2. Первичная настройка зоны DNS

Часть параметров (известных вам) необходимо настроить перед установкой сервера.
В процессе настройки вы получите дополнительные параметры (сертификат DKIM, ресурсные записи для автонастройки клиентов etc), которые необходимо будет настроить в финале.

Запись SOA (Start of Authority)

Записи NS (name server)

Запись A (address record)

Записи MX (mail exchange)

Запись TXT для DKIM

Запись TXT для DMARC

Обратная зона DNS

Пример правильно настроенной зоны DNS

Подробнее о DNS читайте в статье Настройка DNS-зоны

3. Настройка маршрутизатора

Проброс портов наружу для корректной работы сервера.

TEGU использует следующие TCP порты:

25,80,465,993,8809,9999

Пример настройки проброса портов

4. Установка и настройка Postgres

Требования:

  • Postgres не ниже версии 13.
  • Крайне не рекомендуется использование утилиты PgBouncer.
  • В силу специфики работы Postgres (PG активно забирает, но самостоятельно не возвращает ресурсы операционной системе) установка СУБД и TEGU Enterprise на одной вычислительной ноде не рекомендуется и не поддерживается.
  • Обязательно необходим пакет postgresql-contrib (как правило в таких системах как REDOS, AltLinux его приходится устанавливать дополнительно). Что делать если забыли установить

4.1. Установите СУБД Postgres

Соблюдая описанные выше требования, на отдельной ноде установите выбранный вами СУБД Postgres удобным для вас способом, способом,
рекомендованным вендором вашей ОС, вендором вашей Postgres или воспользуйтесь нашими инструкциями для установка PostgreSQL для следующих ОС:

для Debian

для AstraLinux 1.8.3

для AltLinux Server 11

для RED OS 8

4.2. Создайте пользователя tegu

Переходим в postrges

su - postgres -s /bin/bash

Создаем пользователя:


createuser -d -S -E -P tegu

4.3. Создайте базы данных

Создаем 3 базы данных.

tegu_queue - база данных очередей
tegu_mailboxes - база данных почтового хранилища
tegu_settings - база данных настроек почтового сервера
tegu_users - база данных локальных пльзоватей

createdb -E UTF-8 -O tegu tegu_queue
createdb -E UTF-8 -O tegu tegu_mailboxes
createdb -E UTF-8 -O tegu tegu_settings
createdb -E UTF-8 -O tegu tegu_users

4.4. Настройка доступа из подсетей

nano /var/lib/pgsql/data/pg_hba.conf

или так (где номер это версия postgres)

nano /etc/postgresql/15/main/pg_hba.conf

Если версия Pro то путь может быть такой

nano /var/lib/pgpro/std-14/data/pg_hba.conf

Пример файла pg_hba.conf

Раскомментируйте в конфигурационном файле postgresql.conf port 5432 и ip адрес с которого можно подключиться к базе данных.

Пример файла postgresql.conf

После правок в конфигурационных файлах, перезапустите СУБД.

Полезные команды при работе с Postgres

5. Установка сервера TEGU (консоль)

Требования:
  • Любая 64-битная ОС Linux с системным менеджером systemd (в т.ч. любая отечественная ОС).
  • Отсутствие в ОС предустановленных почтовых серверов, а также каких либо иных дополнительных компонентов.
  • Последний дистрибутив TEGU ENTERPRISE, полученный с официального репозитория https://mbk-lab.ru/download/
  • Коммерческая или тестовая лицензия TEGU ENTERPRISE (лицензионный ключ).

Перед началом установки TEGU убедитесь, что на вашей ОС правильно настроена локаль, часовой пояс, а также не установлен сервер Postfix. Как это сделать

Перед установкой обратите внимание, что все работы необходимо выполнять от имени root.

Получите дистрибутив для вашей аппаратной платформы

Выполните:
  • Для платформы 86_64:
wget https://downloads.mbk-lab.ru/stable/tegu-ent-latest-x86_64.tar.gz
  • Для платформы aarch64:
wget https://downloads.mbk-lab.ru/stable/tegu-ent-latest-aarch64.tar.gz

Распакуйте полученный архив

$ tar -xvf tegu-ent-v1.xx.yy-x86_64.tar.gz
tegu-ent-v1.xx.yy-x86_64/
tegu-ent-v1.xx.yy-x86_64/sbin/
tegu-ent-v1.xx.yy-x86_64/sbin/tegu

Создайте структуру каталогов для сервера

$ mkdir /opt/tegu
$ mkdir /opt/tegu/{bin,sbin,data,certs}

Скопируйте исполняемый файл в рабочий каталог

$ cp tegu-ent-v1.xx.yy-x86_64/sbin/* /opt/tegu/sbin/
$ cp tegu-ent-v1.xx.yy-x86_64/bin/* /opt/tegu/bin/

Назначьте пользователя и права

$ chown -R mail: /opt/tegu/{data,certs}
$ chgrp -R mail /opt/tegu/{bin,sbin}
$ chmod 750 /opt/tegu/{data,certs}
$ chmod -R 750 /opt/tegu/sbin
$ chmod -R 750 /opt/tegu/bin

Проверьте правильность создания каталогов и файлов, а также их прав

$ ls -l /opt/tegu
drwxr-x--- 2 root mail 4096 апр 11 14:32 bin
drwxr-x--- 2 mail mail 4096 апр 11 14:32 certs
drwxr-x--- 2 mail mail 4096 апр 11 14:32 data
drwxr-x--- 2 root mail 4096 апр 11 14:33 sbin

Для запуска и управления сервером создайте файл /etc/systemd/system/tegu.service со следующим содержание

[Unit]
Description=Tegu. MBK-Lab Mail Server

[Service]
ExecStart=/opt/tegu/sbin/tegu
User=mail
Group=mail
UMask=0007
RestartSec=10
Restart=always

[Install]
WantedBy=multi-user.target

Разрешите запуск сервера от имени непривелегированного пользователя

$ setcap CAP_NET_BIND_SERVICE=+eip /opt/tegu/sbin/tegu

Создайте конфигурационный файл в /etc/tegu.conf со следующим содержанием

[global]
dataDir = /opt/tegu/data

[Log]
debug = true
crushReportsCount = 10

[WEB]
adminPassword = admin
httpPort = 8888
httpsPort = 9999
ctlPort = 8899

Установите права на файл /etc/tegu.conf

$ chown root.mail /etc/tegu.conf
$ chmod 640 /etc/tegu.conf

Стартуйте сервер

$ systemctl start tegu.service

Полезные команды при работе с Tegu

Если все предыдущие шаги выполнены правильно, то вам становится доступной веб-панель администрирования сервером, в которой производятся все остальные настройки.
На этом установка сервера завершена.

6. Настройка сервера TEGU (GUI интерфейс)

6.1. Подключение базы данных конфигурации

Управление сервером TEGU осуществляется с помощью веб-интерфейса, доступного на порту 8888.
Откройте браузером сслыку: http://<адрес вашего сервера>:8888

Сервер TEGU хранит свои настройки не в конфигурационных файлах, а в СУБД. Следовательно, сначала необходимо указать базу данных для хранения конфигурации. В первоначально установленном сервере этот диалог открывается автоматически.

В диалоге /Настройки/База параметров/Настройки заполните вашими данными следующие поля:

  • Тип БД параметров: PostgreSQL
  • Адрес сервера: <адрес сервера СУБД>
  • Порт сервера: 5432
  • Имя базы данных: tegu_settings
  • Имя пользователя: tegu
  • Пароль: <пароль пользователя tegu на СУБД>
  • Максимальное количество одновременных подключений: 220

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

В диалоге /Настройки/Лицензия загрузите лицензионный ключ. Как получить тестовую лицензию

6.2. Базовые настройки

Базовые настройки задаются в диалоге /Настройки/Основные

Смысл указанных опций интуитивно понятен. Более подробно читайте в статье Администрирование сервера
Часто встречающаяся ошибка на данном этапе - использование в поле "Имя сервера" имени ноды на которой установлен сервер. Необходимо указывать имя, используемое в DNS. К примеру: mail.tegu.online

6.3. Подключение базы данных хранилища

TEGU хранит данные в СУБД. С этой целью для каждого интернет-домена необходимо указать параметры соответствующей базы данных СУБД.

Для создания хранилища в диалоге /Настройки/Домены выберите "Добавить домен".
Выберите:
  • Новый домен: <имя интернет-домена>
  • Тип хранилища: PostgreSQL
    Нажмите "Добавить домен".

Продолжите заполнение полей:

  • Адрес сервера: <адрес сервера СУБД>
  • Порт сервера: 5432
  • Имя базы данных: tegu_mailboxes
  • Имя пользователя: tegu
  • Пароль: <пароль пользователя tegu на СУБД>
  • Максимальное количество одновременных подключений: 40
  • Паттерн распределения ящиков: *

Используйте кнопку "Проверить соединение".
Сохраните правильные настройки.

6.4. Подключение базы данных очереди сообщений

TEGU хранит временную информацию (очереди, кеши etc) в СУБД. Следовательно, необходимо настроить базу данных очередей. Более того, без настройки очередей 25-й порт сервера не будет активным.

Подключите базу данных очередей в диалоге /Настройки/Очередь SMTP/Настройки

Заполните следующие поля:

  • Тип очереди: PostgreSQL
  • Адрес сервера: <адрес сервера СУБД>
  • Порт сервера: 5432
  • Имя базы данных: tegu_queue
  • Имя пользователя: tegu
  • Пароль: <пароль пользователя tegu на СУБД>
  • Максимальное количество одновременных подключений: 5
  • Количество обрабатываемых писем за проход: 20

Используйте кнопку "Проверить соединение".
Сохраните правильные настройки.

6.5. Подключение сервера каталогов

Для выполнения аутентификации TEGU должен быть интегрирован с сервером каталогов. TEGU поддерживает любой из LDAP-каталогов не ниже версии 3.

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

6.6. Настройка провайдера БД пользователей

В диалоге /Настройка/<ваш домен>/Провайдеры БД пользователей выберите "Добавить провайдера".
Заполните предложенные поля:

  • Поле Provider Name - любой текст, означающий имя подключения;
  • Local Domain Name - имя домена (а не сервера т.е. то, что в email-адресе следует после @);
  • LDAP server connection URI - найденный и проверенный выше пусть к серверу;
  • BindDN - логин;
  • Password - пароль;
  • BaseDN - найденный выше фильтр поиска.;
  • Atr for mailbox e-mail - название поля, которое в LDAP заполнено email-адресом пользователя (важно! с доменным суффиксом);
  • Atr for mailbox quota - название поля, которое в LDAP используется для определения квоты.

Сейчас поле BindDN прописано в формате UPN - так как мы используем OpenLDAP.
Такой вариант работает и с Microsoft AD, но если вы в качестве сервера каталогов используете FreeIPA или ALD Pro, то BindDN должен быть полным DN (uid=user,ou=org_unit,dc=domain,dc=com)

Примеры подключений:

6.7. Установка и генерация сертификатов

  • Для работы сервера вам понадобятся сертификаты на имя почтового сертификата (а не домена!).
  • Ваш сертификат может быть получен любым валидным способом. Самоподписанные сертификаты не поддерживаются.
  • В документации приводится методика получения для хрестоматийного источника Let’s Encrypt. Подробнее о Let’s Encrypt

Установить сертификат Let’s Encrypt

Установка в Debian и Alt Server

Установка в RED OS

Установка в AstraLinux 1.8.3 SE

Настройка автообновления сертификатов

Важно помнить что для успешной автоматической генерации сертификатов, порты 80 и 443 должны быть проброшены наружу.

После настройки сертификатов проверьте порты, которые слушает почтовый сервер утилитой net-tool. Как установить net-tool

Порты, которые слушает сервер TEGU:

root@tegu:~# netstat -tulpn | grep tegu
tcp        0      0 127.0.0.1:8899          0.0.0.0:*               LISTEN      81/tegu             
tcp6       0      0 :::8888                 :::*                    LISTEN      81/tegu             
tcp6       0      0 :::9999                 :::*                    LISTEN      81/tegu             
tcp6       0      0 :::25                   :::*                    LISTEN      81/tegu             
tcp6       0      0 :::143                  :::*                    LISTEN      81/tegu             
tcp6       0      0 :::465                  :::*                    LISTEN      81/tegu             
tcp6       0      0 :::993                  :::*                    LISTEN      81/tegu

6.8. Генерация DKIM

В диалоге /Настройка/<ваш домен>/DKIM нажмите кнопку "Добавить ключ DKIM".

В результате сервер самостоятельно сгенерирует ключ DKIM, приватную часть часть он сохранит у себя, а публичную часть вернет в виде, в котором вы должны разместить ее в DNS-зоне.

Пример: mail._domainkey.tegu.online. IN TXT "v=DKIM1; h=sha256; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC4Lbl9UVcH/vu0LVp66sWUn8BMwB7Ec5D3uVgopu/1R2yEAWdJURQa1xfScgkfBJX/+N7i/hLOaT1tgeF52tI029R0T4hx4Uswwqgi9/5ZuIcLyTaGAVXtsGooc8n/Z5pYjaXNXjmnsyaJjuLp6IEtM49d95c3jFjJcp1vgluJIwIDAQAB"

Вы можете удалить ключ и сгенерировать новый. При этом каждый раз необходимо соответственно обновлять DNS-зону.

7. Финальная настройка зоны DNS

В диалоге /Дашборд вы найдете "Рекомендации для зоны DNS" для каждого из интернет-доменов.

Рекомендация содержит все необходимые записи, включая DMAC, DKIM, ресурсные записи (необходимые для автонастройки почтовых программ).
Перенесите их на ваш сервер DNS в требуемом формате.

tegu17.png

8. Управление почтовыми ящиками

8.1. Создание почтового ящика

  • В TEGU почтовые ящики создаются автоматически в момент первой авторизации. Подробнее...
  • Для создания почтового ящика в учетной доменной записи необходимо и достаточно указать:
    • Логин (в формате email. Пример: )
    • Пароль
    • Поле Email (должно содержать email-адрес пользователя. )
    • Остальные поля являются необязательными, но рекомендованными. (К примеру квота etc)

8.2. Удаление почтового ящика

Для удаления ящика используйте диалог "Хранилища почты/Панель управления <соответствующего домена>/Почтовые ящики". Подробнее...