MyTetra Share
Делитесь знаниями!
Как установить почтовый сервер в Ubuntu или Debian
Время создания: 16.03.2017 11:40
Автор: https://codeby.net/author/webware-team/
Текстовые метки: linux mail server install config
Раздел: Linux
Запись: Velonski/mytetra-database/master/base/1489646458fbxfhemy0h/text.html на raw.githubusercontent.com

Этот урок расскажет как настроить работающий почтовый сервер в Ubuntu или Debian. Как мы знаем, два главных протокола используются в почтовом сервере — это SMTP и POP/IMAP. В этом уроке postfix будет использован для SMTP, в то время как dovecot будет использоваться для POP/IMAP. Они оба с открытым исходным кодом, стабильные и имеют множество настроек.

Пожалуйста, обратите внимание, что вопросы безопасности почтового сервера за сферой данного урока, и они освещены в статье "Как установить Clam Antivirus, SpamAssassin и MailScanner   на почтовом сервере под Ubuntu ".

Предварительные требования

Каждый домен должен иметь запись на DNS сервере. Рекомендуется НЕ использовать живые домены для целей тестирования. В этом уроке тестовый домен example.tst будет использован в лабораторных условиях. DNS сервер для этого гипотетического домена имел бы, по крайней мере, следующие записи.

  • Прямая зона для example.tst:


1

2

                      IN MX 10     mail.example.tst.

mail.example.tst.   IN A     192.168.10.1

  • Обратная зона для example.tst:


1

192.168.10.1          IN PTR mail.example.tst.

Когда настраивается живой почтовый сервер, эти записи могут быть изменены, в соответствии с системными требованиями.

Настройка имени хоста (hostname)

Во-первых, hostname почтового сервера должно быть определено в /etc/hostname и /etc/hosts. Причём в первом файле следует размещать только имя хоста.


1

2

root@mail:~# vim /etc/hostname

mail


1

root@mail:~# vim /etc/hosts


1

2

## IP                 Полностью определённое доменное имя       Имя хоста ##

192.168.10.1          mail.example.tst                          mail

Добавление пользователей

Каждый пользователь Linux, по умолчанию, имеет автоматически созданный почтовый ящик. Эти пользователи и почтовые ящики будут использоваться как почтовые учётные записи и соответствующие им адреса почтовых ящиков. Создание пользователя очень простое.


1

root@mail:~# adduser alex

Установка и настройка SMTP

Профиль службы: postfix

Каталог с конфигурационными файлами

/etc/postfix/

Скрипт

/etc/init.d/postfix

Лог-файл

/var/log/mail.log

Номер порта

TCP/25

SMTP: Установка postfix

postfix  это один из наиболее используемых SMTP серверов, поскольку он стабильный, лёгкий, масштабируемый и высоко настраиваемый. Установка postfix может быть выполнена использованием apt-get.


1

root@mail:~# apt-get install postfix

Во время установки задаются тип почтового сервера и доменное имя.

Так как почтовый сервер будет отправлять письма напрямую к месту назначения, то нужно использовать "Интернет-сайт".

Также задаём доменное имя почтового сервера. Эта настройка определяет, что все письма, приходящие с этого почтового сервера, будут иметь @example.tst в качестве домена отправителя.

Конфигурационные файлы postfix размещены в /etc/postfix. Важны следующие конфигурационные файлы. Некоторые из них могут отсутствовать и их нужно создать вручную.

  • transport: В первую очередь используется для определения, как почта должна быть направлена в направлении конкретного домена назначения. Это тот случай, когда кому-то может быть потребуется отправлять почту, предназначенную для домена XYZ.com, напрямую на IP адрес X.Y.Y.X независимо от каких-либо результатов запросов DNS.
  • access: Может быть использован в целях безопасности, например для блокирования отправителей/получателей и их доменов.
  • aliases: Используется для задания пользовательских псевдонимов. Например, почта отправленная пользователю userA должна быть принята пользователем userB, а также пользователем userC.
  • main.cf: Это конфигурационный файл для postfix.

SMTP: Настройка конфигурационных файлов

