Полноценный виртуальный почтовый сервер/Настройка системы и пакеты
Развертывание системы
Поскольку мульти-системы (комплекс взаимосвязанных программ, которые могут быть разнесены на несколько машин) больше не являются экзотикой и есть множество способов такой реализации, хотя также можно держать вообще всё в одной «коробке».
Дополнительные пакеты
Поскольку веб-сервер (Apache рекомендуется) требуется для таких вещей, как веб почта и postfixadmin, то хотя бы один из них должен быть установлен. Инструкции по установке Apache и PHP можно найти на вики.
Для нетерпеливых, установка Apache с PHP - это так же просто, как настройка соответствующих USE-флагов и инсталляция пакета dev-lang/php, который подтянет www-servers/apache.
Как минимум следующие USE-флаги должны быть установлены:
dev-lang/php apache2 imap postgres mysql
Если нужна ясность, установите один требуемый USE-флаг для базы данных.
Далее просто установите dev-lang/php:
root #
emerge --ask dev-lang/php
Необходимые пакеты
В отличии от упомянутых выше apache/php, установка следующих пакетов обязательна. Конечно, если стоит выбор между разными пакетами, то устанавливать следует нужные. Например, не устанавливайте и mysql, и postgres (если, конечно, они оба не используются для разных целей). Некоторые пакеты могут быть затянуты как зависимости других пакетов из-за установленных USE-флагов.
Также, если пакеты были обновлены и опции изменены, пожалуйста, обновите этот документ в требующих этого разделах.
Ниже представлены все пакеты, установленные и настроенные в этом документе.
На веб сервер необходимо установить следующие пакеты:
На почтовый необходимо установить эти пакеты:
- dev-db/postgresql или dev-db/mysql
- net-mail/courier-imap
- net-libs/courier-authlib
- dev-libs/cyrus-sasl
- mail-filter/amavisd-new
- mail-filter/spamassassin
- app-antivirus/clamav
- mail-mta/postfix
- mail-filter/gld
Предварительные требования
В этом пункте большинство пользователей просто ожидают получить хороший материал. До того, как закопаться в него, настоятельно рекомендуется ознакомится со следующим:
- ПРОЧИТАЙТЕ ЭТОТ ДОКУМЕНТ. Он объемный и дает множество поводов «съехать с рельс». Выделите время для ознакомления со всеми шагами и поймите роль каждого пакета, и восстановление после ошибок будет куда проще.
- Не все пакеты, требуемые для работы базового почтового сервера, включены в этот HOWTO. Авторизация SMTP, средства управления веб, фильтрация спама, и т. д., не являются предметами первой необходимости для почтовых сервисов, но будут хорошим дополнением. Читая это, во-первых, следует определится, какие из этих средств требуются, а какие нет.
- Как и все HOWTO, это предполагает, что все в системе появляется в результате необходимости, и это все работает правильно на каждом шаге. В действительности, такое предположение ошибочно, и в который раз веб утверждает бесценный ресурс в разрешение любой, могущей случится, проблемы.
- Ключ для проверки всего этого имеет как минимум один домен (для тестирования виртуальных доменов лучше подойдут два) с соответствующей установкой MX записей. Он имеет множество параметров DNS, поэтому пара доменов и поддержка сервисов DNS не должна стоить больше $10 в год. Сейчас не время гнаться за дешевизной. Вложите деньги и сделайте жизнь гораздо проще.
- Обратите особое внимание на сообщения после установки любых пакетов. В зависимости от состояния машины до начала установки, она может привести к необходимости обновления некоторых конфигурационных файлов. Для разрешения этого используйте dispatch-conf или etc-update. В этом HOWTO нет инструкций, раскрывающих этот зависящий от системы момент.
- Будьте уверены в актуальности системы. Для начала выполните и
root #
emerge --sync
. Ряд проблем могут возникать в связи с отсутствием поддержки новых средств у старых приложений.root #
emerge -uDNva @world
Наконец, что бы избежать множество переделок, проверьте переменные USE-флаги в файле /etc/portage/make.conf перед тем, как начать что-то компилировать. Если установлены неправильные флаги, это, скорее всего, означает необходимость в пересборке для гарантии того, что все переменные будут поддерживаться.
USE-флаг | Описание |
---|---|
authdaemond
|
Нужен для courier-imap. |
bzip2
|
Требуется для вирусного сканера. |
clamdtop
|
Инструмент ClamAV наподобие 'top'. Если почтовый сервер сильно загружен запущенным clamav, clamdtop поможет отладить его. |
crypt
|
Функции шифрования для PHP. Используются для паролей в веб-интерфейсе. |
geoip
|
Нахождение месторасположения по IP-адресу, что необходимо для spamassasin и т.д. |
imap
|
Один из главных интерфейсов, предложенный в этом HOWTO для доступа клиентов к электронной почте. |
ipv6
|
Если в системе имеется связь по IPv6, то включите эту опцию. Хорошо протестировано и отменно работает в Postfix, Courier и Apache. |
maildir
|
Выбор формата maildir, поддерживаемый Postfix (одна из причин выбрать Postfix). |
mbox
|
Ни в коем случае не используйте mbox. |
mysql
|
Если поддержка mysql желательна, включите эту опцию. |
postgres
|
Если поддержка postgres желательна, включите эту опцию. |
sasl
|
Простой уровень аутентификации и безопасности. Настоятельно рекомендуется. |
spamassassin
|
Рекомендуется, если требуется фильтрация спама. |
spell
|
Проверка орфографии для PHP. Используется в webmail. |
ssl
|
SSL соединения. Настоятельно рекомендуется. |
urandom
|
Используется в cyrus-sasl. Настоятельно рекомендуется. |
vda
|
Поддержка квот для postfix. Обеспечивает поддержку квот для виртуального агента доставки. Не поддерживается в Postfix 3.0, который сейчас имеет статус стабильного в portage. |
vhosts
|
Поддержка виртуальных хостов. Настоятельно рекомендуется. |
С корректным набором USE-флагов, простая установка mail-mta/postfix затянет большинство, если не все, нужные пакеты.
root #
emerge --ask postfix