Я хотел бы избавиться от Google как провайдера электронной почты и установить полное почтовое решение на моем выделенном сервере. Проблема: я бы хотел, чтобы настройка была как можно более простой, чтобы не возникало проблем с настройкой заново при возникновении проблемы.
Предпосылки
- Только одна учетная запись пользователя на машине.
- (name
diti
; main e-mailkra@diti.me
; другие псевдонимы перенаправляются, но почтовый клиент может управлять различными псевдонимами и реагировать соответственно)
- (name
- Предпочтительно не использует MySQL.
- (в случае резервного копирования и восстановления данных, а также для простоты, лучше, если не нужно устанавливать и защищать MySQL, прежде чем получить функциональный почтовый сервер)
- Электронная почта может быть доступна (IMAP и SMTP) извне.
- Шифрование SSL / TLS для аутентификации IMAP и SMTP (я использую сертификаты CAcert , это имеет значение?).
Я считаю, что простота, доступ по протоколу IMAP / SMTP и безопасная аутентификация - это «основные» функции, которые каждый, кто хочет покинуть Google или что-то еще, захочет. Если я ошибаюсь и есть более простое решение (например, решение, похожее на ownCloud, со всем включенным), я был бы рад услышать.
Я думаю, что комбинация Postfix и Dovecot была бы подходящим вариантом. Кстати, я использую Debian.
Информация, которую я нашел до сих пор
- Французская статья описывает очень долго подробно описано , как создать полный, безопасный электронной почты решение. Он длинный, сложный в обслуживании, сложный для резервного копирования и восстановления и т. Д. Кроме того, необходим ли кэш DNS?
- Вики-
Complete_Virtual_Mail_Server/SSL_Certificates
страница Gentoo ( страница) упоминает об использовании сертификатов CAcert, но не совсем ясно (нужны ли все этиSubjectAltName
субдомены?) И не использует Postfix (я читал, что Courier сложнее). - Различные учебные пособия о самостоятельном размещении, все разные, редко описывающие, что они делают и почему (самостоятельное размещение электронной почты с удаленным доступом кажется сложным в настройке, так почему бы просто предоставить список команд без объяснения «чайников»?) ,
Я надеюсь, что я спросил правильные вещи, и что они не слишком глупы.
Ответы:
Нет, настраивать кэш DNS на сервере не требуется. Сервер должен использовать кэширующий преобразователь DNS, который находится где-то поблизости, но большинство хостинговых компаний уже используют свои собственные преобразователи для всего центра обработки данных и настраивают серверы для их использования по умолчанию.
По умолчанию и Postfix, и Dovecot используют локальные учетные записи для всего. Если у вас есть учетная запись Linux
diti
, вы можете войти в нее в Dovecot и настроить Postfix для проверки SMTP-входов в Dovecot .Если вы можете отправлять всю почту на одну и ту же учетную запись, вы можете настроить простые псевдонимы (как, например,
/etc/aliases
) для перенаправления почты для этой учетной записиkra@
илиpostmaster@
дляditi
нее.Все эти subjectAltNames не нужны. Вам нужны только доменные имена, которые вы собираетесь использовать , например,
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
немного беспорядок, поэтому я просто опубликую очищенную минимальную версию:Для Dovecot, Debian просто использует примеры конфигурации по умолчанию, и они достаточно хороши, с каждым описанным параметром.
Всякий раз, когда вы меняете конфигурацию, перезагружайте демонов с помощью
postfix reload
и / илиdoveadm reload
.4. По умолчанию Postfix доставляет почту
/var/mail/$USER
в формат mbox , который достаточно прост (вы можете легко просмотреть его с помощью текстового редактора), но имеет много проблем, особенно с IMAP, поскольку весь файл должен переписываться при каждом перемещении сообщение или даже пометить его как «прочитанный» или «непрочитанный».Измените оба демона, чтобы использовать Maildir. (Существуют и другие форматы, но они, как правило, специфичны для сервера MTA, MDA, IMAP или любого другого; Maildir широко поддерживается.)
В
/etc/postfix/main.cf
, добавьте следующую строку в разделе «Доставка»:Настройте Dovecot для использования того же пути в
/etc/dovecot/conf.d/10-mail.conf
:5. В какой-то момент вы должны указать Dovecot использовать SSL. Соответствующие настройки находятся в
/etc/dovecot/conf.d/10-ssl.conf
. Фактически, пакет Debian для Dovecot уже использует SSL, хотя с самозаверяющим сертификатом, который в основном бесполезен. Настройте его для использования собственного сертификата:6. Теперь вы можете отправлять почту на улицу и получать ее. Это все еще необходимо настроить Postfix , чтобы позволить вам отправить с внешней стороны, соединив с почтовым клиентом по протоколу SMTP.
Сначала скажите Postfix использовать Dovecot для проверки логинов. Следующие инструкции в основном взяты из вики Dovecot .
Dovecot
/etc/dovecot/conf.d/10-master.conf
необходимо прослушивать сокет, к которому Postfix может получить доступ; конфигурация по умолчанию уже имеет закомментированный пример:И Postfix должен использовать это -
/etc/postfix/main.cf
снова:7. Обратите внимание, что выше нигде не установлены
smtpd_sasl_auth_enable
. В настоящее время принято не включать глобальную аутентификацию SMTP, а хранить tcp / 25 исключительно как SMTP-порт «сервер-сервер». Между тем новые сообщения от пользователей принимаются через SMTP по tcp / 587, порту «отправки почты», который требует аутентификации. Некоторые провайдеры даже блокируют tcp / 25 из-за спама, но оставляют tcp / 587 открытым, так как обычно он лучше защищен.Включите порт «Submission»
/etc/postfix/master.cf
, с аутентификацией SASL. По умолчаниюmaster.cf
уже есть необходимые строки, которые просто необходимо оставить без комментариев, хотя некоторые из них все же следует пропустить.Если у вас есть почтовый клиент, для которого требуется порт «неявного SSL» старого стиля (tcp / 465), вы можете раскомментировать
smtps
строки в нихmaster.cf
- если вы это сделаете, сохраните настройки, аналогичные настройкамsubmission
порта.8. Наконец, настройте псевдонимы для своей учетной записи, отредактировав
/etc/aliases
.postmaster
Псевдоним в основном требуется; это точка контакта, если есть проблемы с вашим почтовым сервером. Указаниеroot
и другие подобные псевдонимы тоже хорошо.Базовый формат задокументирован в псевдонимах (5):
Используйте
postalias
илиnewaliases
для обновления хешированной базы данных/etc/aliases.db
каждый раз, когда вы редактируете этот файл.Теперь у вас все еще есть одна учетная запись, которая называется
diti
Postfix и Dovecot, но отправленная почтаkra@...
также пересылается туда. Некоторые почтовые клиенты (например, Thunderbird) поддерживают несколько «идентификаторов» или «персон» для одного почтового сервера, поэтому вы можете выбирать между разными адресами «От:».Вот и все. Я мог бы вернуться с инструкциями для procmail, виртуальных доменов, SPF и / или DKIM позже.
источник
mail.diti.me
(= IP-адрес моего сервера) для IMAP и SMTP, мой домен уже имеет записи MX. Я сделал что-то не так во время установки моего сервера, или у меня просто проблемы с Thunderbird?ps auxw | grep "dovecot"
быть выход ? Я сравнил с одним из сложных настроек одного из моих друзей, и у него есть,dovecot-auth
аimap-login
у меня нет. Возможно ли, что порты действительно открыты (я не помню, чтобы я использовал брандмауэр), но без демона, настроенного на прослушивание этих портов извне, или что-то еще? Когда я запускаюopenssl s_client -connect mail.diti.me:993
на сервере, он работает (и говорит «Dovecot готов.»), Но ничего снаружи. Может быть, я должен попытаться установить брандмауэр и явно разрешить эти порты?dovecot
,dovecot/anvil
,dovecot/log
и другие. Кроме того, некоторые процессы запускаются только при подключении или только при проверке деталей аутентификации.iptables -n -v -L
чтобы проверить, есть ли какие-либо правила для отбрасывания пакетов.