Обновить docs/services/lxc212-mail/mailcow.md
This commit is contained in:
parent
cbd28e87cd
commit
9ac7453951
@ -24,12 +24,14 @@
|
||||
10. [Полезные команды](#10-полезные-команды)
|
||||
11. [Решение проблем](#11-решение-проблем)
|
||||
12. [Безопасность и обслуживание](#12-безопасность-и-обслуживание)
|
||||
13. [Настройка Nginx Proxy Manager](#13-настройка-nginx-proxy-manager)
|
||||
14. [Создание почтового ящика](#14-создание-почтового-ящика)
|
||||
13. [Создание почтового ящика](#13-создание-почтового-ящика)
|
||||
14. [Проверка после настройки](#14-проверка-после-настройки)
|
||||
15. [Если что-то не работает](#15-если-что-то-не-работает)
|
||||
|
||||
---
|
||||
|
||||
## 1. Описание и архитектура
|
||||
[🔼 Наверх](#-содержание)
|
||||
|
||||
Mailcow — это готовый почтовый сервер на базе Docker, включающий:
|
||||
|
||||
@ -52,6 +54,7 @@ Mailcow — это готовый почтовый сервер на базе Do
|
||||
---
|
||||
|
||||
## 2. Требования к ресурсам
|
||||
[🔼 Наверх](#-содержание)
|
||||
|
||||
### Минимальные требования
|
||||
| Ресурс | Значение |
|
||||
@ -71,6 +74,7 @@ pct set 212 -features nesting=1,fuse=1
|
||||
---
|
||||
|
||||
## 3. Подготовка контейнера
|
||||
[🔼 Наверх](#-содержание)
|
||||
|
||||
### 3.1 Проверка конфигурации
|
||||
> **Выполняется на хосте Proxmox**:
|
||||
@ -102,6 +106,7 @@ systemctl disable postfix
|
||||
---
|
||||
|
||||
## 4. Установка Mailcow
|
||||
[🔼 Наверх](#-содержание)
|
||||
|
||||
### 4.1 Клонирование репозитория
|
||||
```bash
|
||||
@ -131,6 +136,7 @@ sed -i 's/^ netfilter:/ #netfilter:/g' docker-compose.yml
|
||||
---
|
||||
|
||||
## 5. Запуск и первичная настройка
|
||||
[🔼 Наверх](#-содержание)
|
||||
|
||||
### 5.1 Загрузка образов и запуск
|
||||
```bash
|
||||
@ -171,6 +177,7 @@ docker compose ps
|
||||
---
|
||||
|
||||
## 6. Настройка DNS
|
||||
[🔼 Наверх](#-содержание)
|
||||
|
||||
### 6.1 Получение записей из Mailcow
|
||||
В админке: **Configuration** → **Mail Setup** → **Domains** → кнопка **DNS**
|
||||
@ -196,216 +203,7 @@ _autodiscover._tcp IN SRV 0 0 443 mail.zailon.ru.
|
||||
---
|
||||
|
||||
## 7. Настройка Nginx Proxy Manager
|
||||
|
||||
### 7.1 Создание Proxy Host
|
||||
В админке NPM (LXC 201):
|
||||
|
||||
| Параметр | Значение |
|
||||
|----------|----------|
|
||||
| **Domain Names** | `mail.zailon.ru` |
|
||||
| **Scheme** | `https` |
|
||||
| **Forward Hostname/IP** | `192.168.1.212` |
|
||||
| **Forward Port** | `443` |
|
||||
| **SSL Certificate** | Request a new SSL Certificate |
|
||||
| **Force SSL** | ✅ ON |
|
||||
| **Block Common Exploits** | ✅ ON |
|
||||
|
||||
### 7.2 Advanced: Custom Nginx Configuration
|
||||
```nginx
|
||||
proxy_ssl_verify off;
|
||||
proxy_ssl_server_name on;
|
||||
```
|
||||
|
||||
Это необходимо, так как Mailcow использует самоподписанный сертификат внутри сети.
|
||||
|
||||
---
|
||||
|
||||
## 8. Проброс портов на роутере
|
||||
|
||||
| Имя | Внешний порт | Внутренний порт | Протокол | Назначение |
|
||||
|-----|-------------|----------------|----------|-----------|
|
||||
| mail_smtp | 25 | 25 | TCP | Приём почты от внешних серверов |
|
||||
| mail_imap | 993 | 993 | TCP | Безопасный доступ к ящику (IMAP) |
|
||||
| mail_smtp_ssl | 465 | 465 | TCP | Отправка почты (SMTP SSL) |
|
||||
| mail_smtp_tls | 587 | 587 | TCP | Отправка почты (SMTP STARTTLS) |
|
||||
|
||||
**IP устройства**: `192.168.1.212`
|
||||
|
||||
---
|
||||
|
||||
## 9. Настройка почтовых клиентов
|
||||
|
||||
### Параметры подключения
|
||||
| Параметр | Значение |
|
||||
|----------|----------|
|
||||
| **Email** | `olimp@zailon.ru` |
|
||||
| **Пароль** | пароль от ящика |
|
||||
|
||||
### Входящая почта (IMAP)
|
||||
- **Сервер**: `mail.zailon.ru`
|
||||
- **Порт**: `993`
|
||||
- **Безопасность**: SSL/TLS
|
||||
|
||||
### Исходящая почта (SMTP)
|
||||
- **Сервер**: `mail.zailon.ru`
|
||||
- **Порт**: `465` (SSL/TLS) или `587` (STARTTLS)
|
||||
- **Аутентификация**: Да, логин = email
|
||||
|
||||
### Рекомендуемые клиенты
|
||||
- **Android**: K-9 Mail (бесплатно, open source) или Aqua Mail (платно, красивый интерфейс)
|
||||
- **iOS**: Родной клиент Почта или Spark
|
||||
- **Desktop**: Thunderbird, Outlook
|
||||
|
||||
---
|
||||
|
||||
## 10. Полезные команды
|
||||
|
||||
### Переход в директорию Mailcow
|
||||
```bash
|
||||
cd /mnt/mailcow/mailcow-dockerized
|
||||
```
|
||||
|
||||
### Проверка статуса сервисов
|
||||
```bash
|
||||
docker compose ps
|
||||
```
|
||||
|
||||
### Просмотр логов
|
||||
```bash
|
||||
# Все сервисы
|
||||
docker compose logs -f
|
||||
|
||||
# Только postfix
|
||||
docker compose logs -f postfix-mailcow
|
||||
|
||||
# Только последние 50 строк
|
||||
docker compose logs --tail=50 postfix-mailcow
|
||||
```
|
||||
|
||||
### Перезапуск сервисов
|
||||
```bash
|
||||
# Один сервис
|
||||
docker compose restart postfix-mailcow
|
||||
|
||||
# Все сервисы
|
||||
docker compose restart
|
||||
```
|
||||
|
||||
### Полная перезагрузка
|
||||
```bash
|
||||
docker compose down
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
### Обновление Mailcow
|
||||
```bash
|
||||
./update.sh
|
||||
```
|
||||
|
||||
### Проверка DNS
|
||||
```bash
|
||||
nslookup -type=MX zailon.ru
|
||||
nslookup -type=TXT zailon.ru
|
||||
```
|
||||
|
||||
### Проверка открытых портов
|
||||
```bash
|
||||
ss -tlnp | grep -E ':25|:443|:993'
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 11. Решение проблем
|
||||
|
||||
### Письма не приходят извне
|
||||
1. Проверь проброс портов на роутере (25, 993, 465)
|
||||
2. Проверь DNS-записи: `nslookup -type=MX zailon.ru`
|
||||
3. Проверь логи postfix:
|
||||
```bash
|
||||
cd /mnt/mailcow/mailcow-dockerized
|
||||
docker compose logs --tail=100 postfix-mailcow | grep -E 'connect|NOQUEUE|reject'
|
||||
```
|
||||
|
||||
### Ошибка "Waiting for DNS..." в Postfix
|
||||
Проблема с Docker-сетью в LXC. Решение:
|
||||
```bash
|
||||
cd /mnt/mailcow/mailcow-dockerized
|
||||
docker compose down
|
||||
docker network rm mailcowdockerized_mailcow-network
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
### SOGo: "not allowed in state 1"
|
||||
1. Очисти куки браузера
|
||||
2. Или перезапусти SOGo:
|
||||
```bash
|
||||
cd /mnt/mailcow/mailcow-dockerized
|
||||
docker compose restart sogo-mailcow
|
||||
```
|
||||
|
||||
### Письма попадают в спам
|
||||
1. Проверь наличие и корректность записей SPF, DKIM, DMARC
|
||||
2. Убедись, что настроена PTR-запись у провайдера
|
||||
3. Не отправляй массовые рассылки с нового домена
|
||||
|
||||
### Не могу зайти по https://mail.zailon.ru
|
||||
1. Проверь, что в NPM настроен прокси на `192.168.1.212:443`
|
||||
2. Убедись, что в Custom Config добавлено `proxy_ssl_verify off;`
|
||||
3. Проверь, что сертификат Let's Encrypt выпущен (статус в NPM)
|
||||
|
||||
### ClamAV не обновляет базы (ошибка 403)
|
||||
Известная проблема CDN ClamAV. Антивирус продолжит работать на локальных сигнатурах. Для обновления можно:
|
||||
1. Подождать 24 часа (кулдаун)
|
||||
2. Или отключить ClamAV в `mailcow.conf`, если не критично:
|
||||
```ini
|
||||
SKIP_CLAMD=y
|
||||
```
|
||||
Затем: `docker compose up -d`
|
||||
|
||||
---
|
||||
|
||||
## 12. Безопасность и обслуживание
|
||||
|
||||
### Регулярные задачи
|
||||
| Задача | Периодичность | Команда/Действие |
|
||||
|--------|--------------|------------------|
|
||||
| Проверка логов | Еженедельно | `docker compose logs --tail=100` |
|
||||
| Обновление Mailcow | По выходу версии | `./update.sh` |
|
||||
| Резервное копирование | Ежедневно | Настроить backup через Proxmox Backup Server |
|
||||
| Проверка места на диске | Еженедельно | `df -h /mnt/mailcow` |
|
||||
|
||||
### Резервное копирование
|
||||
Рекомендуемый способ — через Proxmox Backup Server (PBS):
|
||||
|
||||
1. В веб-интерфейсе Proxmox выбери контейнер 212
|
||||
2. **Backup** → **Backup now**
|
||||
3. Режим: `snapshot`, хранилище: `olimpbkp`
|
||||
4. Расписание: ежедневно в 03:00
|
||||
|
||||
### Обновление системы
|
||||
```bash
|
||||
apt update && apt upgrade -y
|
||||
```
|
||||
|
||||
> **Перезапуск контейнера** (если обновилось ядро) выполняется на хосте Proxmox:
|
||||
```bash
|
||||
pct reboot 212
|
||||
```
|
||||
|
||||
### Мониторинг
|
||||
Mailcow интегрируется с внешними системами мониторинга. Для Grafana (LXC 208):
|
||||
1. Добавь источник данных Prometheus: `http://192.168.1.212:9900/metrics`
|
||||
2. Импортируй дашборд Mailcow (ID: 13429)
|
||||
|
||||
### Контакты для экстренных случаев
|
||||
- Администратор: Zailon
|
||||
- Сервер: Olimp (192.168.1.1)
|
||||
- Контейнер почты: 212 (192.168.1.212)
|
||||
- Документация: `mail.md` в репозитории конфигураций
|
||||
|
||||
---
|
||||
|
||||
## 13 Настройка Nginx Proxy Manager
|
||||
[🔼 Наверх](#-содержание)
|
||||
|
||||
> Делается один раз при первом запуске почтового сервера.
|
||||
|
||||
@ -500,7 +298,198 @@ location ^~ /admin {
|
||||
|
||||
---
|
||||
|
||||
## 14. Создание почтового ящика
|
||||
## 8. Проброс портов на роутере
|
||||
[🔼 Наверх](#-содержание)
|
||||
|
||||
| Имя | Внешний порт | Внутренний порт | Протокол | Назначение |
|
||||
|-----|-------------|----------------|----------|-----------|
|
||||
| mail_smtp | 25 | 25 | TCP | Приём почты от внешних серверов |
|
||||
| mail_imap | 993 | 993 | TCP | Безопасный доступ к ящику (IMAP) |
|
||||
| mail_smtp_ssl | 465 | 465 | TCP | Отправка почты (SMTP SSL) |
|
||||
| mail_smtp_tls | 587 | 587 | TCP | Отправка почты (SMTP STARTTLS) |
|
||||
|
||||
**IP устройства**: `192.168.1.212`
|
||||
|
||||
---
|
||||
|
||||
## 9. Настройка почтовых клиентов
|
||||
[🔼 Наверх](#-содержание)
|
||||
|
||||
### Параметры подключения
|
||||
| Параметр | Значение |
|
||||
|----------|----------|
|
||||
| **Email** | `olimp@zailon.ru` |
|
||||
| **Пароль** | пароль от ящика |
|
||||
|
||||
### Входящая почта (IMAP)
|
||||
- **Сервер**: `mail.zailon.ru`
|
||||
- **Порт**: `993`
|
||||
- **Безопасность**: SSL/TLS
|
||||
|
||||
### Исходящая почта (SMTP)
|
||||
- **Сервер**: `mail.zailon.ru`
|
||||
- **Порт**: `465` (SSL/TLS) или `587` (STARTTLS)
|
||||
- **Аутентификация**: Да, логин = email
|
||||
|
||||
### Рекомендуемые клиенты
|
||||
- **Android**: K-9 Mail (бесплатно, open source) или Aqua Mail (платно, красивый интерфейс)
|
||||
- **iOS**: Родной клиент Почта или Spark
|
||||
- **Desktop**: Thunderbird, Outlook
|
||||
|
||||
---
|
||||
|
||||
## 10. Полезные команды
|
||||
[🔼 Наверх](#-содержание)
|
||||
|
||||
### Переход в директорию Mailcow
|
||||
```bash
|
||||
cd /mnt/mailcow/mailcow-dockerized
|
||||
```
|
||||
|
||||
### Проверка статуса сервисов
|
||||
```bash
|
||||
docker compose ps
|
||||
```
|
||||
|
||||
### Просмотр логов
|
||||
```bash
|
||||
# Все сервисы
|
||||
docker compose logs -f
|
||||
|
||||
# Только postfix
|
||||
docker compose logs -f postfix-mailcow
|
||||
|
||||
# Только последние 50 строк
|
||||
docker compose logs --tail=50 postfix-mailcow
|
||||
```
|
||||
|
||||
### Перезапуск сервисов
|
||||
```bash
|
||||
# Один сервис
|
||||
docker compose restart postfix-mailcow
|
||||
|
||||
# Все сервисы
|
||||
docker compose restart
|
||||
```
|
||||
|
||||
### Полная перезагрузка
|
||||
```bash
|
||||
docker compose down
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
### Обновление Mailcow
|
||||
```bash
|
||||
./update.sh
|
||||
```
|
||||
|
||||
### Проверка DNS
|
||||
```bash
|
||||
nslookup -type=MX zailon.ru
|
||||
nslookup -type=TXT zailon.ru
|
||||
```
|
||||
|
||||
### Проверка открытых портов
|
||||
```bash
|
||||
ss -tlnp | grep -E ':25|:443|:993'
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 11. Решение проблем
|
||||
[🔼 Наверх](#-содержание)
|
||||
|
||||
### Письма не приходят извне
|
||||
1. Проверь проброс портов на роутере (25, 993, 465)
|
||||
2. Проверь DNS-записи: `nslookup -type=MX zailon.ru`
|
||||
3. Проверь логи postfix:
|
||||
```bash
|
||||
cd /mnt/mailcow/mailcow-dockerized
|
||||
docker compose logs --tail=100 postfix-mailcow | grep -E 'connect|NOQUEUE|reject'
|
||||
```
|
||||
|
||||
### Ошибка "Waiting for DNS..." в Postfix
|
||||
Проблема с Docker-сетью в LXC. Решение:
|
||||
```bash
|
||||
cd /mnt/mailcow/mailcow-dockerized
|
||||
docker compose down
|
||||
docker network rm mailcowdockerized_mailcow-network
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
### SOGo: "not allowed in state 1"
|
||||
1. Очисти куки браузера
|
||||
2. Или перезапусти SOGo:
|
||||
```bash
|
||||
cd /mnt/mailcow/mailcow-dockerized
|
||||
docker compose restart sogo-mailcow
|
||||
```
|
||||
|
||||
### Письма попадают в спам
|
||||
1. Проверь наличие и корректность записей SPF, DKIM, DMARC
|
||||
2. Убедись, что настроена PTR-запись у провайдера
|
||||
3. Не отправляй массовые рассылки с нового домена
|
||||
|
||||
### Не могу зайти по https://mail.zailon.ru
|
||||
1. Проверь, что в NPM настроен прокси на `192.168.1.212:443`
|
||||
2. Убедись, что в Custom Config добавлено `proxy_ssl_verify off;`
|
||||
3. Проверь, что сертификат Let's Encrypt выпущен (статус в NPM)
|
||||
|
||||
### ClamAV не обновляет базы (ошибка 403)
|
||||
Известная проблема CDN ClamAV. Антивирус продолжит работать на локальных сигнатурах. Для обновления можно:
|
||||
1. Подождать 24 часа (кулдаун)
|
||||
2. Или отключить ClamAV в `mailcow.conf`, если не критично:
|
||||
```ini
|
||||
SKIP_CLAMD=y
|
||||
```
|
||||
Затем: `docker compose up -d`
|
||||
|
||||
---
|
||||
|
||||
## 12. Безопасность и обслуживание
|
||||
[🔼 Наверх](#-содержание)
|
||||
|
||||
### Регулярные задачи
|
||||
| Задача | Периодичность | Команда/Действие |
|
||||
|--------|--------------|------------------|
|
||||
| Проверка логов | Еженедельно | `docker compose logs --tail=100` |
|
||||
| Обновление Mailcow | По выходу версии | `./update.sh` |
|
||||
| Резервное копирование | Ежедневно | Настроить backup через Proxmox Backup Server |
|
||||
| Проверка места на диске | Еженедельно | `df -h /mnt/mailcow` |
|
||||
|
||||
### Резервное копирование
|
||||
Рекомендуемый способ — через Proxmox Backup Server (PBS):
|
||||
|
||||
1. В веб-интерфейсе Proxmox выбери контейнер 212
|
||||
2. **Backup** → **Backup now**
|
||||
3. Режим: `snapshot`, хранилище: `olimpbkp`
|
||||
4. Расписание: ежедневно в 03:00
|
||||
|
||||
### Обновление системы
|
||||
```bash
|
||||
apt update && apt upgrade -y
|
||||
```
|
||||
|
||||
> **Перезапуск контейнера** (если обновилось ядро) выполняется на хосте Proxmox:
|
||||
```bash
|
||||
pct reboot 212
|
||||
```
|
||||
|
||||
### Мониторинг
|
||||
Mailcow интегрируется с внешними системами мониторинга. Для Grafana (LXC 208):
|
||||
1. Добавь источник данных Prometheus: `http://192.168.1.212:9900/metrics`
|
||||
2. Импортируй дашборд Mailcow (ID: 13429)
|
||||
|
||||
### Контакты для экстренных случаев
|
||||
- Администратор: Zailon
|
||||
- Сервер: Olimp (192.168.1.1)
|
||||
- Контейнер почты: 212 (192.168.1.212)
|
||||
- Документация: `mail.md` в репозитории конфигураций
|
||||
|
||||
---
|
||||
|
||||
## 13. Создание почтового ящика
|
||||
[🔼 Наверх](#-содержание)
|
||||
|
||||
### Через веб-интерфейс Mailcow
|
||||
|
||||
@ -529,8 +518,10 @@ location ^~ /admin {
|
||||
- Войти в почту: `https://mail.zailon.ru` → логин `zevs@zailon.ru`
|
||||
- Настроить клиент (см. раздел [Настройка клиентов](#9-настройка-почтовых-клиентов))
|
||||
|
||||
---
|
||||
|
||||
## 🔍 Проверка после настройки
|
||||
## 14. Проверка после настройки
|
||||
[🔼 Наверх](#-содержание)
|
||||
|
||||
### 1. Проверь, что сертификат работает
|
||||
|
||||
@ -554,7 +545,8 @@ strict-transport-security: max-age=63072000; includeSubDomains; preload
|
||||
|
||||
---
|
||||
|
||||
## 🛠 Если что-то не работает
|
||||
## 15. Если что-то не работает
|
||||
[🔼 Наверх](#-содержание)
|
||||
|
||||
| Проблема | Решение |
|
||||
|----------|---------|
|
||||
@ -563,7 +555,9 @@ strict-transport-security: max-age=63072000; includeSubDomains; preload
|
||||
| Браузер ругается на сертификат | Подожди 1-2 минуты после сохранения в NPM, обнови страницу |
|
||||
| Не приходит письмо с внешнего ящика | Проверь проброс порта 25 на роутере и DNS-записи MX/SPF |
|
||||
|
||||
|
||||
Если не получается — посмотри логи NPM: в админке NPM → **Hosts** → **Proxy Hosts** → три точки у записи `mail.zailon.ru` → **Logs**.
|
||||
|
||||
---
|
||||
|
||||
> **Примечание**: Все команды выполняются от имени root.
|
||||
Loading…
Reference in New Issue
Block a user