Как установить Postfix на CentOS 6

Postfix – это свободное и открытое программное обеспечение, агент пересылки почты, занимающийся маршрутизацией и доставкой электронной почты. Cyrus – это сервер, помогающий организовать электронную почту.

1. Установка Postfix и Cyrus

Сначала необходимо установить Postfix и Cyrus на виртуальный выделенный сервер. Проще всего сделать это с помощью инсталлятора yum.

sudo yum install postfix
sudo yum install cyrus-sasl
sudo yum install cyrus-imapd


Подтвердите все запросы. Как только все компоненты загрузятся, Postfix и Cyrus установятся на сервер.

2. Конфигурирование Postfix

Обе программы требуют отдельной настройки.

Сначала откройте главный конфигурационный файл Postfix.

sudo vi /etc/postfix/main.cf

Конфигурационный файл Postfix очень удобен, он предоставляет основную подробную информацию, которая может понабиться при установке и запуске программы на VPS. К сожалению, обилие информации делает файл очень длинным.

Приведенный ниже в качестве примера код является сокращенной и правильно раскомментированной версией того, что уж внесено в файл. Данный код предоставит все конфигурации, необходимые для настройки Postfix; скопируйте и вставьте приведенную ниже информацию над текущей конфигурацией Postfix. Убедитесь, что доменные имена myhostname и mydomain заменены действующими именами.

Замените example.com в строке myhostname доменным именем, подтвержденным DNS. Убедитесь, что фраза mail.yourdomainnamehere не была изменена.

Замените example.com в строке mydomain правильным доменным именем.

soft_bounce             = no
queue_directory         = /var/spool/postfix
command_directory       = /usr/sbin
daemon_directory        = /usr/libexec/postfix
mail_owner              = postfix
# The default_privs parameter specifies the default rights used by
# the local delivery agent for delivery to external file or command.
# These rights are used in the absence of a recipient user context.
# DO NOT SPECIFY A PRIVILEGED USER OR THE POSTFIX OWNER.
#
#default_privs = nobody
myhostname              = mail.example.com
mydomain                = example.com
mydestination           = $myhostname, localhost
unknown_local_recipient_reject_code = 550
mynetworks_style        = host
mailbox_transport       = lmtp:unix:/var/lib/imap/socket/lmtp
local_destination_recipient_limit       = 300
local_destination_concurrency_limit     = 5
recipient_delimiter=+
virtual_alias_maps      = hash:/etc/postfix/virtual
header_checks           = regexp:/etc/postfix/header_checks
mime_header_checks      = pcre:/etc/postfix/body_checks
smtpd_banner            = $myhostname
debug_peer_level        = 2
debugger_command =
PATH=/bin:/usr/bin:/usr/bin:/usr/X11R6/bin
xxgdb $daemon_directory/$process_name $process_id & sleep 5
sendmail_path           = /usr/sbin/sendmail.postfix
newaliases_path         = /usr/bin/newaliases.postfix
mailq_path              = /usr/bin/mailq.postfix
setgid_group            = postdrop
html_directory          = no
manpage_directory       = /usr/share/man
sample_directory        = /usr/share/doc/postfix-2.3.3/samples
readme_directory        = /usr/share/doc/postfix-2.3.3/README_FILES
smtpd_sasl_auth_enable          = yes
smtpd_sasl_application_name     = smtpd
smtpd_recipient_restrictions    = permit_sasl_authenticated,
permit_mynetworks,
reject_unauth_destination,
reject_invalid_hostname,
reject_non_fqdn_hostname,
reject_non_fqdn_sender,
reject_non_fqdn_recipient,
reject_unknown_sender_domain,
reject_unknown_recipient_domain,
reject_unauth_pipelining,
reject_rbl_client zen.spamhaus.org,
reject_rbl_client bl.spamcop.net,
reject_rbl_client dnsbl.njabl.org,
reject_rbl_client dnsbl.sorbs.net,
permit
smtpd_sasl_security_options     = noanonymous
smtpd_sasl_local_domain         =
broken_sasl_auth_clients        = yes
smtpd_helo_required             = yes

3. Завершение установки Postfix

После того, как все необходимые конфигурации были внесены, настройка postfix почти завершена.

Для предотвращения ошибок необходимо выполнить следующих 2 действия.

В строке virtual_alias_maps = hash:/etc/postfix/virtual в конфигурационный файл были внесены виртуальные псевдонимы; теперь нужно создать эту базу данных.

Откройте файл

sudo vi /etc/postfix/virtual

Удалите из файла весь текст, затем только внесите следующую строку, заменяя user настоящим именем пользователя, а example.com – правильным доменом:

user@example.com   user\@example.com

Затем нужно сохранить и выйти.

Далее введите в терминал:

postmap /etc/postfix/virtual

Это вернет виртуальный файл в таблицу поиска, создавая базу данных, необходимую для работы postfix.

В завершение используйте команду, которая создаст новый файл, необходимый postfix перед отправкой.

touch /etc/postfix/body_checks

После того как все вышеописанные действия были исполнены, нужно отконфигурировать Cyrus.

4. Конфигурирование Cyrus

Для начала нужно добавить файл smtpd.conf, который определяет проверку подлинности для Postfix/SASL, в каталог SASL:

sudo vi /etc/sasl2/smtpd.conf

Далее скопируйте и вставьте в него следующий текст:

pwcheck_method: auxprop
auxprop_plugin: sasldb
mech_list: PLAIN LOGIN CRAM-MD5 DIGEST-MD5

Сохранитесь и выйдите.

Затем нужно сконфигурировать файл Cyrus:

sudo vi /etc/imapd.conf

Удалите из файла все текущие данные и вставьте приведенные ниже конфигурации, заменяя имя домена по умолчанию настоящим доменным именем:

virtdomains:           userid
defaultdomain:         example.com
servername:            example.com
configdirectory:       /var/lib/imap
partition-default:     /var/spool/imap
admins:                cyrus
sievedir:              /var/lib/imap/sieve
sendmail:              /usr/sbin/sendmail.postfix
hashimapspool:         true
allowanonymouslogin:   no
allowplaintext:        yes
sasl_pwcheck_method:   auxprop
sasl_mech_list:        CRAM-MD5 DIGEST-MD5 PLAIN
tls_cert_file:         /etc/pki/cyrus-imapd/cyrus-imapd.pem
tls_key_file:          /etc/pki/cyrus-imapd/cyrus-imapd.pem
tls_ca_file:           /etc/pki/tls/certs/ca-bundle.crt
autocreatequota:               -1
createonpost:                  yes
autocreateinboxfolders:               spam
autosubscribeinboxfolders:     spam

Затем нужно сохраниться и выйти.

5.  Установка почтового клиента

Поздравляем! Postfix и Cyrus успешно установлены на VPS. Тем не менее, обе эти программы занимаются обработкой электронной почты, а не ее отправкой. Средство отправки сообщений можно быстро установить с помощью командной строки.

Есть множество клиентов, которые можно использовать; для примера подключимся с помощью MailX

yum install mailx

Получив подтверждение запроса, mailx  закончит установку.

Чтоб отправить сообщение, введите в терминал следующую команду, заменяя mail почтовым адресом адресата.

mail user@example.org

Терминал запросит предметную строку. Введя тему, нажмите клавишу ввода. В следующие строки введите сообщение. Оно будет отправлено только после нажатия клавиши Enter и точки.

Сообщение выглядит примерно так:

[root@demoserver ~]# mail user@example.org
Subject: Hello
This is a test message.
Regards,
.
EOT

Поздравляем! Теперь на сервере установлен postfix и запущена электронная почта. Сервер полностью готов к отправке электронных сообщений.

Tags: , ,

Добавить комментарий