Время приготовить конфигурационные файлы. Файлы transport и aliases не поставляются при установке, их нужно создать вручную.


1

2

root@mail:~# cd /etc/postfix

root@mail:/etc/postfix# touch transport aliases

  • main.cf

Сделайте резервную копию main.cf а затем модифицируйте. Следующие строки добавлены/изменены в конфигурационном файле. Для дальнейших подробностей о параметрах обратитесь к официальному README  и документу по настройки .


1

root@mail:/etc/postfix# vim main.cf


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

## имя сервера ##

myhostname = mail.example.tst

 

## определение псевдонимов ##

alias_maps = hash:/etc/postfix/aliases

alias_database = hash:/etc/postfix/aliases

 

## определение transport ##

transport_maps = hash:/etc/postfix/transport

 

## myorigin задаёт доменное имя для писем, берущих начало с этого сервера. В нашем случае, все исходящие письма должны иметь '@example.tst' в качестве домена отправителя ##

myorigin = example.tst

 

## mydestination параметр определяет, какие домены эта машина будет доставлять локально вместо того, чтобы переправлять на другую машину. ##

mydestination = mail.example.tst, localhost.example.tst, localhost, hash:/etc/postfix/transport

 

## адрес smarthost. В этом уроке не используется, о нём будет расказанов в будущей инструкции ##

relayhost =

 

## доверенные сети отправителя. postfix не будет пересылать письма, приходящие из других сетей ##

mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 192.168.10.0/24

 

## размер почтового ящика в байтах. 0 означает без ограничений ##

mailbox_size_limit = 0

 

## postfix будет прослушивать все доступные интерфейсы, например, eth0, eth1, eth2 и так далее ##

inet_interfaces = all

  • transport

Письмам, предназначенным для домена example.tst, определено быть доставлено локально без каких-либо DNS запросов.


1

root@mail:/etc/postfix# vim transport


1

2

example.tst local:

.example.tst local:


1

root@mail:/etc/postfix# postmap transport

  • aliases

Предполагаем, что все письма, отправленные пользователю userA, должны быть доставлены также пользователю userB, для этого файл aliases изменён как показано ниже:


1

root@mail:/etc/postfix# vim aliases


1

userA: userA, userB


1

root@mail:/etc/postfix# postalias aliases


|   Хочу получать новые статьи на e-mail    |


Обратите внимание: Синтекс 'userA: userB' определяет, что почта должна быть направлена только пользователю userB. Пользователь userA не будет получать копию письма.

SMTP: Запуск и обслуживание

postfix может быть запущен командой.


1

root@mail:~# service postfix restart

Лог-файл в /var/log/mail.log должен предоставить полезную информацию, если что-то пойдёт не так. Прослушивает ли почтовый сервер TCP порт 25 можно также проверить используя netstat.


1

root@mail:~# netstat -nat


1

tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN

Как видно из вывода, сервер прослушивает TCP порт 25 для входящих запросов соединений.

Установка и настройка POP/IMAP

Профиль службы: dovecot

Директория конфигурационных файлов

/etc/dovecot

Скрипт

/etc/init.d/dovecot

Файл журнала

/var/log/mail.log

Номер порта

TCP: 110 (POP3), 143 (IMAP), 993 (IMAPS), 995 (POP3S)
 

POP/IMAP: Установка dovecot

dovecot  — это, без сомнений, лидирующее IMAP и POP серверное программное обеспечения в сообществе опен сорс. Очень просто установить и настроить dovecot. Для установки dovecot мы опять будем использовать apt-get.


1

root@mail:~# apt-get install dovecot-common dovecot-pop3d dovecot-imapd

Прямо из коробки dovecot может поддерживать POP3 и IMAP (обычный текст), а также зашифрованный POP3S и IMAPS (безопасный).По умолчанию dovecot создаёт и использует самоподписанный сертификат для SSL шифрования. Сертификаты могут быть созданы вручную или ипортированы позже, в зависимости от требований. В этом уроке будет использован сапомодписанный сертификат, сгенерированный dovecot.

На последних версиях больше не создаёт. Сертификаты нужно создавать вручную и вручную подключать их. Как это сделать, описанов этой инструкции .

POP/IMAP: Подготовка конфигурационных файлов

Следующие параметры изменяются как нужно.


1

root@mail:~# vim /etc/dovecot/conf.d/10-mail.conf


1

2

3

4

5

## расположение почтовых ящиков, заданных в формате 'mbox' ##

mail_location = mbox:~/mail:INBOX=/var/mail/%u

 

## dovecot даны необходимые разрешения на чтение/запись пользовательских почтовых ящиков ##

mail_privileged_group = mail

Этого должно быть достаточно для запуска службы POP/IMAP в почтовом сервере.

POP/IMAP: Установка службы

Сейчас, когда dovecot установлен и настроен, он может быть запущен, используя следующую команду.


1

root@mail:~# service dovecot restart

Вновь лог-файл (/var/log/mail.log) может предоставить важные зацепки, если что-то пойдёт не так. Узнать, запущен ли dovecot, можно при использовании netstat следующим образом.


1

root@mail:/etc/dovecot/conf.d# netstat -nat


1

2

tcp 0 0 0 0.0.0.0:110 0.0.0.0:* LISTEN

tcp 0 0 0 0.0.0.0:143 0.0.0.0:* LISTEN

Использование почтового сервера с пользовательской почтовой программой

Почтовый сервер теперь готов к использованию. Почтовая учётная запись может быть настроена с использованием вашего любимого почтового клиента на настольном компьютере, ноутбуке, планшете или телефоне. Можно настроить и webmail (почту с веб-интерфейсом) на сервере, но инструкция по webmail будет в следующих уроках. На данном этапе, почтовая программа Mozilla Thunderbird определила следующие настройки для моего сервера:

Крайне рекомендуется перейти и продолжить по этой инструкции  для включения SSL шифрования.

Решение проблем с почтовым сервером

  • Лучший ваш друг — это лог-файл /var/log/mail.log. Любые зацепки, почему почта не работает, могут быть найдены здесь.
  • Убедитесь, что файервол должным образом настроен.
  • Убедитесь, что DNS сервер имеет должные записи.

Подытоживая, демонстрация в этом уроке, как уже было упомянуто, проходила в лабораторных условиях. Может быть развёрнут тестовый DNS сервер со всеми необходимыми записями, и пользователи будут между собой обмениваться письмами на одном и том же сервере, например, том же домене. Чтобы сделать ещё интереснее, можно развернуть множество почтовых серверов с различными доменами, для проверки работы связи между доменами, для этого должны присутствовать необходимые DNS записи.

Валидные DNS записи необходимы для живых почтовых серверов. Можно сделать тюнинг настроек postfix и dovecot в соответствии с потребностями.

Внимание: Для тех, кто хочет развернуть живой почтовый сервер, или любой почтовый сервер, который имеет доступ в Интернет, убедитесь, что ваш SMTP обезопасен. Обычно атаки на SMTP происходят из Интернета, так и от зловредных программ внутри локальной сети.

Надеюсь это поможет.

Эти программы нельзя установить на виртуальный хостинг . Полностью автономный почтовый сервер можно сделать только на виртуальном частном (выделенном) сервере, т. е. На VDS (VPS). Самые дешёвые облачные VDS (VPS) сервера! За 180 рублей/мес  — эта статья, как следует из заголовка, расскажет вам о качественном и при этом самом дешёвом варианте виртуального частного сервера, которые при этом ещё и используют облачные технологии.

Вообще, тема почты очень близка авторам codeby.net , мы уже рассматривали в разное время вопросы создания почты на своих собственных доменах (это позволяет выбрать короткие и красивые имена для почтовых ящиков), как «прикрутить» свой домен к mail.ru да и вообще к любому популярному почтовому ящику, как создать свою автономную почту на хостинге  и т. д. Всё это и многое другое вы сможете найти по тегу своя почта .

Так же в этом разделе:
 
MyTetra Share v.0.65
Яндекс индекс цитирования