Ставим почтовый сервер на обычную рабочую станцию
Тестовый стенд:
Ставим Ubuntu Server 22 на данный ПК - при установке на этапе выбора дополнительного ПО отмечаем Nextcloud
После установки первым делом проверяем версию библиотеки glibc командой:
ldd --version
Она должна быть не ниже 2.28 (версии с которой скомпилирован Tegu на момент написания статьи)
Переходим под root
sudo su
Качаем и распаковываем дистрибутив:
wget https://downloads.mbk-lab.ru/stable/free/x86_64/1.36/tegu-free-v1.36.13-x86_64.tar.gz tar -xvf tegu-free-v1.36.13-x86_64.tar.gz
mkdir /opt/tegu mkdir /opt/tegu/{bin,sbin,data,certs}
Копируем исполняемый файл в рабочий каталог:
cp tegu-free-v1.36.13-x86_64/sbin/* /opt/tegu/sbin/ cp tegu-free-v1.36.13-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
Создаем службу:
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
Задаем права на файл конфигурации:
chown root.mail /etc/tegu.conf chmod 640 /etc/tegu.conf
Разрешаем автозапуск сервиса:
systemctl enable tegu.service
Запускаем сервер вручную:
systemctl start tegu.service
Проверяем активность службы:
systemctl status tegu.service
Смотрим журнал сервера:
journalctl -f -u tegu -n 100
Проверка портов, которые используются программой:
netstat -tulpn | grep tegu