Пакет Courier содержит Mail Transport Agent (MTA). Он полезен для отправки почты другим пользователям на Вашей машине. Также он может быть настроен в качестве центрального сервера почты Вашего домена или в качестве агента перенаправления почты. Пакет Courier также включает web-основанный интерфейс почты, IMAP, IMAP-SSL, POP3 и POP3-SSL.
Адрес (HTTP): http://prdownloads.sourceforge.net/courier/courier-0.47.tar.bz2
Контрольная сумма: 639bb3b236914e3b86f287ce3f55264e
Размер: 4.3 MB
Требуемое дисковое пространство: 102 MB
Расчетное время сборки: 2.62 SBU
MySQL-4.1.8a или PostgreSQL-7.4.6, Linux-PAM-0.78, OpenSSL-0.9.7e, FAM-2.7.0, OpenLDAP-2.2.20, Apache-2.0.53, ispell-3.2.06.epa7 или Aspell-0.60, GnuPG-1.4.0, Expect-5.42.1, AFPL Ghostscript-8.14 или ESP Ghostscript-7.07.1, Netpbm и Mgetty+Sendfax .
Архив 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, которые неправильно реализуют протокол IMAP 4rev1. Эта опция включает некоторые обходы для этих ошибочных 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 не может быть найден.
/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 authrequiredpam_unix.so try_first_pass account requiredpam_unix.so session requiredpam_unix.so # End /etc/pam.d/esmtp EOF cat > /etc/pam.d/pop3 << "EOF" # Begin /etc/pam.d/pop3 authrequiredpam_unix.so try_first_pass account requiredpam_unix.so session requiredpam_unix.so # End /etc/pam.d/pop3 EOF cat > /etc/pam.d/imap << "EOF" # Begin /etc/pam.d/imap authrequiredpam_unix.so try_first_pass account requiredpam_unix.so session requiredpam_unix.so # End /etc/pam.d/imap EOF cat > /etc/pam.d/webmail << "EOF" # Begin /etc/pam.d/webmail authrequiredpam_unix.so try_first_pass account requiredpam_unix.so session requiredpam_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_SERVERlocalhost MYSQL_USERNAMEcourier MYSQL_PASSWORD[ваш выбор] MYSQL_SOCKET/var/run/mysql/mysql.sock MYSQL_PORT3306 MYSQL_DATABASEcourier_mail MYSQL_USER_TABLEusers 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 (idchar(128) DEFAULT '' NOT NULL,
crypt char(128) DEFAULT '' NOT NULL,
clear char(128) DEFAULT '' NOT NULL,
namechar(128) DEFAULT '' NOT NULL,
uid int(10) unsigned DEFAULT '65534' NOT NULL,
gid int(10) unsigned DEFAULT '65534' NOT NULL,
homechar(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',
'');
Удаляет сообщение из очереди почты.
Административная команда, используемая для контроля движка планирования Courier.
Посылает почтовые сообщения по факсу.
Запускает и останавливает все почтовые фильтры, установленные filterctl.
Поддерживает псевдонимы почтовых адресов, используя LDAP.
Захватывает сообщения об ошибках из других приложений Courier и перенаправляет их в системный журнал.
Настраивает, поддерживает и управляет списками рассылки.
Простой фильтр, написанный на Perl.
POP3 сервер Courier.
Читает POP3 ID пользователя и пароль и помещает их в модули аутентификации.
Принимает входяшие сетевые соединения и запускает другие программы Courier после создания каждого сетевого соединения.
Используется приложениями для шифрования сетевого соединения, используя SSL/TLS.
Модуль совместимости, который читает перенаправленные инструкции в $HOME/.forward.
Фильтр, который пытается блокировать ненужную почту, пытаясь определить многочисленные копии одного и того же сообщения.
Контролирующий скрипт для courieresmtpd.
Контролирующий скрипт для courieresmtpd, но добавляет порт 587 подачи почты для протокола MSA.
Устанавливает или снимает глобальные почтовые фильтры.
Сервер Courier-IMAP.
Это утилита для блокирования файлов mailbox.
Знающая MIME утилита автоответа.
Управляет списком контроля доступа.
Изменяет Courier-IMAP-совместимые ключевые слова сообщений maildir.
Создает почтовые каталоги.
Замена локального агента пересылки почты, который включает язык фильтрации почты.
Отображает список всех сообщений, которые еще не были отправлены.
Строит список доменов для приема почты из каталога /etc/courier/esmtpacceptmailfor.dir.
Строит базу данных псевдонимов из одного или более обычных текстовых исходных файлов.
Утилита для создания файлов GDBM или DB из обычных текстовых файлов.
Перестраивает содержимое базы данных hosteddomains из содержимого /tools/etc/courier/hosteddomains.
Создает MIME-фоматированные сообщения из одного или более файлов.
Строит список %-переключаемых доменов из каталога percentrelay.dir.
Строит ESMTP-файлы доступа к серверу из каталога /etc/courier/smtpaccess.
Строит ESMTP-файлы доступа к серверу из каталога /etc/courier/smtpaccess. Этот esmtp-список предназначен для протокола MSA.
Строит базу данных пользователь/пароль из содержимого /tools/etc/courier/userdb.
Подписывает, шифрует или дешифрует MIME-форматированные почтовые сообщения, используя GnuPG.
Создает защищенный SMTP-тестовый сертификат.
Создает защищенный IMAP-тестовый сертификат.
Создает защищенный POP3-тестовый сертификат.
Скрипт-обертка для couriertcpd для запуска и остановки сервиса POP3.
Скрипт-обертка для couriertcpd для запуска и остановки POP3 через сервис SSL.
Читает сообщение со стандартного ввода, форматирует его некоторым способом и записывает сообщение на стандартный вывод.
Утилита для переформатирования MIME-сообщений.
Читает почтовое сообщение и пересылает его получателю.
Представляет сообщения Courier для обработки.
Выводит имена и IP-адреса почтовых переключателей, которые получают почту для домена.
Скрипт для индивидуального манипулирования содержанием /tools/etc/courier/userdb.
Читает одиночную строку текста со стандартного ввода, шифрует ее и печатает шифрованный результат на стандартный вывод.
Последнее обновление 2005-03-14 04:10:36 -0700.