1 - Установка mailu
Пошаговый план установки
Установка Docker
Версия установки 2024.06
имеет самую последнюю стабильную версию для Mailu.
Требования к оборудованию
При использовании антивируса (clamav):
- 3GB of memory
- 1GB of swap
Без антивируса (clamav):
- 1GB of memory
- 1GB of swap
Пошаговые действия
Создал сервер Debian 12 с параметрами
- 2GB of memory
- 1CPU
Настройка DOCKER
Настрой Докера apt хранилище.
# Add Docker's official GPG key:
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
# Add the repository to Apt sources:
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
Установить Docker
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Проверить установку Docker
sudo docker run hello-world
docker version
docker compose version
Установка MAILU
Создадим папку, где будет жить MAILU
mkdir /mailu
cd /mailu
Выполняем генерацию файлов настройки
https://setup.mailu.io/2024.06/
Настраиваем DNS
Прописываем A записи на exclusivesell.ru и на mail.exclusivesell.ru
docker compose up -d
запускаем docker
создаем админа
docker compose exec admin flask mailu admin me example.net ‘password’
2 - Установка и настройка Mailu на vps
Полная инструкция по установке и настройке Mailu на VPS с доменом
🔧 1. Требования
- VPS (Ubuntu 20.04/22.04, 1+ ядра, 2+ GB RAM, 25+ GB SSD)
- Доменное имя (например,
mail.yourdomain.com
) - Доступ к DNS-панели домена
- Docker и Docker Compose (установятся автоматически)
🚀 2. Подготовка сервера
Обновление системы и установка зависимостей:
sudo apt update && sudo apt upgrade -y
sudo apt install -y curl git nginx certbot python3-certbot-nginx #для ручной установки ssl (я не использовал)
📦 3. Установка Mailu
1. Скачайте официальный compose-файл:
mkdir mailu && cd mailu
curl -O https://mailu.io/2.0/docker-compose.yml
curl -O https://mailu.io/2.0/mailu.env
2. Настройте .env
-файл:
Отредактируйте mailu.env
:
DOMAIN=yourdomain.com
HOSTNAMES=mail.yourdomain.com
SECRET_KEY=сгенерируйте_ключ_openssl_rand_hex_32
DB_PASSWORD=strong_password
ADMIN=true
Сгенерируйте SECRET_KEY:
openssl rand -hex 32
3. Запустите Mailu:
docker-compose up -d
🌐 4. Настройка DNS
Добавьте записи в DNS-панели домена:
Тип | Имя | Значение |
---|---|---|
A | mail.yourdomain.com | IP вашего VPS |
MX | @ | 10 mail.yourdomain.com |
TXT | @ | v=spf1 mx -all |
TXT | _dmarc | v=DMARC1; p=none; rua=mailto:admin@yourdomain.com |
🔒 5. Настройка SSL (Let’s Encrypt)
Через Nginx:
sudo certbot --nginx -d mail.yourdomain.com
Или встроенными средствами Mailu:
В mailu.env
добавьте: (лучше этот вариант)
TLS_FLAVOR=letsencrypt
⚙️ 6. Настройка почтовых клиентов
Рекомендуемые параметры:
- IMAP:
mail.yourdomain.com
, порт 993 (SSL) - SMTP:
mail.yourdomain.com
, порт 465 (STARTTLS) - Логин: Полный email (user@yourdomain.com)
📧 7. Создание почтовых ящиков
- Откройте админку:
https://mail.yourdomain.com/admin
- Войдите с email
admin@yourdomain.com
и паролем изmailu.env
(ADMIN_PASSWORD
) - Создайте пользователей: Users → Add user
🔥 8. Фаервол (UFW)
sudo ufw allow 80,443,25,587,465,993,995/tcp
sudo ufw enable
🛠 9. Дополнительные настройки
Включение DKIM:
- В админке: DNS → DKIM keys
- Добавьте TXT-запись в DNS:
mail._domainkey.yourdomain.com IN TXT "v=DKIM1; k=rsa; p=публичный_ключ"
Резервное копирование:
docker-compose exec admin flask mailu backup
🚨 10. Тестирование
- Проверьте SMTP:
telnet mail.yourdomain.com 25 EHLO yourdomain.com
- Протестируйте отправку:
swaks --to test@yourdomain.com --from admin@yourdomain.com --server mail.yourdomain.com
⏳ 11. Обновление
docker-compose pull
docker-compose up -d
❌ 12. Решение проблем
- Почта не отправляется: Проверьте логи
docker-compose logs -f smtp
- Нет доступа к админке: Убедитесь, что
ADMIN=true
в.env
- Ошибки SSL: Перевыпустите сертификат
certbot renew
Готово! Ваш почтовый сервер с веб-интерфейсом доступен по https://mail.yourdomain.com
. Для интеграции с сайтом используйте API (как в предыдущих шагах) или SMTP-аутентификацию.