Установка Debian 11 и развёртывание iRedMail
iRedMail — готовый дистрибутив почтового сервера с открытым кодом: Postfix (SMTP) + Dovecot (IMAP/POP3) + SOGo или Roundcube (веб-интерфейс) + Amavisd/SpamAssassin/ClamAV (антиспам и антивирус). Разворачиваем с нуля на Debian 11.
Требования
- Чистый сервер с Debian 11 (Bullseye), минимум 2 ГБ RAM (рекомендовано 4 ГБ+)
- Статический внешний IP
- Зарегистрированный домен с доступом к управлению DNS
- Открытые порты: 25 (SMTP), 587 (Submission), 993 (IMAPS), 443 (HTTPS веб-почта)
- Важно: порт 25 не должен быть заблокирован хостинг-провайдером — у многих облачных провайдеров он закрыт по умолчанию для исходящих соединений
Шаг 1. Подготовка Debian 11
# Обновляем систему apt update && apt upgrade -y # Устанавливаем базовые утилиты apt install -y wget curl sudo dnsutils
Настройка hostname
iRedMail требует корректный FQDN. Задаём имя хоста заранее:
# Например, mail.company.ru hostnamectl set-hostname mail.company.ru # Проверяем /etc/hosts cat /etc/hosts # Должна быть строка: 127.0.0.1 mail.company.ru mail localhost
Шаг 2. Настройка DNS-записей
Прежде чем устанавливать iRedMail, настройте DNS — это сэкономит время на проверке после установки:
| Тип | Хост | Значение |
|---|---|---|
| A | ваш внешний IP | |
| MX | @ | mail.company.ru (приоритет 10) |
| TXT (SPF) | @ | v=spf1 mx ~all |
| PTR (обратный) | — | настраивается у хостинг-провайдера |
Шаг 3. Скачивание и запуск установщика iRedMail
# Скачиваем актуальную версию cd /root wget https://github.com/iredmail/iRedMail/archive/refs/tags/1.7.1.tar.gz tar -zxvf 1.7.1.tar.gz cd iRedMail-1.7.1 # Запускаем установщик bash iRedMail.sh
Установщик задаст серию вопросов:
- Mail storage path — обычно
/var/vmail(оставить по умолчанию) - Backend — выбираем OpenLDAP или MySQL/MariaDB (MySQL проще для небольших инсталляций)
- Webserver — Nginx (легче, чем Apache)
- Webmail — SOGo (полноценный groupware с календарём) или Roundcube (просто веб-почта)
- Mail domain — например
company.ru - Admin password — пароль для postmaster@company.ru
/root/iRedMail-1.7.1/iRedMail.tips — туда установщик записывает все пароли (MySQL root, LDAP admin и т.д.). Без него восстановить доступ будет сложно.
Шаг 4. Перезагрузка и проверка служб
reboot
# После перезагрузки проверяем статус служб
systemctl status postfix
systemctl status dovecot
systemctl status nginx
systemctl status mysql
Шаг 5. SSL-сертификат
iRedMail ставит самоподписанный сертификат — нужно заменить на Let's Encrypt:
# Останавливаем Nginx на время выпуска systemctl stop nginx certbot certonly --standalone -d mail.company.ru # Прописываем пути в конфиге iRedMail Nginx nano /etc/nginx/templates/iredadmin.tmpl
# Заменяем строки на: ssl_certificate /etc/letsencrypt/live/mail.company.ru/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/mail.company.ru/privkey.pem;
systemctl restart nginx
Автообновление сертификата
# Хук для перезапуска Nginx после обновления cat > /etc/letsencrypt/renewal-hooks/deploy/nginx-reload.sh << 'EOF' #!/bin/bash systemctl reload nginx postfix reload dovecot reload EOF chmod +x /etc/letsencrypt/renewal-hooks/deploy/nginx-reload.sh
Шаг 6. DKIM-подпись
iRedMail генерирует DKIM-ключ автоматически. Достаём публичную часть для DNS:
amavisd-new showkeys
Скопируйте вывод и добавьте в DNS как TXT-запись с хостом dkim._domainkey:
# Пример того, что нужно добавить в DNS dkim._domainkey.company.ru TXT "v=DKIM1; k=rsa; p=ДЛИННЫЙ_КЛЮЧ..."
Шаг 7. DMARC-запись
# Добавляем в DNS _dmarc.company.ru TXT "v=DMARC1; p=quarantine; rua=mailto:postmaster@company.ru"
Шаг 8. Управление через iRedAdmin
Веб-панель администратора доступна по адресу:
https://mail.company.ru/iredadmin/
Логин — postmaster@company.ru, пароль — тот, что указали при установке. Здесь создаются почтовые ящики, алиасы, группы рассылки.
Проверка отправки и доставки
# Проверка через mail-tester (узнать оценку спам-фильтров) # Отправьте письмо на сгенерированный там адрес и проверьте оценку # Логи Postfix в реальном времени tail -f /var/log/mail.log
Бэкап
Критичные для бэкапа директории:
/var/vmail— все почтовые ящики/etc/postfix,/etc/dovecot— конфигурация- Дамп MySQL:
mysqldump -u root -p --all-databases > backup.sql