Мини-HOWTO: IMAP сервер Cyrus

В этом документе приведено несколько полезных советов по установке IMAP-сервера Cyrus на системе, использующей Linux.

[Kevin Mitchell (kevin@iserv.net). Перевод Станислав Рогин (sam@asplinux.ru)]

Мини-HOWTO: установка IMAP сервера Cyrus

Автор: Kevin Mitchell (kevin@iserv.net)

Перевод: Станислав Рогин, ASPLinux

версия 0.9, 21 января 1998 года


В этом документе приведено несколько полезных советов по установке IMAP-сервера Cyrus на системе, использующей Linux.


1. Введение

Я хотел бы поблагодарить Bob Anderson (boba@iserv.net) и Jorge Paramo (jorge@iserv.net) за посильную помощь в моих путешествиях по миру Linux.

Что такое IMAP, и зачем он мне нужен?

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 создан для серверов, на котором обычным пользователям не разрешено входить в систему. А также, по-моему мнению, Cyrus - это один из двух наиболее популярных IMAP-серверов для Unix. Второй сервер - The University of Washington IMAP Server, доступный по адресу ftp://ftp.cac.washington.edu/imap/imap.tar.Z

2. Описание моей системы

Я удачно установил и настроил Cyrus на 486DX66- и Pentium-машинах, использующих Linux с ядром версии 2.1.79 и 2.0.33 соответственно. Изначально Linux на этих машинах был установлен с дистрибутива Slackware версии 3.4.

3. Установка Tcl

До установки 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

4. Установка makedepend

Проверьте, есть ли в вашей системе команда makedepend. Если нет, то ничего страшного - она поставляется также с исходными текстами Cyrus. (В моей системе ее тоже не было, так как ее нет в Slackware 3.4)

Для установки makedepend, разверните пакет Cyrus, перейдите в каталог makedepend и запустите следующие команды:

./configure
make
cp ./makedepend /usr/local/bin/makedepend

5. Установка Cyrus

Внимательно прочтите инструкции по установке, входящие в пакет 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

6. Настройка Sendmail

Скачайте исходные тексты 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.

7. Настройка почтовых ящиков

Обязательно проведите все тесты работоспособности IMAP-сервера. Если все работает приемлемо - настройте почтовые ящики.

8. Авторские права

Авторские права на русский перевод этого текста принадлежат © 2000 ASPLinux Все права зарезервированы.

Этот документ является частью проекта Linux HOWTO.

Авторские права на документы Linux HOWTO принадлежат их авторам, если явно не указано иное. Документы Linux HOWTO, а также их переводы, могут быть воспроизведены и распространены полностью или частично на любом носителе, физическом или электронном, при условии сохранения этой заметки об авторских правах на всех копиях. Коммерческое распространение разрешается и поощряется; но, так или иначе, автор текста и автор перевода желали бы знать о таких дистрибутивах.

Все переводы и производные работы, выполненные по документам Linux HOWTO, должны сопровождаться этой заметкой об авторских правах. Это делается в целях предотвращения случаев наложения дополнительных ограничений на распространение документов HOWTO. Исключения могут составить случаи получения специального разрешения у координатора Linux HOWTO, с которым можно связаться по адресу приведенному ниже.

Мы бы хотели распространить эту информацию по всем возможным каналам. Но при этом сохранить авторские права и быть уведомленными о всех планах распространения HOWTO. Если у вас возникли вопросы, пожалуйста, обратитесь к координатору проекта Linux HOWTO по электронной почте: или к координатору русского перевода Linux HOWTO компании ASPLinux по адресу

9. Ответственность

Никаких гарантий, возврата денег и т.п. Используйте исключительно на свой страх и риск.

10. Источники

Необходимые пакеты

Домашняя страница 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/

[Источник: www.linuxdoc.ru]

[ опубликовано 31/08/2003 ]

Kevin Mitchell (kevin@iserv.net). Перевод Станислав Рогин (sam@asplinux.ru) - Мини-HOWTO: IMAP сервер Cyrus   Версия для печати