Установка сервера¶
Мы компилируем все редакции почтового сервера для двух аппаратных платформ 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.
Если все предыдущие шаги выполнены правильно, то вам становится доступной веб-панель администрирования сервером, в которой производятся все остальные настройки.
На этом установка сервера завершена.
Переходите к начальной настройке в веб-интерфейсе.