iRedMail install
Как правило в организациях повседневно используется электронная почта для пересылки каких либо документов или для получения информации от партнеров. И хочется чтоб эти письма хранились не на хостинге, а локально внутри компании и конечно же со своим доменом. В этом случае, системные администраторы, настраивают свой почтовый сервер. Один из них мы рассмотрим в данной статье. Это почтовый сервер iRedMail
Для установки почтового сервера iRedMail на ubuntu server необходимо для начала обновить все пакеты. Переводим пользователя в сессию под root-ом
И вводим команду
Добавим репозитории для PHP и NGINX “на момент написания статьи последняя версия php 8.3”
Задаем имя сервера согласно Вашему домену: (Заменяем mail.example.com на своё имя сервера)
Отредактируем файл
Далее скачиваем актуальный дистрибутив. На момент написания статьи версия iRedMail была 1.6.8.
Распаковываем скаченный архив
Переходим в каталог с дистрибутивом
И запускаем скрипт для установки
Запустится мастер установки и нужно будет заполнить несколько пунктов:
Соглашаемся с установкой и нажимаем < Yes >
Указываем директорию куда будет установлен iRedmail либо оставить по умолчанию
Выбираем web сервер nginx
Выбираем базу данных “Я использую MariaDB“
Вводим пароль для Вашей базы данных
Вводим Ваше доменное имя без mail
Вводим пароль от учётной записи администратора
Выбираем web клиент для Вашего сервера “мне больше нравится Sogo”
Проверяем все ли правильно
Процесс установки займёт некоторое время, так что вооружитесь терпением )))
В процессе установки будет предложено активировать firewall соглашаемся Y
И в конце установки нужно будет перезагрузить Ваш сервер
Далее у своего регистратора домена вносим записи в DNS
Переходим на WEB странице https://mail.example.com/iredadmin
Username postmaster@example.com
Password тот что задавали при установке
Ну и создадим первый почтовый ящик например info@example.com
Нажимаем Add далее User и заполняем необходимые поля
Установка сертификата Let’s Encrypt
Вместе с iRedMail создается само подписанный сертификат, которому по умолчанию, не доверяют другие системы. Чтобы пользователи не видели предупреждений об использовании потенциально не безопасного сертификата, можно установить последний, выданный аккредитованным центром сертификации. Мы же выпустим бесплатный сертификат от Let’s Encrypt.
Для этого отредактируем файл 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
Устанавливаем утилиту certbot и выпускаем сертификат
Для удобства дальнейшей настройки создадим переменные
Для выпуска сертификата должны быть открыты 80 и 443 порты
Если устанавливаете на ПК в локальной сети то убедитесь что для данного ПК эти порты проброшены
Если всё прошло успешно то Вы должны увидеть вот такую запись
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
Перезапускаем службы:
Так как сертификат от Let’s Encrypt выдается всего на 90 дней то создадим задачу в cron для автоматического перевыпуска сертификата.
Добавим строчку в конце файла
И создадим правило для автоматического перезапуска служб 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 был сформирован во время установки почтового сервера и чтоб его получить нужно ввести команду
В ответ получим ключ
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
Можно протестировать и проверить Ваш почтовый сервер на сайте mail-tester.com
Если все сделали правильно то ответ должен быть примерно таким:
Почтовый сервер iRedMail базово настроен.
Массово поменять пароли на всех почтовых ящиках инструкция