iRedMail install

IredMail

Как правило в организациях повседневно используется электронная почта для пересылки каких либо документов или для получения информации от партнеров. И хочется чтоб эти письма хранились не на хостинге, а локально внутри компании и конечно же со своим доменом. В этом случае, системные администраторы, настраивают свой почтовый сервер. Один из них мы рассмотрим в данной статье. Это почтовый сервер iRedMail

Для установки почтового сервера iRedMail на ubuntu server необходимо для начала обновить все пакеты. Переводим пользователя в сессию под root-ом

user@mail:~$ sudo -i

И вводим команду

root@mail:~# apt update && apt upgrade -y

Добавим репозитории для PHP и NGINX “на момент написания статьи последняя версия php 8.3”

root@mail:~# add-apt-repository ppa:ondrej/php

Задаем имя сервера согласно Вашему домену: (Заменяем mail.example.com на своё имя сервера)

root@mail:~# hostnamectl set-hostname mail.example.com

Отредактируем файл

root@mail:~# nano /etc/hosts
IredMail

Далее скачиваем актуальный дистрибутив. На момент написания статьи версия iRedMail была 1.6.8.

root@mail:~# wget -O iredmail.tar.gz https://github.com/iredmail/iRedMail/archive/refs/tags/1.6.8.tar.gz

Распаковываем скаченный архив

root@mail:~# tar -zxf iredmail.tar.gz

Переходим в каталог с дистрибутивом

root@mail:~# cd iRedMail-*/

И запускаем скрипт для установки

root@mail:~# bash iRedMail.sh

Запустится мастер установки и нужно будет заполнить несколько пунктов:

Соглашаемся с установкой и нажимаем < Yes >

IredMail

Указываем директорию куда будет установлен iRedmail  либо оставить по умолчанию

IredMail

Выбираем web сервер nginx

IredMail

Выбираем базу данных “Я использую MariaDB

IredMail

Вводим пароль для Вашей базы данных

IredMail

Вводим Ваше доменное имя без mail

iRedMail install

Вводим пароль от учётной записи администратора

iRedMail install

Выбираем web клиент для Вашего сервера “мне больше нравится Sogo”

iRedMail install

Проверяем все ли правильно

iRedMail install

Процесс установки займёт некоторое время, так что вооружитесь терпением )))

В процессе установки будет предложено активировать firewall соглашаемся Y

iRedMail install

И в конце установки нужно будет перезагрузить Ваш сервер

iRedMail install

Далее у своего регистратора домена вносим записи в DNS 

iRedMail install
iRedMail install

Переходим на WEB странице  https://mail.example.com/iredadmin 

Username postmaster@example.com

Password тот что задавали при установке

iRedMail install

Ну и создадим первый почтовый ящик например info@example.com

iRedMail install

Нажимаем Add далее User и заполняем необходимые поля

iRedMail install

Установка сертификата Let’s Encrypt

Вместе с iRedMail создается само подписанный сертификат, которому по умолчанию, не доверяют другие системы. Чтобы пользователи не видели предупреждений об использовании потенциально не безопасного сертификата, можно установить последний, выданный аккредитованным центром сертификации. Мы же выпустим бесплатный сертификат от Let’s Encrypt.

Для этого отредактируем файл 00-default-ssl.conf

root@mail:~# nano /etc/nginx/sites-enabled/00-default-ssl.conf

И добавим следующие строчки:

server {

root /var/www/html;
index index.php index.html;

    location ~ /.well-known {
        root /usr/share/nginx/html;
        allow all;
    }

include …
    …
}

Перезапустим nginx и посмотрим его статус

root@mail:~# systemctl restart nginx.service

root@mail:~# systemctl status nginx.service

iRedMail install

Устанавливаем утилиту certbot и выпускаем сертификат

root@mail:~# apt install certbot -y

Для удобства дальнейшей настройки создадим переменные

root@mail:~# HOST=$(hostname)

Для выпуска сертификата должны быть открыты 80 и 443 порты

Если устанавливаете на ПК в локальной сети то убедитесь что для данного ПК эти порты проброшены 

root@mail:~# certbot certonly --webroot --agree-tos --email postmaster@example.com --webroot-path /usr/share/nginx/html/ -d $HOST

Если всё прошло успешно то Вы должны увидеть вот такую запись

Successfully received certificate.

Certificate is saved at:  /etc/letsencrypt/live/mail.example.com/fullchain.pem

Key is saved at:         /etc/letsencrypt/live/mail.example.com/privkey.pem

Далее удаляем само подписанные сертификаты

root@mail:~# rm -f /etc/ssl/private/iRedMail.key

root@mail:~# rm -f /etc/ssl/certs/iRedMail.crt

Создаем симлинки на полученные сертификаты от Let’s Encrypt:

root@mail:~# ln -s /etc/letsencrypt/live/$HOST/fullchain.pem /etc/ssl/certs/iRedMail.crt

root@mail:~# ln -s /etc/letsencrypt/live/$HOST/privkey.pem /etc/ssl/private/iRedMail.key

Перезапускаем службы:

root@mail:~# systemctl reload nginx postfix dovecot

Так как сертификат от Let’s Encrypt выдается всего на 90 дней то создадим задачу в cron для автоматического перевыпуска сертификата.

root@mail:~# crontab -e

Добавим строчку в конце файла

root@mail:~# 0 0 * * 1,4 /usr/bin/certbot renew --noninteractive

И создадим правило для автоматического перезапуска служб nginx postfix dovecot.  Для этого создадим файл cli.ini и внесем в него запись:

root@mail:~# nano /etc/letsencrypt/cli.ini

---

deploy-hook = systemctl reload nginx postfix dovecot

Почтовые сервера очень не доверчивы с серверам без записей таких как

DKIM DMARC SPF ну и конечно нужно попросить у своего провайдера внести PTR запись для Вашего IP адреса

Записи DKIM DMARC SPF создаются у Вашего регистратора домена в формате TXT

SPF

Базовая запись SPF выглядит следующим образом:

TXT      @.example.com      v=spf1 a mx  -all

Так-же Вы можете сгенерировать запись SPF на сайте SPF Record Generator

DMARC

Базовая запись DMARC выглядит следующим образом:

TXT _dmarc.example.com v=DMARC1;p=reject

Так-же Вы можете сгенерировать запись DMARC на сайте DMARC Record Generator

DKIM

Ключ DKIM был сформирован во время установки почтового сервера и чтоб его получить нужно ввести команду

root@mail:~# amavisd-new showkeys

В ответ получим ключ

dkim._domainkey.example.com. 3600 TXT ( “v=DKIM1; p=” “MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAptFFx8D3V2lJnOoXq/Rt” “j4fL61GoPV9eSeft1p2gr7bds5uNahs6G1pbMSPjvnZl/0yLg+v/dj7dqky3Hc1N” “jJWGBTQxUKvZH62r5CDjhj+g6IhcE45X6+qYWZsBooh9b4GuFuMwCOJw3ygPZfEA” “//oM3FPmFzPlqt0AOrh/h9cWaPdwD12YYxmztXM/rI+YrX4ikdG16gYbrI3I1fsn” “5lFIONoLEOumM77X5Is7HvoEjTkH8jrW28TQ5i46z8bJ7dcXmncof4WPvzbi1Ckn” “idkM+h59IPObFveh3aEyNbywou0fU9zox2l4m44bvMtNMtfFNcb8tBeBBOQqyVUD” “wwIDAQAB”)

Удалим кавычки ( “” ) в ключе DKIM и занесем её так же в DNS

TXT         dkim._domainkey.example.com      v=DKIM1; p= MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAptFFx8D3V2lJnOoXq/Rt j4fL61GoPV9eSeft1p2gr7bds5uNahs6G1pbMSPjvnZl/0yLg+v/dj7dqky3Hc1N jJWGBTQxUKvZH62r5CDjhj+g6IhcE45X6+qYWZsBooh9b4GuFuMwCOJw3ygPZfEA //oM3FPmFzPlqt0AOrh/h9cWaPdwD12YYxmztXM/rI+YrX4ikdG16gYbrI3I1fsn 5lFIONoLEOumM77X5Is7HvoEjTkH8jrW28TQ5i46z8bJ7dcXmncof4WPvzbi1Ckn idkM+h59IPObFveh3aEyNbywou0fU9zox2l4m44bvMtNMtfFNcb8tBeBBOQqyVUDwwIDAQAB

После того как записи DNS распространятся по глобальной сети Internet можно будет пользоваться Вашим почтовым сервером.

WEB client Sogo

https://mail.example.com/sogo

iRedMail installiRedMail install

Можно протестировать и проверить Ваш почтовый сервер на сайте mail-tester.com

iRedMail install

Если все сделали правильно то ответ должен быть примерно таким:

iRedMail install

Почтовый сервер iRedMail базово настроен.

Массово поменять пароли на всех почтовых ящиках инструкция