Установка Postfix на Debian представляет из себя достаточно простой процесс, упирающийся всего в пару команд и изменение одного основного конфигурационного файла. Уже в минимальной конфигурации Postfix может выполнять свою основную задачу – рассылать и принимать почту по протоколу SMTP. Тем не менее, обслуживать подключения по протоколам POP или IMAP он не сможет, это уже задача других компонентов, а именно агентов доступа к почтовым данным (MAA – Mail Access Agent).
Стоит отметить, что Postfix – это не совсем полноценный почтовый сервер. Если рассматривать более детально, то он скорее является его небольшой (но очень важной) частью. Полноценным почтовым сервером можно назвать например Courier Mail Server или Microsoft Exchange Server.
Несмотря на это различие, на большинстве ресурсов все же объединяют практически любое программное обеспечение, имеющее прямое или косвенное отношение к электронной почте, под один тип – почтовые серверы.
Найти больше информации о Postfix вы можете в основной статье по его настройке – Настройка Postfix.
Содержание
Установка Postfix на Debian
Устанавливаем Postfix:
1 |
apt-get install postfix |
Процесс установки очень простой, во время него вам всего лишь придется ответить на пару вопросов.
В первом случае нужно указать общий тип почтовой настройки. Если вы изначально знаете для каких целей будет использоваться ваш почтовый сервер, на вопрос вы сможете ответить точно. Если же конечная конфигурация сервера пока неизвестна, оставьте значение по умолчанию или выберите Без настройки. В любом случае в последующем вы сможете подогнать все под себя.
Второй раз диалоговое окно запросит fqdn-имя. Забегая вперед скажу, что тут лучше всего будет указать имя, на которое ссылается MX-запись вашего домена (пример: для записи mail.bissquit.com лучше всего указать имя сервера – mail). План минимум – не указывать вообще ничего, оставить предложенное имя по умолчанию (оно будет совпадать с именем системы). Для особенно бдительных и недоверчивых читателей: нет, серьезно, вы можете оставить все как есть, ведь в основном конфигурационном файле Postfix мы все равно будем вписывать необходимое нам имя, то есть шаг с указанием имени при установке Postfix для нас в принципе лишний.
Дожидаемся окончания выполнения всех задач по установке и плавно переходим к небольшой начальной настройке нашего MTA.
Начальная настройка Postfix
Итак, чтобы Postfix мог отправлять и принимать почту, необходимо задать несколько настроек и в итоге мы получим минимально работающую конфигурацию агента пересылки. В интернете есть множество мануалов по настройке, прочтя которые, пропадает любое желание возиться с MTA. На деле же для получения работающего агента нужно произвести минимум изменений, большинство настроек определены оптимальным образом по умолчанию, при этом сделан неплохой упор на безопасность, чем, собственно, и славится Postfix.
/etc/postfix/main.cf
Для начала сделаем бэкап оригинального конфигурационного файла (в данном случае и когда бы то ни было рекомендую начинать править конфиги всегда с создания их бэкапа):
1 |
cp /etc/postfix/main.cf{,.orig} |
Открываем конфиг:
1 |
nano /etc/postfix/main.cf |
Как я и говорил выше, мы можем определить имя обслуживаемого почтовым сервером домена прямо в конфиге Postfix, управляя параметрами myhostname и mydomain.
Зададим значение параметра myhostname:
1 |
myhostname = mail.mydomain.com |
Зная myhostname, Postfix может получить значение параметра mydomain, просто отбросив все до первой точки. В моем случае останется просто mydomain.com. Postfix будет считать, что именно этот домен он обслуживает.
Если же обслуживаемый домен вы хотите определить самостоятельно, задайте параметр mydomain:
1 |
mydomain = mydomain.com |
Зная mydomain, Postfix может получить myhostname, просто объединив mydomain и имя хоста. Ничего страшного, если у вас будут заданы оба параметра.
Теперь пришло время определить для каких доменов почта будет доставляться локальным получателям, а не пересылаться на третью сторону. Это как раз те домены (в моем примере всего один), которые будет обслуживать наш MTA. Это можно сделать с помощью параметра mydestination.
1 |
mydestination = $myhostname, $mydomain |
$myhostname, $mydomain – переменные, значения которых мы определили ранее.
Следующий параметр – myorigin – отвечает за добавление к адресам отправителей/получателей имени домена. Думаю разумнее будет присвоить ему значение $mydomain.
1 |
myorigin = $mydomain |
На этом основная настройка завершена, можно закрывать файл, сохранив изменения. На всякий случай проверим наличие необходимых адресов в параметре mydestination командой:
1 |
postconf mydestination |
С настройкой /etc/postfix/main.cf мы закончили, идем дальше.
/etc/aliases
С доставкой почты пользователю root возникнут проблемы, а потому нужно заранее перенаправить всю входящую для него почту на другую учетную запись. В моем случае это будет пользователь mailserveradmin, под которым я и выполняю все действия.
Для этого открываем файл:
1 |
nano /etc/aliases |
Добавим строчку
1 |
root: mailserveradmin |
Кстати, у меня в системе по умолчанию эта запись уже присутствовала, а полное содержимое файла выглядело следующим образом:
Как можно заметить, в каталоге /etc/ находятся два файла с именем aliases:
1 |
ls -l /etc/ | grep aliases |
Первый – это собственно сам файл алиасов, второй – его индексированная копия, к которой обращается Postfix. То есть пока мы не пересоздадим эту индексированную копию, изменений Postfix не заметит.
Для этого выполним команду:
1 |
postalias hash:/etc/aliases |
Для обновления конфигурации Postfix без необходимости перезапуска демона введите команду:
1 |
postfix reload |
На этом начальная настройка агента пересылки почты Postfix завершена. Уже в этой конфигурации он может отправлять почту любым внешним и локальным получателям, разумеется если у вас правильно созданы все необходимые публичные DNS-записи и они успели распространиться (обычно на это нужно от пары десятков минут, до нескольких часов или даже суток, но это очень редкий случай).
Конечно в этой статье я не затрагивал защиту от спама, а также множество других настроек, но Postfix уже по умолчанию как минимум не разрешает открытую пересылку и это уже хорошо. Если вы все же захотите попробовать, то получите ошибку 454 4.7.1: Relay access denied.
Заняться более сложными вещами я планирую в следующих статьях.
Вывод
В минимальной конфигурации Postfix может отправлять и получать почту по протоколу SMTP, использует локальные учетные записи системы для хранения сообщений. Базовая настройка, которую обязательно нужно выполнить, подразумевает определение основного доменного имени почтового сервера, которое в последующем используется во многих конфигурационных параметрах MTA как основа.
Базовая конфигурация Postfix не может считаться полноценным почтовым сервером, ведь отсутствует множество других важных компонентов. Тем не менее, задачи локальной отправки/приема почты по SMTP этот MTA выполняет на отлично.