The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Каталог документации / Раздел "Документация для Linux" / Оглавление документа

Courier-0.47

Введение в Courier

Пакет Courier содержит Mail Transport Agent (MTA). Он полезен для отправки почты другим пользователям на вашей машине. Так же он может быть настроен в качестве центрального сервера почты вашего домена или в качестве агента перенаправления почты. Пакет Courier так же включает web-основанный интерфейс почты, IMAP, IMAP-SSL, POP3 и POP3-SSL.

Информация о пакете

Установка Courier

[Замечание]

Замечание

Тарбол Courier должен быть распакован с правами обычного пользователя, иначе скрипт configure выпадет с ошибкой.

Перед началом сборки программы вам надо создать пользователя и группу courier, которые должны присутствовать в системе перед запуском скрипта install. Как пользователь root, добавим пользователя и группу courier при помощи следующих команд:

groupadd courier &&
useradd -c 'Courier Mail Server' -d /dev/null \
        -g courier -s /bin/false courier

Скрипт install так же ожидает наличия пользователя bin. Если у вас уже есть пользователь с именем bin, то этот шаг может быть пропущен.

useradd -c 'bin' -d /dev/null -g bin -u 1 bin

Courierfilter требует директорию /var/run/courier для сохранения всех pid и lock-файлов для Courier. /var/lock/subsys так же должен присутствовать для основного lock-файла Courier. Выполним следующие команды для создания этих директорий:

install -d /var/run/courier -o courier -g courier -m755 &&
install -d /var/lock/subsys -o root -g root -m755

Соберем Courier под непривилегированным пользователем при помощи следующих команд:

./configure --prefix=/usr --libexecdir=/usr/lib/courier \
    --datadir=/usr/share/courier --sysconfdir=/etc/courier \
    --localstatedir=/var/lib/courier --with-piddir=/var/run/courier \
    --with-paranoid-smtpext --disable-autorenamesent \
    --enable-workarounds-for-imap-client-bugs --with-db=gdbm &&
make

А теперь опять станем пользователем root и установим Courier при помощи следующих команд:

make install &&
make install-configure

Описание команд

--libexecdir=/usr/lib/courier: Описывает директорию, которая содержит программы и библиотеки, которые не могут быть непосредственно запущены из командной строки.

--datadir=/usr/share/courier: Описывает директорию, в которую будут установлены различные скрипты оболочки, Perl скрипты и файлы данных.

--localstatedir=/var/spool/courier: Описывает директорию, которая будет содержать очередь почты и другие временные данные.

--with-piddir=/var/run/courier: Описывает директорию, в которой сохраняются PID файлы Courier когда Courier активен.

--with-paranoid-smtpext: Быть параноиком при переговорах Courier-specific ESMTP расширений с удаленными серверами. Почтовый сервер Courier описывает и реализует некоторые экспериментальные ESMTP расширения: XVERP и XEXDATA. Проблемы могут быть следствием событий, когда кто-то другой использует то же самое имя для реализации другого расширения. Если эта опция описана, то ESMTP сервер Courierа так же будет объявлять фиктивную возможность ESMTP, называемую XCOURIEREXTENSIONS, и не будет узнавать любые Courier-специфичные расширения пока удаленный почтовый сервер так же объявляет эту фиктивную ESMTP возможность.

--disable-autorenamesent: Не переименовывать папку Sent каждый месяц. Так же эта опция может быть контролирована переменной окружения SQWEBMAIL_AUTORENAMESENT.

--enable-workarounds-for-imap-client-bugs: Есть несколько подтвержденных ошибок в некоторых клиентах IMAP, которые не правильно реализуют протокол IMAP4rev1. Эта опция включает некоторые обходы для этих ошибочных IMAP клиентов. ЗАМЕЧАНИЕ: make check при использовании этой опции будет выпадать. Сначала вы должны использовать configure без этой опции и, если все послеконфигурационные тесты проходят, перезапустить configure с этой опцией и пересобрать.

--with-db=gdbm: Courier так же требует библиотеку базы данных GDBM или DB. GDBM используется если присутствуют обе. Эта опция принудительно выбирает GDBM, так как в данный момент courier не работает при использовании DB.

--with-ispell=/usr/bin/aspell: Сервер интернет почты Courier может использовать проверку орфографии если configure находит ispell или если вы точно установите положение aspell.

--enable-mimetypes=[location of mime.types file]: Используйте этот ключ, если вы получите ошибку, говорящую, что файл mime.types не может быть найден.

Конфигурация Courier

