В этом документе приведено несколько полезных советов по установке IMAP-сервера Cyrus на системе, использующей Linux.
Я хотел бы поблагодарить Bob Anderson (boba@iserv.net) и Jorge Paramo (jorge@iserv.net) за посильную помощь в моих путешествиях по миру Linux.
IMAP (Internet Message Access Protocol) - это способ доступа к электронной почте или сообщениям в досках объявлений, содержащихся на почтовом сервере. IMAP воспринимается многими как альтернатива протоколу POP (Post Office Protocol). IMAP позволяет читать электронную почту с разных компьютеров напрямую с сервера, не загружая ее на локальную машину. Такой способ доступа к почте значительно более безопасен, а также предоставляет некоторые дополнительные возможности конечному пользователю.
Более подробное описание можно найти по адресу: http://www.imap.org/whatisIMAP.html
Сравнительная характеристика протоколов IMAP и POP доступна по адресу: http://www.imap.org/imap.vs.pop.brief.html
Сервер Cyrus создан для серверов, на котором обычным пользователям не разрешено входить в систему. А также, по-моему мнению, Cyrus - это один из двух наиболее популярных IMAP-серверов для Unix. Второй сервер - The University of Washington IMAP Server, доступный по адресу ftp://ftp.cac.washington.edu/imap/imap.tar.Z
Я удачно установил и настроил Cyrus на 486DX66- и Pentium-машинах, использующих Linux с ядром версии 2.1.79 и 2.0.33 соответственно. Изначально Linux на этих машинах был установлен с дистрибутива Slackware версии 3.4.
До установки Cyrus убедитесь в том, что на вашей машине установлен Tcl - иначе вы не сможете использовать Утилиту Администрирования Cyrus "Cyrus Admin Tool" (cyradm). Самую новую версию исходных текстов tcl можно найти по адресу ftp://ftp.sunlabs.com/pub/tcl/
После установки Tcl проверьте, что файл libtcl.a
находится в
каталоге /usr/local/lib/
. Tcl версии 8.0 создает файл libtcl8.0.a
,
и для гарантии нормальной работы надо создать соответствующую символьную ссылку,
при помощи команды:
# ln -s libtcl8.0.a libtcl.a
Проверьте, есть ли в вашей системе команда makedepend
. Если нет,
то ничего страшного - она поставляется также с исходными текстами Cyrus. (В моей
системе ее тоже не было, так как ее нет в Slackware 3.4)
Для установки makedepend
, разверните пакет Cyrus, перейдите в
каталог makedepend
и запустите следующие команды:
./configure
make
cp ./makedepend /usr/local/bin/makedepend
Внимательно прочтите инструкции по установке, входящие в пакет Cyrus. Эти инструкции можно также найти по адресу: http://andrew2.andrew.cmu.edu/cyrus/imapd/install.html
Несколько советов по некоторым фазам установки:
Если у вас дистрибутив Slackware 3.4 (с теневыми паролями (Shadow Passwords)),
запустите configure
командой:
./configure --with-login=unix_pwcheck
make
достаточно прост:
make depend
make all CFLAGS=-O
Шаг 1: После добавления пользователя cyrus, я отключил это имя входа для минимизации
проблем с безопасностью.
Шаг 3: Я сам отредактировал файл /etc/syslog.conf, вместо простого копирования
их примера.
Шаг 9: В Linux убедитесь в нормальном запуске pwcheck
(приведенном
ниже), иначе сервер не будет работать:
umask 0;/usr/cyrus/bin/pwcheck &
umask 022
И затем добавьте запуск Cyrus в загрузочный скрипт примерно такими строками::
if [ -f /usr/cyrus/bin/pwcheck ]; then
echo -n "Запуск pwcheck для imap"
umask 0;/usr/cyrus/bin/pwcheck &
umask 022
fi
Я добавил эти строки в файл /etc/rc.d/rc.local
,
и все прекрасно
заработало.
Шаг 12: В процессе редактирования файла /etc/inetd.conf, проверьте нормальный запуск TCP Wrappers, если вы их используете, например:
imap streamtcp nowait
cyrus /usr/sbin/tcpd /usr/cyrus/bin/imapd
imap
И не забудьте про команду kill -HUP inetd
после этих изменений:
# ps ax | grep inetd
61?S 0:00 /usr/sbin/inetd
# kill -HUP 61
Скачайте исходные тексты sendmail, если у вас их еще нет. До запуска IMAP, вы можете добавить некоторые полезные вещи, как, например, настройку анти-спам системы.
Ниже приведен мой файл .mc
. Он доставляет почту посредством IMAP,
если имя пользователя не указано в файле /etc/sendmail.cN
. Таким
образом системные пользователи, такие, как root, смогут содержать свою почту обычным
образом в спуле (spool); В то же время все остальные по умолчанию используют
IMAP. Не стоит просто копировать и использовать этот пример, иначе sendmail будет
жаловаться на использование пробелов вместо табуляции:
divert(-1)
#
# (C) Copyright 1995 by Carnegie Mellon University
#
#
All Rights Reserved
#
Все права защищены
#
# Permission to use, copy, modify, and distribute this software and its
# documentation for any purpose and without fee is hereby granted,
# provided that the above copyright notice appear in all copies and that
# both that copyright notice and this permission notice appear in
# supporting documentation, and that the name of CMU not be
# used in advertising or publicity pertaining to distribution of the
# software without specific, written prior permission.
#
# Разрешено бесплатное использование, копирование, изменение и
# распространение этого программного обеспечения для любых целей,
# с условием, что вышеприведенный копирайт будет воспроизведен
# на всех копиях, а также копирайт и это разрешение будет
# воспроизведено в сопутствующей документации. Имя CMU не может
# быть использовано в целях рекламы или публикации, сопутствующих
# дистрибутиву, без предварительного специального письменного разрешения
#
# CMU DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
# ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
# CMU BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
# ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
# WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
# ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
# SOFTWARE.
#
# CMU ОТВЕРГАЕТ ЛЮБУЮ ОТВЕТСТВЕННОСТЬ, СВЯЗАННУЮ С ИСПОЛЬЗОВАНИЕМ ЭТОГО
# ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ, ВКЛЮЧАЯ ВСЕ СОПУТСТВУЮЩИЕ ГАРАНТИИ ПРОДАВАЕМОСТИ
# И СОВМЕСТИМОСТИ. CMU НИ В КАКОМ СЛУЧАЕ НЕ НЕСЕТ ОТВЕТСТВЕННОСТИ ЗА ПРЯМОЙ ИЛИ
# КОСВЕННЫЙ УЩЕРБ ЛЮБОГО РОДА, ВКЛЮЧАЯ ПОТЕРИ ИСПОЛЬЗУЕМОСТИ, ДАННЫХ ИЛИ
# ПРИБЫЛИ, ПРОИЗОШЕДШИХ ТАКЖЕ ВСЛЕДСТВИЕ КОНТРАКТОВ, СОГЛАШЕНИЙ ИЛИ
# ДРУГИХ ФОРМ ПРАВООТНОШЕНИЙ, ВОЗНИКШИХ ИЗ ИЛИ СВЯЗАННЫХ С ЭТИМ ПРОГРАММНЫМ
# ОБЕСПЕЧЕНИЕМ
#
# Contributed to Berkeley by John Gardiner Myers
<jgm+@CMU.EDU>.
# В институт Berkeley передано John Gardiner Myers
<jgm+@CMU.EDU>.
#
# Это пример для сайта, использующего IMAP-сервер
Cyrus
# для передачи локальной почты.
#
divert(0)dnl
VERSIONID(`@(#)cyrusproto.mc 8.3 (Carnegie Mellon) @(#)cyrusproto.mc
8.3')
OSTYPE(linux)
define(`confBIND_OPTS',`-DNSRCH -DEFNAMES')
FEATURE(nouucp)
FEATURE(nocanonify)
FEATURE(always_add_domain)
MAILER(smtp)
MAILER(local)
MAILER(cyrus)
define(`confLOCAL_MAILER',`cyrus')
LOCAL_RULE_0
R$=N
$: $#local $: $1
R$=N < @ $=w . >
$: $#local $: $1
Rbb + $+ < @ $=w . >
$#cyrusbb $: $1
LOCAL_CONFIG
FN /etc/sendmail.cN
# end of mc file
После создания файла /etc/sendmail.cf
, создайте файл /etc/sendmail.cN
со списком пользователей, которые не будут использовать доставку почты посредством
IMAP, например:
root
majordom
stan
mothra
После установки пакета Sendmail версии 8.8.8 я также установил утилиту
mail.local
, как систему доставки локальной почты для вышеприведенных пользователей.
Ниже приведен простой способ создания mail.local
. Перейдите в каталог
mail.local
исходных текстов sendmail и проделайте следующее:
cp Makefile Makefile.orig
cp Makefile.dist Makefile
make
cp mail.local /bin/mail.local
chmod 4555 /bin/mail.local
После всего этого перезапустите sendmail.
Не забудьте закончить исполнение инструкций по установке Cyrus.
Обязательно проведите все тесты работоспособности IMAP-сервера. Если все работает приемлемо - настройте почтовые ящики.
Авторские права на русский перевод этого текста принадлежат © 2000 ASPLinux Все права зарезервированы.
Этот документ является частью проекта Linux HOWTO.
Авторские права на документы Linux HOWTO принадлежат их авторам, если явно не указано иное. Документы Linux HOWTO, а также их переводы, могут быть воспроизведены и распространены полностью или частично на любом носителе, физическом или электронном, при условии сохранения этой заметки об авторских правах на всех копиях. Коммерческое распространение разрешается и поощряется; но, так или иначе, автор текста и автор перевода желали бы знать о таких дистрибутивах.
Все переводы и производные работы, выполненные по документам Linux HOWTO, должны сопровождаться этой заметкой об авторских правах. Это делается в целях предотвращения случаев наложения дополнительных ограничений на распространение документов HOWTO. Исключения могут составить случаи получения специального разрешения у координатора Linux HOWTO, с которым можно связаться по адресу приведенному ниже.
Мы бы хотели распространить эту информацию по всем возможным каналам. Но при этом сохранить авторские права и быть уведомленными о всех планах распространения HOWTO. Если у вас возникли вопросы, пожалуйста, обратитесь к координатору проекта Linux HOWTO по электронной почте: <linux-howto@metalab.unc.edu> или к координатору русского перевода Linux HOWTO компании ASPLinux по адресу <linux-howto@asplinux.ru>
Никаких гарантий, возврата денег и т.п. Используйте исключительно на свой страх и риск.
Домашняя страница Cyrus: http://andrew2.andrew.cmu.edu/cyrus/imapd/
Новая версия доступна по адресу: ftp://ftp.andrew.cmu.edu/pub/cyrus-mail/
Домашняя страница Tcl: http://sunscript.sun.com/
Новая версия доступна по адресу: ftp://ftp.sunlabs.com/pub/tcl/
Домашняя страница Sendmail: http://www.sendmail.org/
Новая версия доступна по адресу: ftp://ftp.sendmail.org/ucb/src/sendmail/