Если ваша компания имеет свой сайт в интернете с именем our_firm.com, а так же имеет в офисе сервер с постоянным IP-адресом, то можно попросить хостера прописать для вашего доменного имени MX-запись (Mail eXchanger - место, куда отправлять почту для домена), указывающую на IP-адрес вашего офиса и поднять в офисе свой почтовый сервер.
Описываемое здесь решение является одним из самых простых. Но оно будет полезно начинающим администраторам точно так же, как детекторный приёмник полезен начинающим радиолюбителем: Он работает, и на его примере можно понять принцип работы более сложных систем.
Всё описываемое здесь справедливо для операционной системы Gentoo Linux, в других дистрибутивах возможно часть команд будет отличаться. В основе почтового сервера будет MTA (Mail Transfer Agent) exim. Для авторизации будут использоваться системные аккаунты (вообще-то это моветон, однако это самое простое решение). Забирать почту пользователи будут по протоколу POP3. Для этого будет установлен и запущен сервис tpop3d. Для борьбы со спамом удобно использовать хорошо зарекомендовавший себя фильтр spamassassin.
Для начала откроем в редакторе файл /etc/portage/packages.use и укажем USE-флаги для устанавливаемого ПО:
mail-mta/exim -X -dnsdb -domainkeys -dovecot-sasl exiscan exiscan-acl -gnutls -ipv6 -ldap lmtp mailwrapper mbox mbx -mysql -nis pam perl -postgres -radius -sasl -spf -sqlite -srs -ssl syslog tcpd net-mail/tpop3d -debug -ldap -maildir -mysql pam perl -postgres -ssl tcpd mail-filter/spamassassin berkdb doc -ipv6 -ldap mysql -postgres -qmail -sqlite -ssl tools
Далее устанавливаем:
emerge exim tpop3d spamassassin
Сразу после установки мы можем запускать spamassassin, поскольку он с настройками по умолчанию очень даже не плохо работает, а его подробная настройка тянет на отдельную статью:
rc-update add spamd default /etc/init.d/spamd start
Далее настраиваем exim. Тут тоже всё очень просто. Начальный конфиг останется практически без изменений.
Первым делом снимаем комментарий со строки:
# primary_hostname =
и заменяем её на:
primary_hostname = our_firm.com
Далее в список relay_to_domains добавляем наш домен:
domainlist relay_to_domains = our_firm.com
Чтобы работал антиспам нужно снять комментарий (#) со строки:
# spamd_address = 127.0.0.1 783
И со строк:
# warn spam = nobody # add_header = X-Spam_score: $spam_score\n\ # X-Spam_score_int: $spam_score_int\n\ # X-Spam_bar: $spam_bar\n\ # X-Spam_report: $spam_report
в секции acl_check_data.
Далее снимаем комментарий со строки:
# daemon_smtp_ports = 25 : 465 : 587
И оставляем только один порт (25):
daemon_smtp_ports = 25
На этом всё. Теперь запускаем exim:
rc-update add exim default /etc/init.d/exim start
Ну и наконец остаётся настроить tpop3d. Его настройка настолько проста, что в поставке нет даже примера конфигурационного файла, и во время сборки выдаётся сообщение:
* Read the tpop3d.conf manpage * Please create /etc/tpop3d/tpop3d.conf to fit your Configuration
После вдумчивого чтения man-страницы получился вот такой вот файл конфигурации:
mailbox: bsd:/var/mail/$(user) listen-address: 0.0.0.0 max-children: 10 auth-pam-enable: true domain: our_firm.com strip-domain: yes
Первая строка указывает расположение mbox-файлов (почтовых ящиков) пользователей. Вторая - адрес на котором "слушает" сервер (в примере - все адреса). Третья строка ограничивает максимальное количество соединений с POP3-сервером. Установите по своему усмотрению. Четвёртая указывает на использование PAM для авторизации. Пятая - домен фирмы:) и последняя говорит что если при авторизации указывается полное имя ящика, то использовать из него только часть до символа @.
Закончив настройку запускаем tpop3d:
rc-update add tpop3d default /etc/init.d/tpop3d start
На этом установка почтового сервера заканчивается. Чтобы создать новый ящик на сервере - создайте нового пользователя в системе. Для автоматизации процесса можно использовать следующий скрипт:
#!/bin/sh if [[ $1 != "" ]]; then adduser -d /dev/null -s /sbin/nologin -g mail $1 passwd $1 else echo "Usage: $0 username" fi
Вот пожалуй и всё. Надеюсь что эта заметка будет вам полезной.
Alex 2007-12-14 15:07:36 (#)
Пришлось на папку, в которую складывается почта сделать chmod a+w