Опубликован: 21.11.2006 | Уровень: специалист | Доступ: платный
Лекция 11:

Установка и конфигурирование sendmail

Аннотация: В данной лекции: показаны установка и конфигурирование sendmail, приведены примеры конфигурирования sendmail.

В этой лекции

  • Установка sendmail
  • Конфигурирование sendmail
  • Примеры конфигурирования sendmail

В предыдущей лекции были детально рассмотрены программа sendmail и ее файл конфигурации. В этой лекции даются рекомендации, где получить и как установить программу sendmail на своем сервере. Рассматривается также макропроцессор GNU m4, который используется в программе sendmail для упрощения создания файла конфигурации. Попросту говоря, функции, включаемые администратором почтовой системы в файл конфигурации, реализуются в простых файлах макросов. Затем эти файлы макросов обрабатываются макропроцессором, и создается полноценный файл конфигурации.

Установка sendmail

За многие годы существования программы sendmail было разработано много ее различных версий. В настоящее время широко используется версия 8.9.3 (последняя версия 8.10.2 — Прим. пер.). Так как в программе sendmail появляются все новые и новые дополнения или исправления ошибок, целесообразно устанавливать самую последнюю версию sendmail. Версия sendmail 8.9.3 была разработана в основном для защиты от TCP-атак типа "отказ в обслуживании" (Denial of Service), против которых была беззащитна программа sendmail. После уточнения всех параметров файла конфигурации можно обновлять бинарные программы без его воссоздания. В этом разделе описывается установка программы sendmail из бинарных программных пакетов, входящих в поставку большинства версий ОС Linux, или из исходных кодов sendmail, полученных с Web-сервера sendmail, путем их компиляции.

Бинарные программные пакеты

Большинство версий ОС Linux поставляется с бинарными пакетами sendmail. В этих программных пакетах содержится скомпилированная программа sendmail и базовые файлы конфигурации, которые необходимы для работы sendmail с конкретной версией ОС Linux. К сожалению, последние версии sendmail в большинство версий ОС Linux не входят. Хотя, как правило, более старые версии sendmail лучше работают с небольшими почтовыми серверами. Если требуется подключение почтового сервера на базе ОС Linux в сеть Internet, то желательно получить новую версию sendmail. Это можно сделать на Web-сайте http://www.sendmail.org. Если же имеющаяся у вас ОС Linux поставляется с последней версией sendmail — прекрасно! Берите и пользуйтесь! Если нет, то можно получить последнюю версию, следуя инструкциям, приведенным ниже.

В большинстве версий ОС Linux, в которых используется механизм установки бинарных программных пакетов RPM (RedHat, Mandrake и Caldera), программный пакет sendmail разбит на три отдельных пакета. Так, в Mandrake Linux 6.0 используются sendmail-8.9.3-9mdk.i586.rpm, sendmail-cf-8.9.3-9mdk.i586.rpm и sendmail-doc-8.9.3-9mdk.i586.rpm. Эти файлы составляют программный пакет sendmail версии 8.9.3. Для просмотра файлов, содержащихся в каждом дистрибутивном пакете можно использовать утилиту RPM. На рис. 11.1 показан внешний вид утилиты kpackage для графической оболочки X Window, в которой отображается информация о пакете sendmail-8.9.3-9mdk.i586.rpm.

Окно утилиты kpackage c файлом sendmail-8.9.3-9mdk.i586.rpm

Рис. 11.1. Окно утилиты kpackage c файлом sendmail-8.9.3-9mdk.i586.rpm

В листинге 11.1 представлены файлы, которые входят в состав пакета sendmail-8.9.3-9mdk.i586.rpm. В этом RPM-пакете содержатся основные бинарные файлы, сконфигурированные для работы в ОС Mandrake Linux.

1 /etc/aliases
2 /etc/aliases.db
3 /etc/mail
4 /etc/mail/deny
5 /etc/mail/deny.db
6 /etc/mail/ip_allow
7 /etc/mail/name_allow
8 /etc/mail/relay_allow
9 /etc/rc.d/init.d/sendmail
10 /etc/rc.d/rc0.d/K30sendmail
11 /etc/rc.d/rc1.d/K30sendmail
12 /etc/rc.d/rc2.d/S80sendmail
13 /etc/rc.d/rc3.d/S80sendmail
14 /etc/rc.d/rc4.d/S80sendmail
15 /etc/rc.d/rc5.d/S80sendmail
16 /etc/rc.d/rc6.d/K30sendmail
17 /etc/sendmail.cf
18 /etc/sendniail.cw
19 /etc/smrsh
20 /etc/sysconfig/sendmail
21 /usr/bin/hoststat
22 /usr/bin/mailq
23 /usr/bin/makemap
24 /usr/bin/newaliases
25 /usr/bin/purgestat
26 /usr/bin/rmail
27 /usr/lib/sendmail
28 /usr/lib/sendmail.hf
29 /usr/man/man1/mailq.1.bz2
30 /usr/man/man1/newaliases.1.bz2
31 /usr/man/man5/aliases.5.bz2
32 /usr/man/man8/mailstats.8.bz2
33 /usr/man/man8/makemap.8.bz2
34 /usr/man/man8/praliases.8.bz2
35 /usr/man/man8/rmail.8.bz2
36 /usr/man/man8/sendmail.8.bz2
37 /usr/sbin/mailstats
38 /usr/sbin/makemap
39 /usr/sbin/praliases
40 /usr/sbin/sendmail
41 /usr/sbin/smrsh
42 /var/log/sendmail.st
43 /var/spool/mqueue
Листинг 11.1. Файлы из пакета sendmail-8.9.3-9mdk.i586.rpm

В строках 21–26 листинга 11.1 указывается, что выполняемые модули sendmail находятся в Mandrake Linux в каталоге /usr/bin. Сама же программа sendmail находится в каталоге /usr/sbin. Строки 9–16 отображают сценарии sendmail, которые применяются для автоматического запуска и останова sendmail на различных уровнях init. В строках 29–36 вы видите файлы, в которых хранятся справочные сведения о работе sendmail. В строке 43 для хранения почтовых сообщений, ожидающих доставки, создается каталог /var/spool/mqueue. Как видите, в этот пакет включены все файлы, необходимые для конфигурирования, поддержки работоспособности и справки о sendmail.

Для установки RPM-пакета sendmail можно использовать специальную программу инсталляции kpackage в сеансе X Window. Также можно использовать обычную утилиту rpm из командной строки. Для этого следует выполнить (с правами пользователя root ):

rpm -Uvh sendmail-8.9.3-9mdk.i586.rpm.

Второй файл дистрибутива — sendmail-cf-8.9.3-9mdk.i586.rpm — включает в себя файлы, необходимые для реконструкции файла конфигурации с помощью макропроцессора GNU m4 (см. раздел "Конфигурирование sendmail"). После его установки необходимые файлы конфигурации sendmail помещаются в каталог /usr/lib/sendmail-cf. Этот пакет можно также установить, с помощью команды rpm -Uvh, как показано выше.

И, наконец, третий файл — это sendmail-doc-8.9.3-9mdk.i586.rpm, который включает в себя всю документацию на программный продукт sendmail. Все файлы с документацией о sendmail помещаются в каталог /usr/doc/sendmail. Туда входят документы "Руководство по установке и работе с sendmail" и "Введение в sendmail" в формате PostScript. Все эти файлы также можно установить с помощью команды rpm -Uvh, как показано выше.

Valentin Diduk
Valentin Diduk
Украина, одесса, кпи, 2010
Евгений Олабин
Евгений Олабин
Беларусь, Гродно