Проект

Общее

Профиль

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

Мы компилируем все редакции почтового сервера для двух аппаратных платформ x86_64 и AArch64 (ARM64) под управлением всех типов Linux, включая отечественные операционные системы ALT Linux, RedOS, AstraLinux, Rosa Linux и Calculate Linux.

При выборе дистрибутива критическим является не тип операционной системы, а версия GLIBC, которая в ней установлена. GLIBC — это библиотека GNU C (т.е. реализация стандартной библотеки C от GNU, которая является критичным компонентом инструментария GNU, используемым вместе с binutils и компилятором для сборки бинарных файлов). Очевидно, что разные версии одной и той же ОС имеют разные версии библиотеки GLIBC.

Принимая во внимание специфику сборки и сертификации отчественных ОС Linux, нужно понимать, что их версии GLIBC не всегда являются самыми свежими. Для обеспечения совместимости мы специально используем несколько более старую версию библиотеки при компиляции.

Таким образом, при выборе дистрибутива вам необходимо проверить, чтобы версия библиотеки вашей ОС была новее, чем версия, с которой скомпилирован Tegu.

Вы можете узнать версию вашей GLIBC с помощью команды:

$ldd --version

ldd (Ubuntu GLIBC 2.31-0ubuntu9.7) 2.31

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

Распаковываем архив:

$ tar -xvf tegu-free-v1.17.20-x86_64.tar.gz 

tegu-free-v1.17.20-x86_64/
tegu-free-v1.17.20-x86_64/sbin/
tegu-free-v1.17.20-x86_64/sbin/tegu

Создаем структуру каталогов для сервера:

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

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

$ cp tegu-free-v1.17.20-x86_64/sbin/* /opt/tegu/sbin/
$ cp tegu-free-v1.17.20-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

Должно быть примерно так:

$ ls -l /opt/tegu
/opt/tegu:
итого 16
drwxr-x--- 2 root mail 4096 апр 11 14:32 bin
drwxr-x--- 2 mail mail 4096 апр 11 14:32 certs
drwxr-x--- 2 mail mail 4096 апр 11 14:32 data
drwxr-x--- 2 root mail 4096 апр 11 14:33 sbin

Настраиваем механизм запуска и управления:

$ nano /etc/systemd/system/tegu.service

Содержимое файла /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

Необходимо создать конфигурационный файл в /etc/tegu.conf со следующим содержанием:

$ nano /etc/tegu.conf

[global]
dataDir = /opt/tegu/data

[Log]
debug = true

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

И сменить права:

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

Во время первого запуска сервер будет искать свой файл конфигурации в следующем порядке:

  • /etc/tegu.conf
  • ~/tegu.conf (например, /var/mail/tegu.conf)

Если файл не был найден, то он будет создан по пути ~/tegu.conf

Для подробного логирования работы сервера измените значение параметра

debug = true

Значение параметра adminPassword используйте для регистрации в административном веб-интерфейсе (с логином admin). Читайте об этом подробнее в разделе "Настройка".

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

$ systemctl enable tegu.service

Эта команда создает символическую ссылку на копию файла сервиса в /etc/systemd/system/tegu.service в точке на диске, где systemd ищет файлы для автозапуска, а также обновляет конфигурацию systemd. Помните, что вы должны обновлять конфигурацию systemd всякий раз, когда меняете конфигурацию в файле /etc/systemd/system/tegu.service. Обновление выполняется командой sudo systemctl reload tegu.service .

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

$ systemctl start tegu.service

Контролируем запуск сервиса (статус сервиса):

$ systemctl status tegu.service

Правильно работающий сервер возвращает примерно такое:

● tegu.service - Tegu. MBK-Lab Mail Server
     Loaded: loaded (/etc/systemd/system/tegu.service; enabled; vendor preset: enabled)
     Active: active (running) since Mon 2022-04-11 13:58:09 MSK; 50min ago
   Main PID: 88519 (tegu)
      Tasks: 9 (limit: 9357)
     Memory: 3.3M
     CGroup: /system.slice/tegu.service
             └─88519 /opt/tegu/sbin/tegu

апр 11 13:58:09 systemd[1]: Started Tegu. MBK-Lab Mail Server.

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

На этом установка сервера завершена.
Переходите к начальной настройке в веб-интерфейсе.

См. также: