Проект

Общее

Профиль

Начальная настройка сервера

Choose a language: RU | EN | ZH

Table of contents

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

С помощью браузера зайдите на порт 8888 сервера (например, http://127.0.0.1:8888) и авторизуйтесь под администратором (логин admin) с паролем, указанным в конфиге в параметре adminPassword.

Для работы с https используйте порт 9999 (например, https://127.0.0.1:9999).

При первом запуске административного интерфейса вам будет предложено выбрать место хранения конфигурации:

Обратите внимание, что:
  • Почтовый сервер TEGU Enterprise умеет хранить пользователей локально, а также интегрироваться с LDAP-сервером каталогов. Однако, в ближайших версиях поддержка локальных пользователей будет исключена из дистрибутива (пока оставлена для поддержки прежних версий, но больше не документируется). Пожалуйста не используйте базы пользователей JSON.
  • Почтовый сервер TEGU Enterprise поддерживает хранилище типа Maildir и СУБД. Однако, в ближайших версиях поддержка файлового хранилища Maildir будет исключена (сохранена для совместимости с прежними инсталляциями и не документируется).

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

Создание почтового хранилища СУБД

С Tegu совместима любая версия от отечественного вендора PosgresPro , либо свободная версия от PostgeSQL . (версия - не ниже 13)

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

createuser -d -S -E -P postgres

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

  • tegu_queue - база данных очередей;
  • tegu_mailboxes - база данных почтового хранилища;
  • tegu_settings - база данных настроек почтового сервера.
createdb -E UTF-8 -O postgres tegu_queue
createdb -E UTF-8 -O postgres tegu_mailboxes
createdb -E UTF-8 -O postgres tegu_settings

Прописываем доступы с подсетей

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

Смотрим какие базы данных у нас есть

psql -U postgres -c "\l+" 

Удалить базы данных

psql    
DROP DATABASE tegu_mailboxes;

Для создания хранилища, в начале необходимо создать домен и выбирать хранение в базе данных Postgress

Очевидно, что целесообразно разместить почтовый сервер Tegu и СУБД на различных вычислительных нодах (виртуальных или физических).
Установка сервера БД производится согласно официальной документации Postgre . По окончании установки вам необходимо создать пользователя с правами создания баз, которым будет пользоваться сервер Tegu, а также
  • необходимо создать две базы:
    • для хранения почты;
    • для хранения конфигурации.
  • и, если необходимо:
    • для очереди сообщений SMTP.

Для всех БД пользователь этих БД должен иметь в них право CREATE.

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

Оптимизация БД, а также сборка отказоустойчивого решения БД, выходит за рамки установки почтового сервера и рассматривается в каждом конкретном случае по запросу. Интерес также представляет создание отказоустойчивой конфигурации базы данных, "рассмотренной в данной статье Построение отказоустойчивого кластера СУБД Postgres.

Создание/подключение баз данных пользователей

Каждый интернет-домен может обслуживать пользователей из различных баз данных. Базы данных могут быть LDAP3 (куда входит в т.ч. и Windows Active Directory).
Можно предположить, что найдутся более одной базы, которые будут содержать данные одного и того же пользователя. Эту коллизию, необходимо разрешить организационными мероприятиями, но сервер разрешит ее следующим образом: обслужен будет пользователь, описанный в конфигурации первым, все остальные будут проигнорированы.

Для создания базы пользователей в корневом меню выберем пункт Домены -> ваш домен -> Провайдеры БД пользователей.
Добавим базу данных кнопкой Добавить провайдер БД пользователей.

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

Обратите внимание! Почтовый сервер Tegu не синхронизирует данные ваших серверов каталогов. Это сделано специально для того, чтобы ни в каком случае не иметь возможности скомпрометировать учетные данные ваших пользователей. В момент, когда необходимо выполнить аутентификацию, сервер выполняет запрос к серверу каталогов в отношение одного пользователя, а выполнив аутентификацию очищает эти данные в памяти. По этой причине, осуществив подключение Tegu к LDAP-серверу, не ждите от него активности, ее не будет. Сервер обратится к LDAP только в момент аутентификации.

Прописываем настройки подключения к LDAP

Пример подключения к Active Directory.

Этого вполне достаточно, чтоб начали создаваться пользователи и начала ходить почта.

Пример подключения к OpenLdap.

Загрузка лицензии

Для работы коммерческой редакции сервера вам потребуется загрузить файл лицензии. Это выполняется в Основном меню -> Настройки -> Лицензия

Прочтите лицензионное соглашение.

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

Выберите опцию Загрузить файл лицензии.

Выберите файл лицензии и нажмите Загрузить файл.

По окончанию загрузки вы увидите инфрмацию о вашей лицензии.

Проверка настроек сервера

Проверить все выполненные настройки сервера можно с помощью утилиты teguctl (идущие в комплекте дистрибутива).

Команда:

# /opt/tegu/bin/teguctl dump

выведет всю конфигурацию сервера в тестовом формате.

Утилита teguctl поставляется с дистрибутивом (вы найдете ее в каталоге bin).

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

Центр сертификации, предоставляющий бесплатные криптографические сертификаты X.509 для шифрования передаваемых через интернет данных HTTPS и других протоколов, используемых серверами в Интернете.
Процесс выдачи сертификатов полностью автоматизирован.

Центр сертификации Let’s Encrypt выдаёт сертификаты со сроком действия в 90 дней.
Для получения сертификата должны быть проброшены порты: 80, 443.

Для Debian дистрибутивов.

Проверяем обновления пакетов:

apt update

Устанавливаем Letsencrypt:

apt install certbot

Получаем сертификат на свой почтовый домен:

certbot certonly --standalone -m ваша_почта@yandex.ru -d mail.вашдомен.рф

Проверяем, что сертификаты получены:

cd /etc/letsencrypt/live/mail.вашдомен.рф/

ls

Должны увидеть следующие файлы:

cert.pem  chain.pem  fullchain.pem  privkey.pem  README

Нас интересуют fullchain.pem privkey.pem .

Для RED OS 7.3

Для того что бы получить и установить сертификат, нам необходимо установить пакет certbot, но в репозитории РЕД ОС данного пакета нет, поэтому будем устанавливать его с помощью python.
Python у нас уже установлен, установим недостающий нам пакет.

dnf install  python-virtualenv

Создаем каталог:

mkdir -p /web/install/python/

Переходим в этот каталог:

cd /web/install/python/

Далее нам необходимо создать виртуальную среду для приложения. Саму среду мы назовём python-red :

python3 -m venv python-red

Далее, активируем среду приложения python-red :

source python-red/bin/activate

Если всё сделано правильно, мы увидим что перешли в среду разработки python.

Далее, нам необходимо обновить:

pip install --upgrade pip

Теперь устанавливаем пакет certbot:

pip install certbot

После установки пакета, запускаем процедуру получения ssl сертификатов:

certbot certonly --standalone -m ваша_почта@yandex.ru -d mail.вашдомен.рф

Проверяем что сертификаты получены:

cd /etc/letsencrypt/live/mail.вашдомен.рф/

ls

Должны увидеть следующие файлы:

cert.pem  chain.pem  fullchain.pem  privkey.pem  README

Нас интересуют fullchain.pem privkey.pem .

Автоматизируем обновление сертификатов скриптами:

Создаем папку work в папке root, она нам чуть позже пригодится:

mkdir work

Создаем в папке Letsencrypt hook со следующим содержанием:

nano /etc/letsencrypt/renewal-hooks/deploy/hook01

#!/bin/sh
do
        if [ "$domain" = mail.вашдомен.рф ]
        then
                /root/work/tegu_certs
                /bin/systemctl restart tegu
        fi
done

Делаем его исполняемым:

chmod +x /etc/letsencrypt/renewal-hooks/deploy/hook01

Далее создаем еще один скрипт:

nano /root/work/tegu_certs

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

#!/bin/bash
cat /etc/letsencrypt/live/mail.вашдомен.рф/fullchain.pem > /opt/tegu/certs/cert.pem
cat /etc/letsencrypt/live/mail.вашдомен.рф/privkey.pem > /opt/tegu/certs/key.pem
chgrp mail /opt/tegu/certs/*
chmod 640 /opt/tegu/certs/*

Делаем скрипт исполняемым:

chmod +x /root/work/tegu_certs

Меняем группу владельцев:

chgrp root /etc/letsencrypt/archive/mail.вашдомен.рф/*

Запускаем скрипт:

/root/work/tegu_certs

Проверяем результат отрабатывания скрипта:

ls -lh /opt/tegu/certs/

В этой папке должны появится сертификаты:

cert.pem key.pem

Соответственно в основных настройках почтового сервера мы указываем следующие пути к сертификатам:

/opt/tegu/certs/cert.pem
/opt/tegu/certs/key.pem

Должно получиться так.

После того как сертификаты сгенерированы и прописаны на почтовом сервере, в основных настройках в разделе авторизация необходимо включить опцию в основных настройках -> SSL "Требовать шифрования TLS/SSL для авторизации".

Перезапустим почтовый сервер:

systemctl restart tegu

После того как все настройки выполнены только теперь можно проверять какие порты слушает почтовый сервер:

netstat -lnp
См. также: