На просторах интернета мы нашли легковесное и компактное решение с адекватными условиями бесплатного лицензирования, которые не режут основной функционал. Поставим почтовый сервер на обычную рабочую станцию, которую мы собирали в данной статье:
Тестовый стенд:
- Операционная система: 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
Попадаем в веб-интерфейс почтового сервера:
В следующей статье мы будем разбирать проброс портов и создание хранилища и ящиков.
❗ Если данный материал вам помог или понравился - подпишитесь на канал и участвуйте в обсуждении в комментариях.
🚀 Подпиской вы очень поможете каналу и стимулируете автора публиковать больше материалов
🔥 Не пропустите обновления и новые статьи!
💰 Поддержать проект