|
|
<chapter id="groupware-with-kontact">
|
|
|
|
|
|
<chapterinfo>
|
|
|
<authorgroup>
|
|
|
<author
|
|
|
><personname
|
|
|
> <firstname
|
|
|
>Marco</firstname
|
|
|
> <surname
|
|
|
>Menardi</surname
|
|
|
> </personname
|
|
|
> <email
|
|
|
>gnu@kde.org</email
|
|
|
> </author>
|
|
|
</authorgroup>
|
|
|
|
|
|
<othercredit role="translator"
|
|
|
><firstname
|
|
|
>Алексей</firstname
|
|
|
><surname
|
|
|
>Опарин</surname
|
|
|
><affiliation
|
|
|
><address
|
|
|
><email
|
|
|
>opaleksej@yandex.ru</email
|
|
|
></address
|
|
|
></affiliation
|
|
|
><contrib
|
|
|
>Перевод на русский</contrib
|
|
|
></othercredit
|
|
|
>
|
|
|
|
|
|
</chapterinfo>
|
|
|
<title
|
|
|
>Общий доступ к данным с помощью &kontact; через <acronym
|
|
|
>IMAP</acronym
|
|
|
></title>
|
|
|
|
|
|
<sect1 id="kontact-imap-intro">
|
|
|
<title
|
|
|
>Введение</title>
|
|
|
|
|
|
<para
|
|
|
>Я долго не мог найти приемлемое для моего маленького офиса <acronym
|
|
|
>PIM</acronym
|
|
|
>-решение, которое позволяло бы нам с моим секретарём иметь общий доступ к данным о наших контактах, намеченных встречах и т.п. Будучи пользователем &kde;, я знал о проекте Kroupware и ожидал его завершения. Но, увидев, насколько сложна архитектура и настройка <application
|
|
|
>Kolab</application
|
|
|
> сервера 1.0 (серверной части проекта), решил воздержаться и дождаться выхода <application
|
|
|
>Kolab</application
|
|
|
> 2.0 с более простым развёртыванием. И всё-таки, возможности <application
|
|
|
>Kolab</application
|
|
|
> для моих скромных потребностей были явно избыточны. Но вот однажды на форуме &kde; я встретил обсуждение, в котором упоминалось о возможности общего доступа к данным без использования <application
|
|
|
>Kolab</application
|
|
|
>... ого, это интересно!</para>
|
|
|
|
|
|
<para
|
|
|
>Оказывается, в маленьких офисах можно обойтись без установки <application
|
|
|
>Kolab</application
|
|
|
> сервера или других groupware-решений, воспользовавшись одним &kontact;. Он может работать с обычным, простым в настройке <acronym
|
|
|
>IMAP</acronym
|
|
|
>-сервером.</para>
|
|
|
|
|
|
<para
|
|
|
>Описываемые действия я проводил на платформе Debian unstable и &kde; 3.4. К &kontact; и другим легендарным GNU/Linux приложениям я обращался из Window$ с помощью Cygwin/X, в ожидании того момента, когда проект Wine сделает возможным запуск всех необходимых мне Windows-программ (не имеющих подходящих аналогов под GNU/Linux таких не было). Итак, мне нужно было обеспечить общий с моим секретарём доступ к данным о контактах, событиях, намеченных мероприятиях.</para>
|
|
|
|
|
|
</sect1>
|
|
|
|
|
|
<sect1 id="kontact-imap-whatis">
|
|
|
<title
|
|
|
>Что такое <acronym
|
|
|
>IMAP</acronym
|
|
|
></title>
|
|
|
|
|
|
<para
|
|
|
>Вот определение из словаря <ulink url="http://computeruser.com"
|
|
|
>ComputerUser.com High-Tech Dictionary:</ulink
|
|
|
> <blockquote
|
|
|
><para
|
|
|
>Internet Message Access Protocol. Протокол, позволяющий пользователю производить некоторые почтовые операции на удалённом сервере. С помощью IMAP пользователь может создавать, удалять и переименовывать почтовые ящики; получать и удалять сообщения; выполнять поиск по почте. Для отправки почты требуется отдельный протокол. Другой вариант расшифровки -- Internet Mail Access Protocol.</para
|
|
|
></blockquote
|
|
|
> </para>
|
|
|
|
|
|
<para
|
|
|
>Значит, этот протокол можно рассматривать как интерфейс к накопителю со специфическими функциями доступа. Чтобы использовать его, нужен сервер <acronym
|
|
|
>IMAP</acronym
|
|
|
>, такой как <application
|
|
|
>Cyrus</application
|
|
|
>, <application
|
|
|
>Courier </application
|
|
|
> или <application
|
|
|
>UW</application
|
|
|
>.</para>
|
|
|
|
|
|
</sect1>
|
|
|
|
|
|
<sect1 id="kontact-kolab-or-imap">
|
|
|
<title
|
|
|
><application
|
|
|
>Kolab</application
|
|
|
> или <acronym
|
|
|
>IMAP</acronym
|
|
|
>?</title>
|
|
|
|
|
|
<para
|
|
|
><application
|
|
|
>Kolab</application
|
|
|
> даёт возможность общего доступа к данным для разных клиентов. Например, ваш секретарь может пользоваться <application
|
|
|
>Outlook</application
|
|
|
>, а вы -- &kontact;.</para>
|
|
|
|
|
|
<para
|
|
|
>Вы получаете интерфейс настройки, позволяющий управлять учётными записями пользователей, настраивать почтовые учётные записи, общий сервер конфигурации <acronym
|
|
|
>LDAP</acronym
|
|
|
> и адресной книги, фильтры спама и вирусов, управление графиком отпусков, режимом труда и отдыха, ресурсами (номера в гостиницах, автомобили), список адресатов и групп, автоматическое напоминание и т.д.</para>
|
|
|
|
|
|
<para
|
|
|
>Однако, всё это очень сложно в установке и настройке. Для новичка вроде меня это означает нескончаемые ночные бдения и массу проблем, прежде чем все заработает. Нет уж, спасибо, лучше я попробую <acronym
|
|
|
>IMAP</acronym
|
|
|
>, он попроще.</para>
|
|
|
|
|
|
</sect1>
|
|
|
|
|
|
<sect1 id="kontact-imap-cyrus">
|
|
|
<title
|
|
|
>Как настроить <acronym
|
|
|
>IMAP</acronym
|
|
|
>-сервер <application
|
|
|
>Cyrus</application
|
|
|
></title>
|
|
|
|
|
|
<para
|
|
|
>Я выбрал <application
|
|
|
>Cyrus</application
|
|
|
>, это часть пакета программ <application
|
|
|
>Kolab</application
|
|
|
>, поэтому, если будет суждено перейти на <application
|
|
|
>Kolab</application
|
|
|
> в будущем, по крайней мере я буду с ним знаком.</para
|
|
|
> <para
|
|
|
>Итак, приступим к установке и настройке!</para>
|
|
|
|
|
|
<para
|
|
|
>Становимся <systemitem class="username"
|
|
|
>root</systemitem
|
|
|
>.</para>
|
|
|
|
|
|
<screen
|
|
|
># <userinput
|
|
|
><command
|
|
|
>apt-get</command
|
|
|
> <command
|
|
|
>install</command
|
|
|
> cyrus21-imapd cyrus21-common cyrus21-admin cyrus21-client sasl-bin sasl2-bin</userinput
|
|
|
>
|
|
|
<computeroutput
|
|
|
>Installing cyrus21-imapd...</computeroutput
|
|
|
><lineannotation
|
|
|
>Программа установки спрашивала что-то о search address... Я просто нажал <keycap
|
|
|
>Enter</keycap
|
|
|
> и всё заработало</lineannotation
|
|
|
>.</screen>
|
|
|
|
|
|
<para
|
|
|
>Программа установки создаёт пользователя <systemitem class="username"
|
|
|
>cyrus</systemitem
|
|
|
>, принадлежащего к автоматически созданной группе <systemitem class="groupname"
|
|
|
>sasl</systemitem
|
|
|
>, которая является <quote
|
|
|
>владельцем</quote
|
|
|
> всех файлов cyrus. После завершения установки с помощью <command
|
|
|
>ps <option
|
|
|
>-A</option
|
|
|
></command
|
|
|
> можно увидеть новые процессы: <command
|
|
|
>cyrmaster</command
|
|
|
> и <command
|
|
|
>notifyd</command
|
|
|
>.</para>
|
|
|
|
|
|
<para
|
|
|
>Трудности встретились в настройке идентификации <application
|
|
|
>Cyrus</application
|
|
|
>, просто потому что я новичок с ограниченным знанием предмета.</para>
|
|
|
|
|
|
<para
|
|
|
><application
|
|
|
>Cyrus</application
|
|
|
> может использовать различные механизмы <acronym
|
|
|
>SASL</acronym
|
|
|
> (Simple Authentication and Security Layer). По умолчанию установлен sasldb (он сохраняет имена пользователей и пароли в файле <filename
|
|
|
>sasldb</filename
|
|
|
>), но поддерживаются также getpwent, kerberos4, kerberos5, PAM, rimap, shadow и LDAP.</para>
|
|
|
|
|
|
<para
|
|
|
>Не желая менять уже имеющиеся имена и пароли, я выбрал механизм <quote
|
|
|
>shadow</quote
|
|
|
>, позволяющий использовать для идентификации в <application
|
|
|
>Cyrus</application
|
|
|
> пароли &Linux;.</para>
|
|
|
|
|
|
<para
|
|
|
>Чтобы сделать это, необходимо сообщить sasl об использовании <command
|
|
|
>saslauthd</command
|
|
|
> в качестве метода авторизации, затем настроить <command
|
|
|
>saslauthd</command
|
|
|
> на использование <quote
|
|
|
>shadow</quote
|
|
|
> (или <quote
|
|
|
>getpwent</quote
|
|
|
>) как механизма идентификации.</para>
|
|
|
|
|
|
<para
|
|
|
>OK, начнём!</para>
|
|
|
|
|
|
<para
|
|
|
>Как <systemitem class="username"
|
|
|
>root</systemitem
|
|
|
>, измените системный пароль пользователя <systemitem class="username"
|
|
|
>cyrus</systemitem
|
|
|
>:</para>
|
|
|
|
|
|
<screen
|
|
|
># <userinput
|
|
|
><command
|
|
|
>passwd <option
|
|
|
>cyrus</option
|
|
|
></command
|
|
|
></userinput
|
|
|
></screen>
|
|
|
|
|
|
<para
|
|
|
>Введите пароль, который вам понравится (и который сможете запомнить), в моём примере использован <quote
|
|
|
>cyrus</quote
|
|
|
> как пароль администратора приложения <application
|
|
|
>cyrus</application
|
|
|
>.</para>
|
|
|
|
|
|
<screen
|
|
|
># <command
|
|
|
>vi</command
|
|
|
> <filename
|
|
|
>/etc/imapd.conf</filename
|
|
|
></screen>
|
|
|
|
|
|
<programlisting
|
|
|
>sasl_pwcheck_method: <userinput
|
|
|
>saslauthd</userinput
|
|
|
> <lineannotation
|
|
|
> вместо стоящего по умолчанию <literal
|
|
|
>auxprop</literal
|
|
|
></lineannotation
|
|
|
></programlisting>
|
|
|
|
|
|
<para
|
|
|
>удалите знак <literal
|
|
|
>#</literal
|
|
|
> в начале строки:</para>
|
|
|
|
|
|
<programlisting
|
|
|
>#admins: cyrus</programlisting>
|
|
|
|
|
|
<para
|
|
|
>таким образом пользователь <systemitem class="username"
|
|
|
>cyrus</systemitem
|
|
|
> может распоряжаться учётной записью <application
|
|
|
>cyrus</application
|
|
|
>.</para>
|
|
|
|
|
|
<screen
|
|
|
># <userinput
|
|
|
><command
|
|
|
>vi</command
|
|
|
> <filename
|
|
|
>/etc/default/saslauthd</filename
|
|
|
></userinput
|
|
|
></screen>
|
|
|
|
|
|
<para
|
|
|
>Раскомментируйте строку:</para>
|
|
|
|
|
|
<programlisting
|
|
|
># START=yes</programlisting>
|
|
|
|
|
|
<para
|
|
|
>(иначе <application
|
|
|
>saslauthd</application
|
|
|
> не будет запускаться при загрузке, даже будучи указанным где-нибудь в <filename class="directory"
|
|
|
>/etc/rcx.d</filename
|
|
|
>!)</para>
|
|
|
|
|
|
<para
|
|
|
>и вместо <literal
|
|
|
>MECHANISMS="pam" </literal
|
|
|
> введите <userinput
|
|
|
>MECHANISMS="shadow"</userinput
|
|
|
>, таким образом при загрузке будет выполняться команда <command
|
|
|
>saslauthd</command
|
|
|
><option
|
|
|
>-a<parameter
|
|
|
>shadow </parameter
|
|
|
></option
|
|
|
>.</para>
|
|
|
|
|
|
<para
|
|
|
>Выйдя из редактора, перезапустите <application
|
|
|
>sasl</application
|
|
|
> и <application
|
|
|
>cyrus</application
|
|
|
>.</para>
|
|
|
|
|
|
<para
|
|
|
>Для проверки <acronym
|
|
|
>IMAP</acronym
|
|
|
>:</para>
|
|
|
|
|
|
<screen
|
|
|
><userinput
|
|
|
><command
|
|
|
>su</command
|
|
|
> <option
|
|
|
>cyrus</option
|
|
|
></userinput>
|
|
|
$ <userinput
|
|
|
><command
|
|
|
>imtest</command
|
|
|
> <option
|
|
|
>-m login -p imap localhost</option
|
|
|
></userinput
|
|
|
></screen>
|
|
|
|
|
|
<para
|
|
|
>Предлагается ввести пароль для <systemitem class="username"
|
|
|
>cyrus</systemitem
|
|
|
>, так введём его.</para>
|
|
|
|
|
|
<para
|
|
|
>Если пользователь <systemitem class="username"
|
|
|
>cyrus</systemitem
|
|
|
> правильно идентифицирован, появятся следующие строки:</para>
|
|
|
|
|
|
<screen
|
|
|
><computeroutput
|
|
|
>S: L01 OK User logged in
|
|
|
Authenticated.</computeroutput
|
|
|
></screen>
|
|
|
<para
|
|
|
>Для выхода наберите <userinput
|
|
|
>. logout</userinput
|
|
|
> (точка, пробел, <quote
|
|
|
>logout</quote
|
|
|
>)</para>
|
|
|
|
|
|
<para
|
|
|
>Теперь с помощью обычных системных средств создадим пользователя <systemitem class="username"
|
|
|
>groupware</systemitem
|
|
|
> и установим для него пароль. Он должен принадлежать к какой-нибудь непривилегированной группе, например <systemitem class="groupname"
|
|
|
> nobody</systemitem
|
|
|
>, ему не нужны системная оболочка и домашняя папка.</para>
|
|
|
|
|
|
<para
|
|
|
>Создадим пользователя и <acronym
|
|
|
>IMAP</acronym
|
|
|
> также и в <application
|
|
|
>cyrus</application
|
|
|
>:</para>
|
|
|
|
|
|
<screen
|
|
|
># <userinput
|
|
|
><command
|
|
|
>cyradm</command
|
|
|
> <option
|
|
|
>--user cyrus localhost</option
|
|
|
></userinput>
|
|
|
после ввода пароля администратора <systemitem class="username"
|
|
|
>cyrus</systemitem
|
|
|
>, получим приглашение <prompt
|
|
|
>localhost></prompt>
|
|
|
<prompt
|
|
|
>localhost></prompt
|
|
|
> <userinput
|
|
|
><command
|
|
|
>cm</command
|
|
|
> <option
|
|
|
>user.groupware</option
|
|
|
></userinput>
|
|
|
<prompt
|
|
|
>localhost></prompt
|
|
|
> <userinput
|
|
|
><command
|
|
|
>lm</command
|
|
|
></userinput
|
|
|
> <lineannotation
|
|
|
>выводит только что созданный почтовый ящик</lineannotation>
|
|
|
<computeroutput
|
|
|
>user.groupware (\HasNoChildren))</computeroutput>
|
|
|
<prompt
|
|
|
>localhost></prompt
|
|
|
> <userinput
|
|
|
><command
|
|
|
>quit</command
|
|
|
></userinput
|
|
|
></screen>
|
|
|
|
|
|
<para
|
|
|
>Для вывода списка доступных команд можно набрать <userinput
|
|
|
><command
|
|
|
>help</command
|
|
|
></userinput
|
|
|
>.</para>
|
|
|
|
|
|
<para
|
|
|
>Посмотрим, что у нас получилось:</para>
|
|
|
|
|
|
<screen
|
|
|
># <userinput
|
|
|
><command
|
|
|
>ls</command
|
|
|
> <option
|
|
|
>-l</option
|
|
|
> <filename class="directory"
|
|
|
>/var/spool/cyrus/mail/g/user/groupware</filename
|
|
|
></userinput>
|
|
|
<computeroutput
|
|
|
>total 12
|
|
|
-rw------- 1 cyrus mail 4 Oct 29 20:55 cyrus.cache
|
|
|
-rw------- 1 cyrus mail 155 Oct 29 20:55 cyrus.header
|
|
|
-rw------- 1 cyrus mail 76 Oct 29 20:55 cyrus.index</computeroutput
|
|
|
></screen>
|
|
|
|
|
|
<para
|
|
|
>Теперь можно попробовать подключиться <acronym
|
|
|
>IMAP</acronym
|
|
|
>-клиентом как пользователь <systemitem class="username"
|
|
|
>groupware</systemitem
|
|
|
> и заглянуть в папку <literal
|
|
|
>INBOX</literal
|
|
|
>.</para>
|
|
|
<note
|
|
|
><para
|
|
|
>В протоколе <acronym
|
|
|
>IMAP</acronym
|
|
|
> название почтового ящика <literal
|
|
|
>INBOX</literal
|
|
|
> служит ключевым словом, это в некотором роде <quote
|
|
|
>псевдоним</quote
|
|
|
> структуры каталога выше. Клиент заходит во <literal
|
|
|
>INBOX</literal
|
|
|
>, а сервер <acronym
|
|
|
>IMAP</acronym
|
|
|
> перенаправляет его в папку <filename class="directory"
|
|
|
>/var/spool/cyrus/mail/...</filename
|
|
|
> с её файлами-сообщениями.</para
|
|
|
></note>
|
|
|
|
|
|
</sect1>
|
|
|
|
|
|
<sect1 id="kontact-imap-clients">
|
|
|
<title
|
|
|
>Настройка клиентов &kontact;</title>
|
|
|
|
|
|
<para
|
|
|
>Я подключаюсь к моему офисному серверу с GNU/Linux (это "black box", без клавиатуры и монитора) с двух компьютеров с &Windows; 2000 с помощью <application
|
|
|
>Cygwin/X</application
|
|
|
>, используя их как X-Window сервер (в ближайшем будущем надеюсь заменить их на два тонких клиента mini-itx под управлением). В этой конфигурации каждый пользователь запускает &kontact; на той машине, на которой установлен и запущен <application
|
|
|
>Cyrus</application
|
|
|
> (localhost).</para>
|
|
|
|
|
|
<para
|
|
|
>Чтобы &kontact; работал с <acronym
|
|
|
>IMAP</acronym
|
|
|
>, предпримем следующее:</para>
|
|
|
|
|
|
<procedure>
|
|
|
|
|
|
<step
|
|
|
><para
|
|
|
>Создадим учётную запись <acronym
|
|
|
>IMAP</acronym
|
|
|
> в <application
|
|
|
>Cyrus</application
|
|
|
> для мнимого пользователя <systemitem class="username"
|
|
|
>groupware</systemitem
|
|
|
> (это мы уже сделали)</para
|
|
|
></step>
|
|
|
|
|
|
<step
|
|
|
><para
|
|
|
>Создадим и настроим учётную запись <acronym
|
|
|
>IMAP</acronym
|
|
|
> в &kmail; для входа этого пользователя</para
|
|
|
></step
|
|
|
> <step
|
|
|
><para
|
|
|
>Используйте kresources для того чтобы заставить компоненты &kontact; работать с данными, взятыми из источника <acronym
|
|
|
>IMAP</acronym
|
|
|
></para
|
|
|
></step>
|
|
|
|
|
|
<step
|
|
|
><para
|
|
|
>Включим функции groupware и создадим соответствующие подпапки в <literal
|
|
|
>INBOX</literal
|
|
|
> (если их там ещё нет)</para
|
|
|
></step>
|
|
|
|
|
|
<step
|
|
|
><para
|
|
|
>Приятной работы с новыми друзьями &kontact;, <application
|
|
|
>Cyrus</application
|
|
|
> и IMAP!</para
|
|
|
></step>
|
|
|
|
|
|
</procedure>
|
|
|
|
|
|
<para
|
|
|
>Итак, войдём в &kde; с учётной записью первого <quote
|
|
|
>реального пользователя</quote
|
|
|
>, которому мы хотим предоставить функциональность groupware.</para>
|
|
|
|
|
|
<para
|
|
|
>Создаём учётную запись IMAP в &kmail;.</para>
|
|
|
|
|
|
<para
|
|
|
>Запустим &kontact; и найдём <guilabel
|
|
|
>Почта</guilabel
|
|
|
> (компонент &kmail;). В меню выбираем: <menuchoice
|
|
|
><guimenu
|
|
|
>Настройка</guimenu
|
|
|
><guimenuitem
|
|
|
>Настроить KMail </guimenuitem
|
|
|
><guilabel
|
|
|
>Учётные записи</guilabel
|
|
|
></menuchoice
|
|
|
>, переходим на вкладку <guilabel
|
|
|
>Получение</guilabel
|
|
|
>. Нажмём кнопку <guibutton
|
|
|
>Добавить...</guibutton
|
|
|
>. Будет задан вопрос о типе почтовой учётной записи, выберите <guilabel
|
|
|
>Отсоединённый IMAP</guilabel
|
|
|
> (а не просто <guilabel
|
|
|
>IMAP</guilabel
|
|
|
>). Затем на вкладке <guilabel
|
|
|
>Общие</guilabel
|
|
|
> введём следующие данные:</para>
|
|
|
|
|
|
<variablelist>
|
|
|
<varlistentry>
|
|
|
<term
|
|
|
><guilabel
|
|
|
>Учётное имя:</guilabel
|
|
|
> <userinput
|
|
|
>office_gwdata</userinput
|
|
|
></term>
|
|
|
<listitem>
|
|
|
<para
|
|
|
>Так будет названа <quote
|
|
|
>локальная</quote
|
|
|
> папка, указывающая на эту учётную запись <acronym
|
|
|
>IMAP</acronym
|
|
|
>.</para>
|
|
|
</listitem
|
|
|
>
|
|
|
</varlistentry>
|
|
|
<varlistentry>
|
|
|
<term
|
|
|
><guilabel
|
|
|
>Имя:</guilabel
|
|
|
> <userinput
|
|
|
>groupware</userinput
|
|
|
></term>
|
|
|
<listitem>
|
|
|
<para
|
|
|
>Пользователь <application
|
|
|
>Cyrus</application
|
|
|
>, избранный <quote
|
|
|
>владельцем</quote
|
|
|
> всех офисных данных</para>
|
|
|
</listitem>
|
|
|
</varlistentry>
|
|
|
<varlistentry
|
|
|
><term
|
|
|
><guilabel
|
|
|
>Пароль:</guilabel
|
|
|
></term>
|
|
|
<listitem>
|
|
|
<para
|
|
|
>Пароль пользователя <systemitem class="username"
|
|
|
>groupware</systemitem
|
|
|
>.</para>
|
|
|
</listitem>
|
|
|
</varlistentry>
|
|
|
<varlistentry>
|
|
|
<term
|
|
|
><guilabel
|
|
|
>Сервер:</guilabel
|
|
|
> <userinput
|
|
|
>localhost</userinput
|
|
|
></term>
|
|
|
<listitem>
|
|
|
<para
|
|
|
>Помним, в нашем примере клиент &kontact; действует на том же компьютере, что и <acronym
|
|
|
>IMAP</acronym
|
|
|
> сервер</para>
|
|
|
</listitem>
|
|
|
</varlistentry>
|
|
|
<varlistentry>
|
|
|
<term
|
|
|
><guilabel
|
|
|
>Порт:</guilabel
|
|
|
> <userinput
|
|
|
>143</userinput
|
|
|
></term>
|
|
|
<listitem>
|
|
|
<para
|
|
|
>По умолчанию</para>
|
|
|
</listitem>
|
|
|
</varlistentry>
|
|
|
</variablelist>
|
|
|
|
|
|
<para
|
|
|
>Отметьте галочкой <guilabel
|
|
|
>Хранить пароль IMAP в файле настроек</guilabel
|
|
|
>, чтобы не вводить его снова и снова. Отметьте также <guilabel
|
|
|
>Периодическая проверка почты</guilabel
|
|
|
> и задайте значение в минутах.</para>
|
|
|
|
|
|
<para
|
|
|
>Заметьте, что выбран тип учётной записи <guilabel
|
|
|
>Отсоединённый IMAP</guilabel
|
|
|
>. В этом случае копии данных groupware хранятся <quote
|
|
|
>локально</quote
|
|
|
> по отношению к клиенту (в его домашней папке) и синхронизируются при каждом его подключении. На первый взгляд, это очень неэффективно, так как данные многократно дублируются (например, на 10 пользователей &kontact; будет 10+1 копий данных). Но это единственная возможность добиться высокой скорости, ведь &kontact; при каждом подключении доставляет все данные и заставляет &korganizer; и &kaddressbook; обрабатывать их. Если же при <quote
|
|
|
>Отсоединённом IMAP</quote
|
|
|
> данные хранятся в одном месте, пересылаются только <quote
|
|
|
>delta</quote
|
|
|
> (изменённые) данные.</para>
|
|
|
|
|
|
<para
|
|
|
>С другой стороны, если пользователи работают с &korganizer; на той же машине, что <acronym
|
|
|
>IMAP</acronym
|
|
|
> сервер, может показаться более разумным выбрать режим <acronym
|
|
|
>IMAP</acronym
|
|
|
> (так называемый <quote
|
|
|
>онлайн IMAP</quote
|
|
|
>) для экономии места, если скорость передачи не очень важна. К несчастью, этот способ не действует, потому что &kontact; в режиме <quote
|
|
|
>IMAP</quote
|
|
|
> не может автоматически обновлять папку <guilabel
|
|
|
>Календарь</guilabel
|
|
|
>. Поэтому, когда кто-нибудь добавляет в эту папку данные, общего обновления не происходит (необходимо вручную включать приложение &kmail; и щёлкать на папке <guilabel
|
|
|
>Календарь</guilabel
|
|
|
>). Кроме того, когда при пуске начинается чтение папок <guilabel
|
|
|
>Календарь</guilabel
|
|
|
>, происходит ужасное мигание и замедление обновления данных.</para>
|
|
|
|
|
|
<para
|
|
|
>Теперь можно сообщить &kontact; об использовании <acronym
|
|
|
>IMAP</acronym
|
|
|
> как источника данных для своих компонентов. Из &kmenu;, выберите <guimenuitem
|
|
|
>Выполнить программу</guimenuitem
|
|
|
>, введите <userinput
|
|
|
><command
|
|
|
>kcmshell kresources</command
|
|
|
></userinput
|
|
|
>. В выпадающем списке выберите <guilabel
|
|
|
>Контакты</guilabel
|
|
|
>, затем нажмите кнопку <guibutton
|
|
|
>Добавить...</guibutton
|
|
|
> и выберите <guilabel
|
|
|
>Адресная книга на сервере IMAP через KMail</guilabel
|
|
|
>. Затем выберите эту новую запись и нажмите кнопку <guibutton
|
|
|
>Использовать как стандартный</guibutton
|
|
|
>. Сделайте то же самое для типов <guilabel
|
|
|
>Календарь</guilabel
|
|
|
> и <guilabel
|
|
|
>Заметки</guilabel
|
|
|
>.</para>
|
|
|
|
|
|
<para
|
|
|
>Теперь включите функциональность groupware в &kmail; (а следовательно, в всём &kontact;):</para>
|
|
|
|
|
|
<procedure>
|
|
|
<step>
|
|
|
<para
|
|
|
>Выберите в меню <menuchoice
|
|
|
><guimenu
|
|
|
>Настройка</guimenu
|
|
|
><guimenuitem
|
|
|
>Настроить KMail</guimenuitem
|
|
|
><guilabel
|
|
|
>Разное</guilabel
|
|
|
><guilabel
|
|
|
>Совместная работа</guilabel
|
|
|
></menuchoice
|
|
|
></para>
|
|
|
</step>
|
|
|
<step>
|
|
|
<para
|
|
|
>Отметьте <guilabel
|
|
|
>Включить функциональность IMAP</guilabel
|
|
|
></para>
|
|
|
</step>
|
|
|
<step>
|
|
|
<para
|
|
|
>Выберите <guilabel
|
|
|
>Английский</guilabel
|
|
|
> как <guilabel
|
|
|
>Язык папок совместной работы</guilabel
|
|
|
> (на тот случай, если на сервере <acronym
|
|
|
>IMAP</acronym
|
|
|
> уже есть папки, созданные другой программой на другом языке).</para>
|
|
|
</step>
|
|
|
<step>
|
|
|
<para
|
|
|
>Теперь перейдём к <guilabel
|
|
|
>Корневая папка ресурсов</guilabel
|
|
|
> и выберем подпапку <guilabel
|
|
|
>Inbox</guilabel
|
|
|
> в папке <guilabel
|
|
|
>office_gwdata</guilabel
|
|
|
>.</para>
|
|
|
<para
|
|
|
>Пункт <guilabel
|
|
|
>Скрыть папки совместной работы</guilabel
|
|
|
> оставим пока неотмеченным и посмотрим, что из этого получится. В дальнейшем, когда окончательно во всём разберёмся, можно будет вернуться и отметить его.</para>
|
|
|
</step>
|
|
|
<step>
|
|
|
<para
|
|
|
>Нажав OK, получаем предложение: <computeroutput
|
|
|
>&kmail; создаст требуемые папки для ресурса IMAP как подпапки Inbox</computeroutput
|
|
|
> </para>
|
|
|
<para
|
|
|
>Если нам этого не нужно, нажмём <guibutton
|
|
|
>Нет</guibutton
|
|
|
>, и ресурсы <acronym
|
|
|
>IMAP</acronym
|
|
|
> будут удалены. Нажмём <guibutton
|
|
|
>Да</guibutton
|
|
|
> (эта возможность появляется только раз, для первого <quote
|
|
|
>реального пользователя</quote
|
|
|
>). Тут же можно заметить, как в дереве папок &kmail; в папках <menuchoice
|
|
|
><guilabel
|
|
|
>office_gwdata</guilabel
|
|
|
><guilabel
|
|
|
>Inbox</guilabel
|
|
|
></menuchoice
|
|
|
> создаются эти подпапки.</para>
|
|
|
<simplelist>
|
|
|
<member
|
|
|
>Календарь</member>
|
|
|
<member
|
|
|
>Контакты</member>
|
|
|
<member
|
|
|
>Заметки</member>
|
|
|
<member
|
|
|
>Задачи</member>
|
|
|
<member
|
|
|
>Журнал</member>
|
|
|
</simplelist>
|
|
|
<para
|
|
|
>если вы сейчас сделаете:</para>
|
|
|
<screen
|
|
|
># <command
|
|
|
>ls</command
|
|
|
> <option
|
|
|
>-l /var/spool/cyrus/mail/g/user/groupware/</option>
|
|
|
<computeroutput
|
|
|
>drwx------ 2 cyrus mail 144 Oct 31 16:36 Calendar
|
|
|
drwx------ 2 cyrus mail 144 Oct 31 16:36 Contacts
|
|
|
drwx------ 2 cyrus mail 144 Oct 31 16:36 Journal
|
|
|
drwx------ 2 cyrus mail 144 Oct 31 16:36 Notes
|
|
|
drwx------ 2 cyrus mail 144 Oct 31 16:36 Tasks
|
|
|
-rw------- 1 cyrus mail 4 Oct 31 15:28 cyrus.cache
|
|
|
-rw------- 1 cyrus mail 155 Oct 29 20:55 cyrus.header
|
|
|
-rw------- 1 cyrus mail 76 Oct 31 15:28 cyrus.index</computeroutput
|
|
|
></screen>
|
|
|
|
|
|
<para
|
|
|
>Как можно заметить, <guilabel
|
|
|
>office_gwdata Inbox</guilabel
|
|
|
> находится не в домашней директории пользователя &kontact;, а в папках пользователей <acronym
|
|
|
>IMAP</acronym
|
|
|
> <systemitem class="username"
|
|
|
>groupware</systemitem
|
|
|
>.</para>
|
|
|
</step>
|
|
|
</procedure>
|
|
|
|
|
|
<para
|
|
|
>Теперь &kontact; готов к работе и хранению данных в этих папках. В календаре, если учётная запись &kmail; <acronym
|
|
|
>IMAP</acronym
|
|
|
> имела тип <quote
|
|
|
>Отсоединённый</quote
|
|
|
>, в окне <guilabel
|
|
|
>Ресурс</guilabel
|
|
|
> должен быть виден пункт <guilabel
|
|
|
>Imap-ресурс</guilabel
|
|
|
> с тремя подпунктами, которые являются путями к локальным домашним файлам. А вот в пункте <guilabel
|
|
|
>Контакты</guilabel
|
|
|
> подпунктов в <guilabel
|
|
|
>Imap-ресурс</guilabel
|
|
|
> нет.</para>
|
|
|
|
|
|
<para
|
|
|
>Теперь можно войти в &kde; под именем другого пользователя, и подобным же образом настроить его/её клиент &kontact;.</para>
|
|
|
|
|
|
<procedure>
|
|
|
<step>
|
|
|
<para
|
|
|
>Откройте &kontact;, и в компоненте <guilabel
|
|
|
>Письмо</guilabel
|
|
|
> добавьте учётную запись <acronym
|
|
|
>IMAP</acronym
|
|
|
>, указав в качестве <guilabel
|
|
|
>Сервер</guilabel
|
|
|
> компьютер, на котором установлен <application
|
|
|
>Cyrus</application
|
|
|
> сервер (в моём случае: <literal
|
|
|
>192.168.1.3</literal
|
|
|
>).</para>
|
|
|
|
|
|
<para
|
|
|
>Не забудьте поставить флажок <guilabel
|
|
|
>Периодическая проверка почты</guilabel
|
|
|
> и установить значение в минутах. Когда вы подтвердите свои действия, вопрос о создании подпапок задан не будет (ведь они уже созданы на сервере <acronym
|
|
|
>IMAP</acronym
|
|
|
>), их можно увидеть в дереве папок.</para>
|
|
|
</step>
|
|
|
<step>
|
|
|
<para
|
|
|
>Активируйте функциональность groupware для получения возможности сохранять данные на сервере <acronym
|
|
|
>IMAP</acronym
|
|
|
>.</para>
|
|
|
</step>
|
|
|
</procedure>
|
|
|
<para
|
|
|
>Помните, что в режиме <quote
|
|
|
>Отсоединённый <acronym
|
|
|
>IMAP</acronym
|
|
|
></quote
|
|
|
> данные передаются от клиента на сервер <acronym
|
|
|
>IMAP</acronym
|
|
|
> только тогда, когда клиент подключается для проверки почты. Поэтому, если у ваших клиентов &kontact; <guilabel
|
|
|
>Интервал между проверками</guilabel
|
|
|
> установлен, например, 5 минут, то в худшем случае задержка между записью события и его появлением перед другими пользователями составит 10 минут.</para>
|
|
|
</sect1>
|
|
|
<sect1 id="kontact-imap-readonly">
|
|
|
<title
|
|
|
>Как установить доступ только для чтения</title>
|
|
|
|
|
|
<note
|
|
|
><para
|
|
|
>Хочу предупредить, что реализация Заметок <acronym
|
|
|
>IMAP</acronym
|
|
|
> в &kontact; вплоть до версии 1.01 была неустойчивой, поэтому описанные настройки с прежними версиями могут не работать. Если вы хотите пользоваться этими версиями, понадобятся настройки, существовавшие ранее.</para
|
|
|
></note>
|
|
|
|
|
|
<para
|
|
|
>В этих прежних настройках существует тот же <quote
|
|
|
>мнимый</quote
|
|
|
> пользователь под именем <systemitem class="username"
|
|
|
>groupware</systemitem
|
|
|
>, имя и пароль которого применяют все <quote
|
|
|
>реальные</quote
|
|
|
> пользователи &kontact; (т.е. <systemitem class="username"
|
|
|
>tony</systemitem
|
|
|
>, <systemitem class="username"
|
|
|
>rohn</systemitem
|
|
|
>, <systemitem class="username"
|
|
|
>amanda</systemitem
|
|
|
> и т.д.) через учётную запись <acronym
|
|
|
>IMAP</acronym
|
|
|
>. Но таким образом все реальные пользователи имеют одинаковые права чтения/записи, так как каждый подключается к <acronym
|
|
|
>IMAP</acronym
|
|
|
> серверу как пользователь <systemitem class="username"
|
|
|
>groupware</systemitem
|
|
|
>.</para>
|
|
|
|
|
|
<para
|
|
|
>Для ограничения доступа некоторым пользователям (обычно, предоставляется доступ только для чтения), можно воспользоваться <acronym
|
|
|
>ACL</acronym
|
|
|
> (Access Control Lists).</para>
|
|
|
|
|
|
<para
|
|
|
>В &kmail; выберите подпапку <guilabel
|
|
|
>office_gwdata</guilabel
|
|
|
>, например, <guilabel
|
|
|
>Календарь</guilabel
|
|
|
>, и, щёлкнув на ней правой кнопкой мыши, выберите пункт <guilabel
|
|
|
>Параметры</guilabel
|
|
|
>, вкладку <guilabel
|
|
|
>Контроль доступа</guilabel
|
|
|
>. Здесь можно указать, каким пользователям и какие права доступа к этой папке вы хотите предоставить.</para>
|
|
|
|
|
|
<para
|
|
|
>Ради эксперимента, дадим права <quote
|
|
|
>All</quote
|
|
|
> пользователю <systemitem class="username"
|
|
|
>mary</systemitem
|
|
|
></para>
|
|
|
|
|
|
<para
|
|
|
>Сначала на уровне приложения <application
|
|
|
>cyrus</application
|
|
|
> (на той машине, на которой размещён <acronym
|
|
|
>IMAP</acronym
|
|
|
> сервер cyrus, средствами приложения <application
|
|
|
>cyrus</application
|
|
|
>) добавим пользователя <systemitem class="username"
|
|
|
>mary</systemitem
|
|
|
>, чтобы этого пользователя мог опознать <acronym
|
|
|
>IMAP</acronym
|
|
|
>, и создадим для неё <acronym
|
|
|
>IMAP</acronym
|
|
|
> папку.</para>
|
|
|
|
|
|
<para
|
|
|
>Затем входим в GNU/Linux как <systemitem class="username"
|
|
|
>mary</systemitem
|
|
|
> и переходим в &kontact;. Как мы видели прежде, учётную запись <acronym
|
|
|
>IMAP</acronym
|
|
|
> в &kmail; вы можете настроить как один из пользователей (вместо мнимого пользователя <systemitem class="username"
|
|
|
>groupware</systemitem
|
|
|
> и его пароля, мы можем использовать имя <systemitem class="username"
|
|
|
>mary</systemitem
|
|
|
> и её пароль).</para>
|
|
|
|
|
|
<para
|
|
|
>На этот раз в дереве папок &kmail; вы увидите следующую структуру: <menuchoice
|
|
|
><guimenu
|
|
|
>office_gwdata</guimenu
|
|
|
><guisubmenu
|
|
|
>user</guisubmenu
|
|
|
> <guisubmenu
|
|
|
>groupware</guisubmenu
|
|
|
><guimenuitem
|
|
|
>Календарь и Задачи</guimenuitem
|
|
|
></menuchoice
|
|
|
>. Проверьте почту (<menuchoice
|
|
|
><guimenu
|
|
|
>Файл</guimenu
|
|
|
><guimenuitem
|
|
|
>Проверить почту</guimenuitem
|
|
|
></menuchoice
|
|
|
>), и вы также увидите папку <quote
|
|
|
>входящие</quote
|
|
|
> под папкой <quote
|
|
|
>office_gwdata</quote
|
|
|
>.</para>
|
|
|
|
|
|
<para
|
|
|
>Теперь включим функциональность groupware &kmail;, и в <guilabel
|
|
|
>Папки IMAP есть подпапки:</guilabel
|
|
|
> укажем <guimenuitem
|
|
|
>Входящие</guimenuitem
|
|
|
>, которая является подпапкой <quote
|
|
|
>office_gwdata</quote
|
|
|
>.</para>
|
|
|
|
|
|
<para
|
|
|
>Теперь включим возможности groupware &kmail;, и в <guilabel
|
|
|
>Папки IMAP есть подпапки:</guilabel
|
|
|
> укажем <guimenuitem
|
|
|
>Входящие</guimenuitem
|
|
|
>, которая является подпапкой <guisubmenu
|
|
|
>office_gwdata</guisubmenu
|
|
|
>.</para>
|
|
|
|
|
|
<para
|
|
|
>У нас появились две ветви папок в <quote
|
|
|
>office_gwdata</quote
|
|
|
>:</para>
|
|
|
|
|
|
<orderedlist>
|
|
|
<listitem>
|
|
|
<para
|
|
|
><quote
|
|
|
>Входящие</quote
|
|
|
> с папками Календарь, Контакты, Заметки, Задачи и Журнал, которые хранятся в папках <systemitem class="username"
|
|
|
>mary</systemitem
|
|
|
> <acronym
|
|
|
>IMAP</acronym
|
|
|
> на <acronym
|
|
|
>IMAP</acronym
|
|
|
> сервере</para>
|
|
|
</listitem>
|
|
|
<listitem>
|
|
|
<para
|
|
|
><quote
|
|
|
>user</quote
|
|
|
>, с подпапкой <quote
|
|
|
>groupware</quote
|
|
|
> и подпапками, к которым имеет доступ <systemitem class="username"
|
|
|
>mary</systemitem
|
|
|
> (в нашем примере, Календарь и Задачи)</para>
|
|
|
</listitem>
|
|
|
</orderedlist>
|
|
|
<para
|
|
|
>Правой кнопкой мыши щёлкнем <quote
|
|
|
>user</quote
|
|
|
> <quote
|
|
|
>Календарь</quote
|
|
|
> и проверим, имеет ли он тип Календарь (если нет, то установим его как надо). Так же поступим с папкой <quote
|
|
|
>user</quote
|
|
|
> <quote
|
|
|
>Задачи</quote
|
|
|
>.</para>
|
|
|
<para
|
|
|
>Теперь в Календаре у вас есть два возможных <acronym
|
|
|
>IMAP</acronym
|
|
|
>-ресурса для записи, поэтому, когда вы создадите новое событие, вам будет задан вопрос, какой из них использовать (а если оставлены доступными локальные ресурсы, придётся выбирать из трёх!).</para>
|
|
|
<para
|
|
|
>Нужно переместить курсор в нижнее левое маленькое окошко Календаря, которое показывает доступные ресурсы, и снять отметку с тех, что не указывают на <guilabel
|
|
|
>.groupware.directory</guilabel
|
|
|
> (см. хвостовую часть пути к ресурсу).</para>
|
|
|
|
|
|
</sect1>
|
|
|
|
|
|
<sect1 id="kontact-imap-credits">
|
|
|
<title
|
|
|
>Благодарности</title>
|
|
|
|
|
|
<para
|
|
|
>Я новичок, и смог вложить в это руководство только свои время и желание. Реальными же знаниями я обязан некоторым наставникам из мира свободного ПО, которых хочу поблагодарить за компетенцию, терпение и готовность прийти на помощь.</para>
|
|
|
|
|
|
<itemizedlist>
|
|
|
<title
|
|
|
>Особая благодарность:</title>
|
|
|
<listitem>
|
|
|
<para
|
|
|
>За часть <application
|
|
|
>Cyrus</application
|
|
|
> <acronym
|
|
|
>IMAP</acronym
|
|
|
> в #cyrus channel:</para
|
|
|
>
|
|
|
<itemizedlist>
|
|
|
<listitem>
|
|
|
<para
|
|
|
>[protagonist] Энди Моргану (Andy Morgan) <email
|
|
|
>morgan@orst.edu</email
|
|
|
></para>
|
|
|
</listitem>
|
|
|
<listitem>
|
|
|
<para
|
|
|
>[plixed] Окке Тимму (Okke Timm) <email
|
|
|
>okke.timm@web.de</email
|
|
|
></para>
|
|
|
</listitem>
|
|
|
</itemizedlist>
|
|
|
</listitem>
|
|
|
<listitem>
|
|
|
<para
|
|
|
>За часть &kontact; в #kontact channel:</para>
|
|
|
<itemizedlist>
|
|
|
<listitem>
|
|
|
<para
|
|
|
>[till] Тиллю Адаму (Till Adam) <email
|
|
|
>adam@kde.org</email
|
|
|
></para>
|
|
|
</listitem>
|
|
|
<listitem>
|
|
|
<para
|
|
|
>[dfaure] Дэвиду Фору (David Faure) <email
|
|
|
>faure@kde.org</email
|
|
|
></para>
|
|
|
</listitem>
|
|
|
<listitem>
|
|
|
<para
|
|
|
>[mdouhan] Мэтту Духану (Matt Douhan <email
|
|
|
>matt@fruitsalad.org</email
|
|
|
></para>
|
|
|
</listitem>
|
|
|
</itemizedlist>
|
|
|
</listitem>
|
|
|
</itemizedlist>
|
|
|
|
|
|
<para
|
|
|
>Благодарю всех своих наставников!</para>
|
|
|
|
|
|
<para
|
|
|
>Ах, да, вот ещё я, [markit] Марко Менарди (Marco Menardi)<email
|
|
|
>mmenaz@mail.com</email
|
|
|
></para>
|
|
|
|
|
|
</sect1>
|
|
|
|
|
|
<sect1 id="kontact-imap-further-reading">
|
|
|
<title
|
|
|
>Дополнительные сведения</title>
|
|
|
|
|
|
<itemizedlist>
|
|
|
<title
|
|
|
>Ссылки</title>
|
|
|
<listitem
|
|
|
><para
|
|
|
>KDE: <ulink url="http://www.kde.org"
|
|
|
>http://www.kde.org</ulink
|
|
|
></para
|
|
|
></listitem>
|
|
|
<listitem
|
|
|
><para
|
|
|
>Веб-сайт &kontact;: <ulink url="http://www.kontact.org"
|
|
|
>http://www.kontact.org</ulink
|
|
|
></para
|
|
|
></listitem>
|
|
|
<listitem
|
|
|
><para
|
|
|
>Проект Kroupware: <ulink url="http://www.kroupware.org"
|
|
|
>http://www.kroupware.org</ulink
|
|
|
></para
|
|
|
></listitem>
|
|
|
<listitem
|
|
|
><para
|
|
|
>Форум Сообщества &kde;: <ulink url="http://wiki.kde.org"
|
|
|
>http://wiki.kde.org</ulink
|
|
|
></para
|
|
|
></listitem>
|
|
|
<listitem
|
|
|
><para
|
|
|
>Проект Wine: <ulink url="http://www.winehq.org"
|
|
|
>http://www.winehq.org</ulink
|
|
|
></para
|
|
|
></listitem>
|
|
|
<listitem
|
|
|
><para
|
|
|
>Проект Cygwin/X: <ulink url="http://x.cygwin.com"
|
|
|
>http://x.cygwin.com</ulink
|
|
|
></para
|
|
|
></listitem>
|
|
|
<listitem
|
|
|
><para
|
|
|
>Проект LTSP: <ulink url="http://www.ltsp.org"
|
|
|
>http://www.ltsp.org</ulink
|
|
|
></para
|
|
|
></listitem>
|
|
|
</itemizedlist>
|
|
|
|
|
|
</sect1>
|
|
|
|
|
|
</chapter>
|
|
|
|
|
|
<!-- Keep this comment at the end of the file
|
|
|
Local variables:
|
|
|
mode: xml
|
|
|
sgml-omittag:nil
|
|
|
sgml-shorttag:nil
|
|
|
sgml-namecase-general:nil
|
|
|
sgml-general-insert-case:lower
|
|
|
sgml-minimize-attributes:nil
|
|
|
sgml-always-quote-attributes:t
|
|
|
sgml-indent-step:0
|
|
|
sgml-indent-data:true
|
|
|
sgml-parent-document:("index.docbook" "book" "chapter")
|
|
|
sgml-exposed-tags:nil
|
|
|
sgml-local-catalogs:nil
|
|
|
sgml-local-ecat-files:nil
|
|
|
End:
|
|
|
-->
|