Ні, не потрібно встановлювати кеш DNS на сервері. Сервер повинен використовувати кешуючий DNS-розв’язник, який знаходиться десь поруч, але більшість хостинг-компаній вже працюють за власними розв’язками для всього центру обробки даних і налаштовують сервери для їх використання за замовчуванням.
За замовчуванням і Postfix, і Dovecot використовують локальні акаунти для всього. Якщо у вас є ім’я облікового запису Linux diti
, ви можете увійти в Dovecot за допомогою нього, і ви можете налаштувати Postfix для перевірки входів SMTP проти Dovecot .
Якщо у вас все в порядку, коли вся пошта переходить на один і той же обліковий запис, ви можете налаштувати прості псевдоніми (як у, /etc/aliases
) для переадресації пошти для kra@
або postmaster@
на diti
рахунок.
Усі ці тематичні імена не потрібні. Єдине, що вам потрібно - це доменні імена, які ви фактично використовуєте , наприклад, mail.diti.me
або glaux.diti.me
. Я не впевнений, чи потрібно вам включати сам домен (тобто diti.me
).
Далі передбачається, що в домені вже є записи MX, налаштовані для вказівки на цей сервер. Я, як правило, намагаюся зберегти мою конфігурацію достатньо чітко, оскільки через декілька місяців мені завжди цікаво "для чого це чорт".
1. Спочатку встановіть пакети postfix
та dovecot-imapd
. Коли з’явиться запит про конфігурацію Postfix, виберіть опцію "Інтернет-сайт" та введіть diti.me
як ім'я пошти. У цей момент ви вже можете надсилати та отримувати пошту як diti@diti.me
і, ймовірно, навіть підключатися до IMAP.
Однак у нього ще немає SSL, не дозволяють надсилати пошту через SMTP ззовні, ані нормальне місце для зберігання пошти (за замовчуванням - це файл mbox /var/mail
, який є ненадійним та дає погані показники, особливо з IMAP).
2. Якщо у вас вже є сертифікат SSL, /etc/ssl/private/diti.me.pem
введіть його та закритий ключ /etc/ssl/private/diti.me.key
. Точне розташування насправді не має значення, але /etc/ssl/private
Debian їх зберігає.
Переконайтеся, що обидва файли належать ssl-cert
групі та читаються , щоб Postfix та Dovecot мали доступ до них. Також додайте обидві облікові записи демонів до цієї групи, використовуючи gpasswd -a
.
3. Автоматично створений Postfix Debian main.cf
теж дещо заплутався, тому я опублікую лише очищену мінімальну версію:
# Інформація про сервер
мідомен = diti.me
myorigin = $ мідомен
# Різні інші параметри використовують ці дві змінні як значення за замовчуванням.
# Сервіс SMTP
smtpd_tls_security_level = може
smtpd_tls_cert_file = /etc/ssl/private/diti.me-mail.pem
smtpd_tls_key_file = /etc/ssl/private/diti.me-mail.key
# Це дозволяє STARTTLS використовуватись на всіх вхідних SMTP-з'єднаннях.
# Зауважте, що `postfix` повинен бути доданий до групи` ssl-cert`, щоб мати можливість
# для доступу до файлів у / etc / ssl / private.
# Політика
mynetworks = [:: 1] / 128, 127.0.0.0/8, [::ffff:127.0.0.0Sense/104
# У цьому списку перераховані IP-адреси, які вважаються "довіреними" та можуть використовуватись
# цей сервер для надсилання пошти назовні (тобто в інші домени). За
# за замовчуванням, дозволено лише "localhost". Від усіх інших лише на пошту
# доменів у $ mydestination буде прийнято.
mydestination = $ mydomain, localhost
# Список доменів, на які можна приймати пошту, з будь-якої IP-адреси.
# Доставка
alias_maps = хеш: / і т.д. / псевдоніми
# Це зберігає псевдоніми для всієї системи. Це добре встановити чітко, тому що
# значення за замовчуванням іноді включає NIS, що не має сенсу.
primaent_delimiter = +
# Повідомляє постфікс, щоб розділити локальну частину адрес на першому "+",
# так зване "плюс-адресація": пошта, надіслана до diti + foo @, буде доставлена
# до поштової скриньки diti @.
Для Dovecot Debian просто використовує конфігураційні приклади за замовчуванням, і вони досить хороші з кожним описаним варіантом.
Щоразу, коли ви змінюєте конфігурацію, перезавантажте демони за допомогою postfix reload
та / або doveadm reload
.
4. За замовчуванням Postfix доставляє пошту /var/mail/$USER
у форматі mbox , що є досить простим (ви можете легко переглядати його за допомогою текстового редактора), але має багато проблем, особливо з IMAP, оскільки весь файл повинен бути переписаний під час кожного переміщення повідомлення або навіть позначте його як "прочитане" чи "непрочитане".
Змініть обидва демони, щоб використовувати Maildir. (Є й інші формати, але вони, як правило, специфічні для сервера MTA або MDA або IMAP чи будь-якого іншого; Maildir широко підтримується.)
У /etc/postfix/main.cf
розділі "Доставка" додайте наступне:
home_mailbox = Пошта /
Настройте Dovecot використовувати той самий шлях у /etc/dovecot/conf.d/10-mail.conf
:
mail_location = maildir: ~ / Пошта
5. У якийсь момент вам потрібно сказати Dovecot також використовувати SSL. Відповідні налаштування є в /etc/dovecot/conf.d/10-ssl.conf
. Насправді, пакет Debian для Dovecot вже використовує SSL, хоча з самопідписаним сертифікатом, який здебільшого марний. Налаштуйте його для використання власного сертифіката:
ssl = так
ssl_cert = </etc/ssl/private/diti.me-mail.pem
ssl_key = </etc/ssl/private/diti.me-mail.key
6. Тепер ви можете відправляти пошту назовні та отримувати її. Це все ще необхідно налаштувати Postfix , щоб дозволити вам відправити з зовнішньої сторони, з'єднавши з поштовим клієнтом по протоколу SMTP.
Спочатку скажіть Postfix використовувати Dovecot для перевірки входів. Наступні вказівки здебільшого взяті з вікі Dovecot .
Довекот /etc/dovecot/conf.d/10-master.conf
повинен слухати сокет, до якого може отримати доступ Postfix; конфігурація за замовчуванням вже має прокоментований приклад:
auth {
...
unix_listener / var / spool / postfix / private / auth {
режим = 0660
user = postfix
група = постфікс
}
...
}
І Postfix потрібно використовувати його - /etc/postfix/main.cf
знову ж таки:
# Аутентифікація
smtpd_sasl_type = голубець
smtpd_sasl_path = приватний / авт
# Інший можливий тип - "cyrus", для "saslauthd" Cyrus SASL
# демон. Тут я вибираю Dovecot, оскільки він добре працює як сервер SASL, і
# просто простіше дозволити йому обробляти автентифікацію для обох демонів.
7. Зауважте, що вищезгадане ніде не встановлено smtpd_sasl_auth_enable
. Поточна умова полягає у тому, щоб не включати SMTP auth у всьому світі, а зберігати tcp / 25 чисто як SMTP-порт «сервер-сервер». Тим часом нові повідомлення від користувачів приймаються через SMTP на порталі tcp / 587, "відправлення пошти", який вимагає автентифікації. Деякі провайдери навіть блокують tcp / 25 через спам, але тримають tcp / 587 відкритими, оскільки це, як правило, краще захищено.
Увімкніть порт "Надіслати" /etc/postfix/master.cf
, з авт. SASL. У замовчуванні master.cf
вже є необхідні рядки, які просто потрібно не коментувати, хоча деякі з них все ж залишатимуться поза межами.
подання inet n - - - - smtpd
-o syslog_name = постфікс / подання
-o smtpd_tls_security_level = шифрувати
# Порту "Submission" потрібен TLS, а не робити його необов'язковим
-o smtpd_sasl_auth_enable = так
# ... а також дозволяти користувачам входити в систему.
# -o smtpd_reject_unlisted_recipient = ні
# -o smtpd_client_restrictions = $ mua_client_restrictions
# -o smtpd_helo_restrictions = $ mua_helo_restrictions
# -o smtpd_sender_restrictions = $ mua_sender_restrictions
# Ці чотири варіанти можна залишити коментованими; якщо вони включені, вони б
# чекаю, що ви встановите власні правила обмеження в 'main.cf', але
# за замовчуванням - це просто добре.
-o smtpd_recipient_restrictions = дозвіл_sasl_authentication, відхилити
# За замовчуванням primact_restrictions перевірити IP-адресу та
# $ мідестинація. Для порту "Подання" дозвольте все, наскільки довго
# як користувач увійшов у систему, але відхиляє всю анонімну пошту.
-o milter_macro_daemon_name = ІНФОРМАЦІЯ
# Якщо згодом ви вирішите встановити проксі-сервер DKIM або подібний, це дозволить
# це, щоб відрізняти подані користувачем пошти від отриманих вхідних.
# Це частина конфігурації за замовчуванням, тому включена і сюди.
Якщо у вас є поштовий клієнт, який потребує "неявного SSL" порту старого стилю (tcp / 465), ви можете коментувати smtps
рядки в такому master.cf
випадку, - якщо це зробити, збережіть параметри, подібні до submission
портових.
8. Нарешті налаштуйте псевдоніми свого облікового запису, редагуючи /etc/aliases
. postmaster
Ім'я користувача в основному потрібна; це точка контакту, якщо є проблеми з вашим поштовим сервером. Вказівний root
та інші подібні псевдоніми теж добре.
Основний формат задокументований псевдонімами (5):
postmaster: root
admin: root
root: diti
kra: diti
Використовуйте postalias
або newaliases
оновлюйте хешовану базу даних /etc/aliases.db
щоразу, коли ви редагуєте цей файл.
Тепер у вас є ще один обліковий запис diti
, що стосується Postfix та Dovecot, але пошту, на яку відправляють kra@...
, також пересилають туди. Деякі поштові клієнти (наприклад, Thunderbird) підтримують декілька "посвідчень" або "персон" для одного поштового сервера, тому ви можете вибрати різні адреси "Від:".
Ось про це. Я можу пізніше повернутися з інструкціями щодо procmail, віртуальних доменів, SPF та / або DKIM пізніше.