Найти тему

Почтовый сервер у тебя дома! Устанавливаем отечественный сервер Tegu

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

Тестовый стенд:

  • Операционная система: Ubuntu Server 22.04 (Linux 5.15.0-67-generic x86_64)
  • CPU: Intel(R) Core(TM) i5-10400 CPU @ 2.90GHz (12 cores)
  • Оперативная память: 8 GB
  • Материнская плата: Gigabyte Z590D

Собираем RAID массив по этой статье:

Источник: Яндекс.Картинки
Источник: Яндекс.Картинки

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

Ставим Ubuntu Server 22.04 на данный ПК - при установке на этапе выбора дополнительного ПО отмечаем Nextcloud

В процессе установки дадим серверу ip адрес: 192.168.1.10

После установки первым делом проверяем версию библиотеки glibc командой:

ldd --version

Она должна быть не ниже 2.28 (версии с которой скомпилирован Tegu на момент написания статьи)

Идем в root

sudo su

Качаем бесплатную версию Tegu и распаковываем дистрибутив:

wget https://project.mbk-lab.ru/attachments/download/16540/tegu-free-v1.27.0-x86_64.tar.gz

tar -xvf tegu-free-v1.27.0-x86_64.tar.gz

Весь почтовый сервер это два файла, которые упакованы в обычный архив, нет необходимости использовать apt для установки пакета.

Создаем директории, куда положим файлы:

mkdir /opt/tegu

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

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

cp tegu-free-v1.27.0-x86_64/sbin/* /opt/tegu/sbin/

cp
tegu-free-v1.27.0-x86_64/bin/* /opt/tegu/bin/

Назначаем пользователя и права на каталоги почтового сервера

Пользователь и группа mail будет владеть папками data, certs, bin, sbin:

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

Создаем службу tegu.service:

nano /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

Создаем файл конфигурации в котором будут основные настройки сервера:

nano /etc/tegu.conf

Заполняем следующим содержимым:

[global]
dataDir = /opt/tegu/data

[Log]
debug = false

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

Если нужно журналирование то необходимо изменить параметр:

debug = true

dataDir - это путь к директории с данными сервера

adminPassword - задает пароль от пользователя admin для входа в веб-интерфейс

httpPort = 8888 httpsPort = 9999 ctlPort = 8899 - задают порты для доступа к веб интерфейсу

Задаем права на файл конфигурации:

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

Разрешаем автозапуск сервиса:

systemctl enable tegu.service

Запускаем сервер вручную:

systemctl start tegu.service

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

systemctl status tegu.service
Источник: мой сервер
Источник: мой сервер

Как мы видим - сервер работает

Переходим по адресу: http://192.168.1.10:8888

Попадаем в веб-интерфейс почтового сервера:

Источник: мой сервер
Источник: мой сервер

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

❗ Если данный материал вам помог или понравился - подпишитесь на канал и участвуйте в обсуждении в комментариях.
🚀 Подпиской вы очень поможете каналу и стимулируете автора публиковать больше материалов
🔥 Не пропустите обновления и новые статьи!
💰 Поддержать проект