Файлы конфигурационной информации

/etc/courier/*

Конфигурационная информация

Пока вы все еще root, вам понадобится создать следующие файлы с особым содержанием.

/etc/courier/defaultdomain

cat > /etc/courier/defaultdomain << "EOF"
[ваш домен]
EOF

/etc/courier/me

cat > /etc/courier/me << "EOF"
[имя сервера.ваш домен]
EOF

/etc/courier/locals

cat > /etc/courier/locals << "EOF"
localhost
[ваш домен]
EOF

/etc/courier/esmtpacceptmailfor.dir/system

cat > /etc/courier/esmtpacceptmailfor.dir/system << "EOF"
localhost
[ваш домен]
EOF

Вам так же понадобиттся отредактировать файл /etc/courier/aliases/system и изменить следующее содержимое.

postmaster: [почтовый адрес вашего администратора]

Если вы хотите запретить доступ с некоторых хостов от посылки почты, то вам понадобится отредактировать файл /etc/courier/smtpaccess/default.

Если вы хотите предоставлять почту для не локальных доменов, включая виртуальные домены, то вы должны добавить их в /etc/courier/hosteddomains. Этот файл должен присутствовать, нужен ли вам список доменов или нет:

touch /etc/courier/hosteddomains

После выполнения предидущего шага вам понадобится выпонить следующие команды:

makesmtpaccess &&
makehosteddomains &&
makealiases

Для каждого пользователя вам понадобится создать директорию Maildir:

cd /home/[имя пользователя] &&
maildirmake Maildir &&
chown [имя пользователя].[имя пользователя] Maildir -R

Если вы хотите использовать SSL с Courier, вы должны получить сертификаты и сохранить их в /usr/share/courier. Опционально вы можете создать самоподписываемые тестовые сертификаты при помощи следующих команд:

mkesmtpdcert &&
mkimapdcert &&
mkpop3dcert

Все файлы конфигурации Courier находятся в директории /etc/courier/. Для каждого сервиса SMTP, POP3 и IMAP у вас будет стандартный файл конфигурации и файл конфигурации SSL. Для каждого сервиса, который вы хотите использовать, вам понадобится отредактировать файл конфигурации и изменить переменную [DAEMON]START с 'NO' на 'YES'. Например, для использования SMTP с SSL вам понадобится отредактировать /etc/courier/esmtpd-ssl и изменить значение 'ESMTPDSSLSTART' на 'YES'. Сделайте такие же изменения для каждой конфигурации сервиса, который вы хотите использовать с Courier.

Если вы хотите использовать LDAP, то должен быть создан файл конфигурации LDAP:

echo "LDAPALIASDSTART=YES" > /etc/courier/ldapaliasd

Аналогично, если вы хотите использовать webmail, то вы должны создать файл конфигурации webmail:

echo "WEBMAILDSTART=YES" > /etc/courier/webmaild

Вам так же понадобится скопировать файл webmail из /usr/lib/courier/courier/webmail в директорию cgi-bin вашего сервера Apache.

cp -a /usr/lib/courier/courier/webmail/webmail /srv/www/cgi-bin

Затем вам понадобится скопировать изображения в директорию под вашей директорией htdocs вашего сервера Apache. Директория должна быть названа webmail или вам необходимо указать ее во время фазы configure в параметре --enable-imageurl=[URL].

cp -a /usr/share/courier/sqwebmail/images /srv/www/htdocs/webmail

Если вы хотите использовать утилиту webadmin, то вам понадобится скопировать файл webadmin из /usr/lib/courier/courier/webmail в вашу директорию cgi-bin вашего сервера Apache.

cp -a /usr/lib/courier/courier/webmail/webadmin /srv/www/cgi-bin

Так же вам необходимо поместить пароль в файл /etc/courier/webadmin/password:

cat > /etc/courier/webadmin/password << "EOF"
[пароль]
EOF

Если вы не используете SSL в вашем сервере Apache, то вам понадобится добавить /etc/courier/webadmin/unsecureok, при этом вы сможете использовать ваше средство администрирования, основанное на интернет.

touch /etc/courier/webadmin/unsecureok

Если вы используете Linux-PAM в вашей системе, то вам понадобится создать файлы конфигурации PAM:

cat > /etc/pam.d/esmtp << "EOF"
# Begin /etc/pam.d/esmtp

auth            required                pam_unix.so try_first_pass
account         required                pam_unix.so
session         required                pam_unix.so

# End /etc/pam.d/esmtp
EOF
cat > /etc/pam.d/pop3 << "EOF"
# Begin /etc/pam.d/pop3

auth            required                pam_unix.so try_first_pass
account         required                pam_unix.so
session         required                pam_unix.so

# End /etc/pam.d/pop3
EOF
cat > /etc/pam.d/imap << "EOF"
# Begin /etc/pam.d/imap

auth            required                pam_unix.so try_first_pass
account         required                pam_unix.so
session         required                pam_unix.so

# End /etc/pam.d/imap
EOF
cat > /etc/pam.d/webmail << "EOF"
# Begin /etc/pam.d/webmail

auth            required                pam_unix.so try_first_pass
account         required                pam_unix.so
session         required                pam_unix.so

# End /etc/pam.d/webmail
EOF

Наконец, если вы хотите запускать сервер Courier во время загрузки, то установите стартовый скрипт /etc/rc.d/init.d/courier, включенный в пакет blfs-bootscripts-6.0.

make install-courier

Конфигурация для виртуальных пользователей

Эти инструкции настроят Courier для просмотра виртуальных пользователей в базе данных MySQL. Начните с внесения следующих изменений в /etc/courier/authmysqlrc:

MYSQL_SERVER            localhost
MYSQL_USERNAME          courier
MYSQL_PASSWORD          [ваш выбор]
MYSQL_SOCKET            /var/run/mysql/mysql.sock
MYSQL_PORT              3306
MYSQL_DATABASE          courier_mail
MYSQL_USER_TABLE        users
MYSQL_CLEAR_PWFIELD     clear
DEFAULT DOMAIN          [ваш домен]
MYSQL_QUOTA_FIELD       quota

Подключитесь к MySQL:

mysql -p

Создайте базу данных courier_mail и настройте таблицу пользователей:

CREATE DATABASE courier_mail;
USE courier_mail
CREATE TABLE users (
id                    char(128) DEFAULT '' NOT NULL,
crypt                 char(128) DEFAULT '' NOT NULL,
clear                 char(128) DEFAULT '' NOT NULL,
name                  char(128) DEFAULT '' NOT NULL,
uid                   int(10) unsigned DEFAULT '65534' NOT NULL,
gid                   int(10) unsigned DEFAULT '65534' NOT NULL,
home                  char(255) DEFAULT '' NOT NULL,
quota                 char(255) DEFAULT '' NOT NULL,
KEY id (id(128))
);

предоставим все привилегии пользователю courier, созданному ранее:

GRANT ALL PRIVILEGES ON *.* TO courier@localhost \
    IDENTIFIED BY '[пароль]' WITH GRANT OPTION;
QUIT

Создадим виртуальных пользователя и группу mailman:

groupadd -g 9000 vmailman &&
useradd -c 'Virtual Mailman' -g vmailman -m -k /dev/null -u 9000 vmailman

Создадим почтовую директорию для нового виртуального пользователя:

cd /home/vmailman &&
mkdir [виртуальный_пользователь] &&
cd [виртуальный_пользователь] &&
maildirmake Maildir &&
chown vmailman.vmailman Maildir -R

Теперь подключимся к базе данных MySQL как пользователь courier:

mysql -u courier -p

Для добавления виртуального пользователя вам надо ввести минимум одну версию пароля - обычную текстовую или шифрованную.

Добавим первого виртуального пользователя запуском следующих команд:

USE courier_mail
INSERT INTO users VALUES (
'[виртуальный_пользователь]@[домен.com],
'[шифрованный пароль или пусто]',
'[текстовый пароль или пусто]',
'[имя пользователя]',
9000,
9000,
'[положение директории для почты]',
'[квота в байтах]
);
QUIT

Например:

INSERT INTO users VALUES (
'blfsuser@linuxfromscratch.org',
'',
'password',
'BLFS User',
9000,
9000,
'/home/vmailman/blfsuser',
''
);

Содержание

Установленные программы: addcr, authenumerate, cancelmsg, courier, courier-config, courieresmtpd, courierfilter, courierlogger, couriermlm, couriertcpd, couriertls, deliverquota, dotforward, esmtpd, esmtpd-msa, esmtpd-ssl, filterctl, imapd, imapd-ssl, lockmail, mailbot, maildiracl, maildirkw, maildirmake, maildrop, mailq, makeacceptmailfor, makealiases, makedat, makehosteddomains, makemime, makepercentrelay, makesmtpaccess, makesmtpaccess-msa, makeuserdb, makeuucpneighbors, mimegpg, mkesmtpdcert, mkimapdcert, mkpop3dcert, pop3d, pop3d-ssl, preline, pw2userdb, reformail, reformime, rmail, sendmail, sharedindexinstall, sharedindexsplit, showconfig, showmodules, testmxlookup, userdb, userdbpw, vchkpw2userdb, webgpg, webmaild
Установленные директории: /etc/courier, /usr/lib/courier, /usr/share/courier, /var/lib/courier, /var/lock/subsys, /var/run/courier и /var/spool/courier

Короткое описание

cancelmsg

удаляет сообщение из очереди почты.

courier

административная команда, используемая для контроля движка планирования Courier.

courierfax

посылает почтовые сообщения по факсу.

courierfilter

запускает и останавливает все почтовые фильтры, установленные filterctl.

courierldapaliasd

поддерживает псевдонимы почтовых адресов, используя директории LDAP.

courierlogger

захватывает сообщения об ошибках из других приложений Courier и перенаправляет их в системный логер.

couriermlm

настраивает, поддерживает и управляет списками рассылки.

courierperlfilter

простой фильтр, написанный на Perl.

courierpop3d

POP3 сервер Courier.

courierpop3login

читает POP3 ID пользователя и пароль и помещает их в модули аутентификации.

couriertcpd

принимает входяшие сетевые соединения и запускает другие программы Courier после создания каждого сетевого соединения.

couriertls

используется приложениями для шифрования сетевого соединения, используя SSL/TLS.

dotforward

модуль совместимости, который читает перенаправленные инструкции в $HOME/.forward.

dupfilter

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

esmtpd

контролирующий скрипт для courieresmtpd.

esmtpd-msa

контролирующий скрипт для courieresmtpd, но добавляет порт 587 подачи почты для протокола MSA.

filterctl

устанавливает или снимает глобальные почтовые фильтры.

imapd

сервер Courier-IMAP.

lockmail

это утилита для блокирования файлов mailbox.

mailbot

знающая MIME утилита автоответа.

maildiracl

управляет списком контроля доступа.

maildirkw

изменяет Courier-IMAP совместимые ключевые слова сообщений maildir.

maildirmake

создает почтовые диретории и папки maildir.

maildrop

замена локального агента пересылки почты, который включает язык фильтрации почты.

mailq

отображает список всех сообщений, которые еще не были отправлены.

makeacceptmailfor

строит список доменов для приема почты из директории /etc/courier/esmtpacceptmailfor.dir.

makealiases

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

makedat

утилита для создания файлов GDBM или DB из обычных текстовых файлов.

makehosteddomains

перестраивает содержимое базы данных hosteddomains из содержимого /tools/etc/courier/hosteddomains.

makemime

создает MIME-фоматированные сообщения из одного или более файлов.

makepercentrelay

строит список %-переключаемых доменов из директории percentrelay.dir.

makesmtpaccess

строит ESMTP файлы доступа к серверу из директории /etc/courier/smtpaccess.

makesmtpaccess-msa

строит ESMTP файлы доступа к серверу из директории /etc/courier/smtpaccess. Этот esmtp список предназначен для протокола MSA.

makeuserdb

строит базу данных пользователь/пароль из содержимого /tools/etc/courier/userdb.

mimegpg

подписывает, шифрует или дешифрует MIME-форматированные почтовые сообщения, используя GnuPG.

mkesmtpdcert

создает защищенный SMTP тестовый сертификат.

mkimapdcert

создает защищенный IMAP тестовый сертификат.

mkpop3dcert

создает защищенный POP3 тестовый сертификат.

pop3d

скрипт-обертка для couriertcpd для запуска и остановки сервиса POP3.

pop3d-ssl

скрипт-обертка для couriertcpd для запуска и остановки POP3 через сервис SSL.

reformail

читает сообщение со стандартного ввода, форматирует его некоторым способом и записывает сообщение на стандартный вывод.

reformime

утилита для переформатирования MIME сообщений.

sendmail

читает почтовое сообщение и пересылает его получателю.

submit

представляет сообщения Courier для обработки.

testmxlookup

выводит имена и IP адреса почтовых переключателей, которые получают почту для домена.

userdb

скрипт для индивидуального манипулирования содержанием /tools/etc/courier/userdb.

userdbpw

читает одиночную строку текста со стандартного ввода, шифрует ее и печатает шифрованный результат на стандартный вывод.

Последнее обновление 2005-03-14 04:10:36 -0700




Спонсоры:
Inferno Solutions
Ideco
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2021 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру