Как установить Postfix на CentOS 6
Centos | Комментировать запись
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: CentOS, Cyrus, Postfix