Начальная настройка сервера¶
Choose a language: RU | EN | ZH
- Содержание
- Начальная настройка сервера
- Создание почтового хранилища СУБД
- Создаем 3 базы данных
- Прописываем доступы с подсетей
- Смотрим какие базы данных у нас есть
- Удалить базы данных
- Для создания хранилища, в начале необходимо создать домен и выбирать хранение в базе данных Postgress
- Создание/подключение баз данных пользователей
- Пример подключения к Active Directory.
- Пример подключения к OpenLdap.
- Загрузка лицензии
- Проверка настроек сервера
- Установка и генерация сертификатов Letsencrypt.
Если все предыдущие шаги выполнены правильно, то вам становится доступной веб-панель администрирования сервером, в которой производятся все остальные настройки.
С помощью браузера зайдите на порт 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¶
Установка сервера БД производится согласно официальной документации 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См. также: