iredmail

  • linux
  • 0 Комментарии

Как правило в организациях повседневно используется электронная почта для пересылки каких либо документов или для получения информации от партнеров. И хочется чтоб эти письма хранились не на хостинге, а локально внутри компании и конечно же со своим доменом. В этом случае, системные администраторы, настраивают свой почтовый сервер. Один из них мы рассмотрим в данной статье. Это почтовый сервер 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-17 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-1 iredmail

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

iredmail-2 iredmail

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

iredmail-3 iredmail

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

iredmail-4 iredmail

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

iredmail-5 iredmail

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

iredmail-6 iredmail

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

iredmail-7 iredmail

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

iredmail-8 iredmail

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

iredmail-9 iredmail

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

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

iredmail-10 iredmail

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

iredmail-11 iredmail

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

iredmail-15-1 iredmail
iredmail-16-1 iredmail

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

Username postmaster@example.com

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

iredmail-12 iredmail

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

iredmail-13-1 iredmail

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

iredmail-14-1024x577 iredmail

Установка сертификата 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

nginx iredmail

Устанавливаем утилиту 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” “vfbvbeuvbOumM77X5Is7HvoEjTkH8jrW28TQ5i46z8bJ7dcXmncof4WPvzbi1Ckn” “idkM+h59IPObFveh3aEyNbywou0fU9zox2l4m44bvMtNMtfFNcb8tBeBBOQqyVUD” “wwIDAQAB”)

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

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

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

WEB client Sogo

https://mail.example.com/sogo

sogo iredmailsogo1 iredmail

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

test1 iredmail

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

test iredmail

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

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

Share this content:

  • Related Posts

    NextCloud

    Nextcloud это open source программа, с помощью которой можно организовать собственное облачное хранилище. Это почти как Dropbox, Яндекс Диск или iCloud, но с возможностью контролировать место и условия хранения ваших файлов. Также можно в Nextcloud можно интегрировать различные офисные программы такие как callabora или onlyoffice. Есть свой встроенный мессенджер Talk и многое другое.

    Nginx Proxy Manager

     Nginx Proxy Manager – это мощный инструмент для управления веб-прокси. Он может выступать в качестве обратного прокси-сервера для пересылки запросов к вашим внутренним веб-службам. Другими словами, вы можете разместить несколько веб-сайтов всего с 1 IP-адресом

    Добавить комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *