Редактирование: Zarafa

Перейти к: навигация, поиск

Внимание: Вы работаете как анонимный пользователь. Ваш IP-адрес будет записан в историю изменений этой страницы.

Правка может быть отменена. Пожалуйста, просмотрите сравнение версий, чтобы убедиться, что это именно те изменения, которые вас интересуют, и нажмите «Записать страницу», чтобы изменения вступили в силу.
Текущая версия Ваш текст
Строка 1: Строка 1:
{{ОбновляемаяСтатья}}
+
{{Шаблон:ОбновляемаяСтатья}}
 
{{W|en:Zarafa_(software)}}
 
{{W|en:Zarafa_(software)}}
  
== Инструкция по установке Zarafa Collaboration Platform ==
+
==Инструкция по установке Zarafa Collaboration Platform==
  
Для [http://www.altlinux.ru ALT Linux] собирается [https://community.zarafa.com/ Open Source & Community Version Zarafa] с версии 7.0.0 rc1.<br />
+
Для [http://www.altlinux.ru ALTLinux] собирается [http://www.zarafa.com/content/community Open Source & Community Version Zarafa] с версии 7.0.0 rc1, в которую включены [http://cg.ru/node/152 наши] доработки.<br />
'''Git-репозиторий:''' http://git.altlinux.org/gears/z/zarafa.git
+
'''Git-репозиторий:''' http://git.altlinux.org/people/radik/packages/zarafa.git
  
Эта инструкция предназначена для описания настройки Zarafa-Server и сопутствующих служб почтового сервера и органайзера Zarafa. В качестве MTA (агента по передаче писем) принят postfix. Использование других MTA [http://www.zarafa.com/wiki/index.php/MTA_integration возможно], они будут протестированы в дальнейшем. Zarafa предполагается использовать как замена Microsoft Exchange. Дистрибутив Linux — [http://shop.altlinux.ru/index.php?productID=749 ALT Linux 6.0 Centaurus]. Эта инструкция является максимально всеобъемлющей и универсальной. В своем роде она может заменить официальную документацию и в некоторых аспектах дополнить её.
+
Эта инструкция предназначена для описания настройки Zarafa-Server и сопутствующих служб почтового сервера и органайзера Zarafa. В качестве MTA (агента по передаче писем) принят postfix. Использование других MTA [http://www.zarafa.com/wiki/index.php/MTA_integration возможно], они будут протестированы в дальнейшем. Zarafa предполагается использовать как замена Microsoft Exchange. Дистрибутив Linux — [http://shop.altlinux.ru/index.php?productID=749 ALT Linux 6.0 Centaurus]. Эта инструкция является максимально всеобъемлющей и универсальной. В своем роде он может заменить официальную документацию и в некоторых аспектах дополнить её.
  
'''Примечание''': я как автор этой инструкции не могу дать 100 % гарантии, что всё нижесказанное будет работать так, как я описал. Если вы нашли ошибку или недоработку, или считаете, что статью нужно дополнить, прошу оповестить меня об этом. Я с радостью приму Вашу помощь.
+
'''Примечание''': я как автор этой инструкции не могу дать 100% гарантии, что всё нижесказанное будет работать так, как я описал. Если вы нашли ошибку или недоработку, или считаете, что статью нужно дополнить, прошу оповестить меня об этом. Я с радостью приму Вашу помощь.
  
 
'''Примечание 1.5'''. Большинство операции выполняются из-под root.
 
'''Примечание 1.5'''. Большинство операции выполняются из-под root.
  
'''Примечание 2'''. Если что-то не сработало, не паникуйте, перепроверьте все набранные данные, так же не будет лишним проверить [http://jira.zarafa.com багтрекер]. В моей практике происходили самые разнообразные проблемы и, слава науке, все они успешно разрешились. Поэтому ваша проблема тоже, скорее всего, решаема. Еще один совет — всегда старайтесь использовать последние версии всех сервисов.
+
'''Примечание 2'''. Если что-то не сработало, не паникуйте, перепроверьте все набранные данные, так же не будет лишним проверить [http://jira.zarafa.com багтрекер]. В моей практике происходили самые разнообразные проблемы и, слава науке, все они успешно разрешились. Поэтому ваша проблема тоже, скорее всего, решаема. Еще один совет - всегда старайтесь использовать последние версии всех сервисов.
  
 
Итак, начнём менять жизнь к лучшему.
 
Итак, начнём менять жизнь к лучшему.
  
== Предварительная настройка ==
+
==Предварительная настройка==
  
=== Установка необходимых пакетов ===
+
===Установка необходимых пакетов===
  
 
Допускаем, что был установлен дистрибутив Alt Linux p6 любой редакции. Рекомендую перед установкой предлагаемых пакетов полностью обновить ОС.
 
Допускаем, что был установлен дистрибутив Alt Linux p6 любой редакции. Рекомендую перед установкой предлагаемых пакетов полностью обновить ОС.
Строка 27: Строка 27:
 
'''Apache, php5 и ssl-модули к нему''':
 
'''Apache, php5 и ssl-модули к нему''':
 
<pre>apt-get install apache2 apache2-mod_php5 apache2-mod_ssl</pre>
 
<pre>apt-get install apache2 apache2-mod_php5 apache2-mod_ssl</pre>
'''Postfix с поддержкой LDAP и TLS''':
+
'''Postfix с поддержкой LDAP''':
<pre>apt-get install postfix postfix-ldap postfix-tls</pre>
+
<pre>apt-get install postfix postfix-ldap</pre>
 
Если предполагается интеграция postfix и mysql, установите postfix-mysql. Однако я не рекомендую использовать mysql в качестве хранилища пользователей.
 
Если предполагается интеграция postfix и mysql, установите postfix-mysql. Однако я не рекомендую использовать mysql в качестве хранилища пользователей.
 
 
'''MySQL'''
 
'''MySQL'''
 
<pre>apt-get install mysql</pre>
 
<pre>apt-get install mysql</pre>
'''LDAP'''
 
<pre>apt-get install 389-ds-console 389-ds 389-adminutil 389-admin</pre>
 
 
'''Zarafa'''
 
'''Zarafa'''
 
<pre>apt-get install zarafa</pre>
 
<pre>apt-get install zarafa</pre>
Строка 42: Строка 39:
 
Все остальные необходимые пакеты установятся (точнее, должны установиться) по зависимостям. При наличии проблем с установкой проверьте, все ли необходимые репозитории подключены и есть ли доступ к ним.
 
Все остальные необходимые пакеты установятся (точнее, должны установиться) по зависимостям. При наличии проблем с установкой проверьте, все ли необходимые репозитории подключены и есть ли доступ к ним.
  
'''Примечание.''' Если установить только Zarafa без веб-интерфейса к нему (в частности, zarafa-webaccess) почти все службы Zarafa не заработают. Проблема возникает из-за того, что системные службы используют tzdata, а он не устанавливается по зависимостям в случае отказа от установки веб-интерфейса. Проблема зафиксирована только в одной редакции дистрибутива — Server Light. Для решения проблемы установите tzdata вручную: '''apt-get install tzdata'''. После еще раз запустите службы Zarafa. Естественно, перед запуском сервер и службы необходимо как следует настроить, об этом далее.
+
'''Примечание.''' Если установить только Zarafa без веб-интерфейса к нему (в частности, zarafa-webaccess) почти все службы Zarafa не заработают. Проблема возникает из-за того, что системные службы используют tzdata, а он не устанавливается по зависимостям в случае отказа от установки веб-интерфейса. Проблема зафиксирована только в одной редакции дистрибутива - Server Light. Для решения проблемы установите tzdata вручную: '''apt-get install tzdata'''. После еще раз запустите службы Zarafa. Естественно, перед запуском сервер и службы необходимо как следует настроить, об этом далее.
  
 
Теперь расскажу о пакетах zarafa отдельно, которые установятся по зависимостям мета-пакетом zarafa.
 
Теперь расскажу о пакетах zarafa отдельно, которые установятся по зависимостям мета-пакетом zarafa.
  
1. '''zarafa-dagent''' — служба доставки писем. Используется собственно для принятия входящей почты с postfix и помещение их в хранилище пользователя. Обязателен к установке в случае необходимости функции принятия почты.
+
1. '''zarafa-dagent''' - служба доставки писем. Используется собственно для принятия входящей почты с postfix и помещение их в хранилище пользователя. Обязателен к установке в случае необходимости функции принятия почты.
 
 
2. '''zarafa-gateway''' — служба поддержки IMAP и POP3-протоколов. Предоставляет возможность использования почтой Zarafa клиентами, поддерживающие указанные протоколы. Эта служба работает по аналогии с Exchange, транслируя запросы между протоколом MAPI и указанными протоколами почты. Мы рекомендуем использовать IMAP-клиенты. Обязателен в случае использования соответствующих клиентов.
 
  
3. '''zarafa-ical''' — служба поддержки календарей. Поддерживается как iCal, так и CalDAV.
+
2. '''zarafa-gateway''' - служба поддержки IMAP и POP3-протоколов. Предоставляет возможность использования почтой Zarafa клиентами, поддерживающие указанные протоколы. Эта служба работает по аналогии с Exchange, транслируя запросы между протоколом MAPI и указанными протоколами почты. Мы рекомендуем использовать IMAP-клиенты. Обязателен в случае использования соответствующих клиентов.
  
4. '''zarafa-indexer''' — служба индексации почты. Необходим для повышения скорости поиска в почте. Суть в том, что некоторая почта хранится прямиком в файловой системе и при поиске делается меньше SQL-запросов в базу данных, тем самым разгружая ресурсы компьютера. Крайне рекомендуем к установке.
+
3. '''zarafa-ical''' - служба поддержки календарей. Поддерживается как iCal, так и CalDAV.
  
5. '''zarafa-monitor''' — служба отслеживания квот, предоставляемых хранилищам пользователя.
+
4. '''zarafa-indexer''' - служба индексации почты. Необходим для повышения скорости поиска в почте. Суть в том, что некоторая почта хранится прямиком в файловой системе и при поиске делается меньше SQL-запросов в базу данных, тем самым разгружая ресурсы компьютера. Крайне рекомендуем к установке.
 +
5. '''zarafa-monitor''' - служба отслеживания квот, предоставляемых хранилищам пользователя.
  
6. '''zarafa-server''' — ядро всей почтовой инфраструктуры, обеспечивающий поддержку MAPI и обрабатывающий все проходящую корреспонденцию.
+
6. '''zarafa-server''' - ядро всей почтовой инфраструктуры, обеспечивающий поддержку MAPI и обрабатывающий все проходящую корреспонденцию.
  
7. '''zarafa-spooler''' — служба очереди исходящей почты. Обязателен к установке, если нужна функция отправки почты.
+
7. '''zarafa-spooler''' - служба очереди исходящей почты. Обязателен к установке, если нужна функция отправки почты.
  
 
Теперь немного о веб-интерфейсах.
 
Теперь немного о веб-интерфейсах.
  
1. '''Zarafa Webaccess''' — это классический веб-интерфейс Zarafa. Очень похож на Outlook 2003. На данный момент он уже устарел по технологиям построения интерактивных веб-интерфейсов (по сути, webaccess практически не интерактивен), но несмотря на это является довольно мощной и функциональной «мордой» для почты.
+
1. '''Zarafa Webaccess''' - это классический веб-интерфейс Zarafa. Очень похож на Outlook 2003. На данный момент он уже устарел по технологиям построения интерактивных веб-интерфейсов (по сути, webaccess практически не интерактивен), но несмотря на это является довольно мощной и функциональной "мордой" для почты.
 +
Ознакомиться можно [http://zarafa.openware.pro/ тут]
  
2. '''Zarafa WebApp'''. Предполагаемая замена Webaccess. Использует последние достижения в Web, такие как JS, продвинутый CSS и прочие навороты. На данный момент пока является недоработанным, но развивается очень быстро. Главная его цель — догнать и перегнать по функциям Webaccess и предложить удобный интерфейс. Пока получается хорошо, разработчикам — успехов. На состояние 12 августа 2012 произошел релиз версии 1.2, несмотря на это, webapp до сих пор толком не стабилизировался.
+
2. '''Zarafa WebApp'''. Предполагаемая замена Webaccess. Использует последние достижения в Web, такие как JS, продвинутый CSS и прочие навороты. На данный момент пока является недоработанным, но развивается очень быстро. Главная его цель - догнать и перегнать по функциям Webaccess и предложить удобный интерфейс. Пока получается хорошо, разработчикам - успехов. На состояние 12 августа 2012 произошел релиз версии 1.2, несмотря на это, webapp до сих пор толком не стабилизировался.
 +
Ознакомиться можно [http://zarafa.openware.pro/webapp/ тут]
  
 
О установке остальных пакетов и их настройке будет сказано по мере повествования.
 
О установке остальных пакетов и их настройке будет сказано по мере повествования.
  
== Настройка системы и служб ==
+
==Настройка системы и служб==
  
 
Теперь перейдем к настройке сервисов, которые пока прямо не относятся к почте.
 
Теперь перейдем к настройке сервисов, которые пока прямо не относятся к почте.
  
'''Первый шаг''' — добавьте пользователя и группу zarafa командой useradd -r zarafa. Эта команда создаст пользователя, который не сможет войти в ОС (уточню, что доступ к /bin/bash у пользователя будет, но login не пускает пользователей с пустыми паролями). Эту операцию необходимо проделать по соображениям безопасности.
+
'''Первый шаг''' - добавьте пользователя и группу vmail командой useradd -r vmail. Эта команда создаст пользователя, который не сможет войти в ОС (уточню, что доступ к /bin/bash у пользователя будет, но login не пускает пользователей с пустыми паролями). Эту операцию необходимо проделать по соображениям безопасности.
  
'''Второй шаг''' — в /etc/sysconfig/zarafa убедитесь, что во всех переменных указана системная локаль (обычно ru_RU.UTF-8), иначе имена каталогов почты будут на английском языке. Конфиг. файл будет действовать только в том случае, если эта локаль существует в ОС, так что перед этим не забудьте его добавить, так же необходимо наличие файла с форматом mo для zarafa client, содержащие переводы каталогов. Этот файл должен находится в /usr/share/locale/ru/LC_MESSAGES/zarafa.mo. В пакетах Альта он имеется.
+
'''Второй шаг''' - в /etc/sysconfig/zarafa убедитесь, что во всех переменных указана системная локаль (обычно ru_RU.UTF-8), иначе имена каталогов почты будут на английском языке. Конфиг. файл будет действовать только в том случае, если эта локаль существует в ОС, так что перед этим не забудьте его добавить, так же необходимо наличие файла с форматом mo для zarafa client, содержащие переводы каталогов. Этот файл должен находится в /usr/share/locale/ru/LC_MESSAGES/zarafa.mo. В пакетах Альта он имеется.
  
'''Третий шаг''' — укажите, чтобы postfix работал в режиме сервера:
+
'''Третий шаг''' - укажите, чтобы postfix работал в режиме сервера:
 
<pre>control postfix server</pre>
 
<pre>control postfix server</pre>
  
'''Четвёртый шаг''' — включите сетевой режим mysql. Для этого '''закомментируйте''' след. строчку в файле '''/var/lib/mysql/my.cnf'''
+
'''Четвёртый шаг''' - включите сетевой режим mysql. Для этого '''закомментируйте''' след. строчку в файле '''/var/lib/mysql/my.cnf'''
 
<pre>#skip-networking</pre>
 
<pre>#skip-networking</pre>
  
'''Пятый шаг''' — zarafa будет работать под пользователем '''zarafa''', поэтому для служб zarafa не будет доступен каталог '''/var/log/zarafa''', так как пользователем каталога изначально является root. Для исправления (рекурсивное выполнение осуществляется для случаев наличия файлов внутри каталога):
+
'''Пятый шаг''' - zarafa будет работать под пользователем '''vmail''', поэтому для служб zarafa не будет доступен каталог '''/var/log/zarafa''', так как пользователем каталога изначально является root. Для исправления (рекурсивное выполнение осуществялется для случаев наличия файлов внутри каталога):
<pre>chown zarafa:zarafa /var/log/zarafa</pre>
+
<pre>chown vmail:vmail /var/log/zarafa</pre>
  
 
'''Последним шагом''' станет указание пароля root для mysql. Для этого можно выполнить след. последовательность шагов:
 
'''Последним шагом''' станет указание пароля root для mysql. Для этого можно выполнить след. последовательность шагов:
<pre>/etc/init.d/mysqld start
+
<pre>/etc/init.d/mysqld start; mysqladmin -u root password ваш_пароль</pre>Командой '''mysql -u root -p''' и далее набором пароля проверьте параметры входа. Вошли - значит, предварительная настройка завершена до конца и успешно.
/usr/bin/mysql_secure_installation</pre>Командой '''mysql -u root -p''' и далее набором пароля проверьте параметры входа. Вошли — значит, предварительная настройка завершена до конца и успешно.
 
  
Дополнение по базе данных. В Альте по умолчанию запрещено входить в базу в качестве root, используя удалённый вход. О том, что делать в этом случае — смотрите в начале практической настройки.
+
Дополнение по базе данных. В Альте по умолчанию запрещено входить в базу в качестве root, используя удалённый вход. О том, что делать в этом случае - смотрите в начале практической настройки.
  
Если вы хотите заняться оптимизацией mysql, zarafa и других служб а также ОС, сделайте это заранее, до запуска соответствующих служб. Сами оптимизации описаны в конце статьи.
+
Если вы хотите заняться оптимизацией mysql, zarafa и других службб а также ОС, сделайте это заранее, до запуска соответствующих служб. Сами оптимизации описаны в конце статьи.
  
 
Также не забудьте добавить необходимые службы в автозапуск (просто выделите всю строку и разом выполните):
 
Также не забудьте добавить необходимые службы в автозапуск (просто выделите всю строку и разом выполните):
 
<pre>chkconfig mysqld on; chkconfig httpd2 on; chkconfig postfix on; chkconfig zarafa-server on;chkconfig zarafa-dagent on
 
<pre>chkconfig mysqld on; chkconfig httpd2 on; chkconfig postfix on; chkconfig zarafa-server on;chkconfig zarafa-dagent on
chkconfig zarafa-gateway on; chkconfig zarafa-ical on; chkconfig zarafa-indexer on || chkconfig zarafa-search on; chkconfig zarafa-monitor on
+
chkconfig zarafa-gateway on; chkconfig zarafa-ical on; chkconfig zarafa-indexer on; chkconfig zarafa-monitor on
 
chkconfig zarafa-spooler on</pre>
 
chkconfig zarafa-spooler on</pre>
  
== Практическая часть настройки ==
+
==Практическая часть настройки==
  
  
Строка 113: Строка 110:
 
И т.д.</pre>
 
И т.д.</pre>
  
=== Настройка postfix. (/etc/postfix/) ===
+
===Настройка postfix. (/etc/postfix/)===
  
 
Предусмотрено два сценария настройки postfix.
 
Предусмотрено два сценария настройки postfix.
  
==== Если пользователи будут обитать в mysql ====
+
====Если пользователи будут обитать в mysql (простой режим, подходит чисто на "поиграть")====
  
В файл '''main.cf''' добавьте этот кусок конфигурации (для того, чтобы узнать доменное имя, наберите команду '''host inet-ip''' или '''hostname -f'''):
+
В файл *main.cf* добавьте этот кусок конфигурации (для того, чтобы узнать имя доменное имя, наберите команду *host inet-ip* или *hostname -f*):
 
<pre>
 
<pre>
# Указываем домен, который будет использован в адресе эл. почты
+
# Указываем доменб который будет использован в адресе эл. почты
 
mydomain = example.com
 
mydomain = example.com
 
 
# Указываем полное имя машины (либо по hostname, либо по DNS)
 
# Указываем полное имя машины (либо по hostname, либо по DNS)
 
myhostname = zarafa.example.com
 
myhostname = zarafa.example.com
 
+
# Указываем домен, который будет добавлен в адресу отправителя или получателя, если он не указан. Обычно равен домену эл. почты.
# Указываем домен, который будет добавлен к адресу отправителя или получателя, если он не указан. Обычно равен домену эл. почты.
 
 
myorigin = $mydomain
 
myorigin = $mydomain
 
 
# Указываем команду для работы postfix с почтовым ящиком пользователя (используется zarafa-dagent)
 
# Указываем команду для работы postfix с почтовым ящиком пользователя (используется zarafa-dagent)
 
mailbox_command = /usr/bin/zarafa-dagent "$USER"
 
mailbox_command = /usr/bin/zarafa-dagent "$USER"
 
 
# Указываем настройки транспорта почты
 
# Указываем настройки транспорта почты
 
mailbox_transport = zarafa: zarafa_destination_recipient_limit = 1
 
mailbox_transport = zarafa: zarafa_destination_recipient_limit = 1
 
 
# Указываем приветствие для smtp  
 
# Указываем приветствие для smtp  
 
smtp_helo_name = smtp.example.com
 
smtp_helo_name = smtp.example.com
 
 
# Определяем, на какие домены postfix может ретранслировать почту. Обычно достаточно указания локального адреса, но при работе с zarafa postfix
 
# Определяем, на какие домены postfix может ретранслировать почту. Обычно достаточно указания локального адреса, но при работе с zarafa postfix
 
# фактически является мостом для между Интернетом и службами zarafa, поэтому указываем домен и имя узла.
 
# фактически является мостом для между Интернетом и службами zarafa, поэтому указываем домен и имя узла.
 
mydestination = localhost, $mydomain, $myhostname
 
mydestination = localhost, $mydomain, $myhostname
 
 
# Указываем файл/БД с псевдонимами для postfix
 
# Указываем файл/БД с псевдонимами для postfix
 
alias_maps = hash:/etc/postfix/aliases
 
alias_maps = hash:/etc/postfix/aliases
 
alias_database = hash:/etc/postfix/aliases
 
alias_database = hash:/etc/postfix/aliases
 
 
# Указываем файл/БД с виртуальными псевдонимами, находящиеся в БД
 
# Указываем файл/БД с виртуальными псевдонимами, находящиеся в БД
 
virtual_alias_maps = mysql:/etc/postfix/mysql-aliases.cf
 
virtual_alias_maps = mysql:/etc/postfix/mysql-aliases.cf
 
virtual_mailbox_maps = mysql:/etc/postfix/mysql-aliases.cf
 
virtual_mailbox_maps = mysql:/etc/postfix/mysql-aliases.cf
 
 
# Указываем, какие сети для postfix считать локальными. Этот параметр управляет удаленными соединениями к почтовому серверу, иными словами, разрешает
 
# Указываем, какие сети для postfix считать локальными. Этот параметр управляет удаленными соединениями к почтовому серверу, иными словами, разрешает
 
# relay для указанных сетей.
 
# relay для указанных сетей.
 
mynetworks = 127.0.0.0/8
 
mynetworks = 127.0.0.0/8
 
 
# Указываем разрешенные интерфейсы
 
# Указываем разрешенные интерфейсы
 
inet_interfaces = all
 
inet_interfaces = all
 
 
# Отключаемый встроенную программу оповещения входящих писем
 
# Отключаемый встроенную программу оповещения входящих писем
 
biff = no
 
biff = no
 
 
# Указываем, что письма должны прямиком идти через Интернет.
 
# Указываем, что письма должны прямиком идти через Интернет.
 
relayhost =  
 
relayhost =  
 
# Указываем знак разделения получателей
 
 
recipient_delimiter = +  
 
recipient_delimiter = +  
# Определяем максимальный размер сообщения
 
 
message_size_limit = 33554432
 
message_size_limit = 33554432
 
# Указываем текст сообщения, который будет показан при подключении к SMTP
 
 
smtpd_banner = $myhostname ESMTP $mail_name
 
smtpd_banner = $myhostname ESMTP $mail_name
 
# Отключаем проверку наличия получателя. Данную проверку будет выполнять сама Zarafa.
 
 
local_recipient_maps =
 
local_recipient_maps =
  
Строка 191: Строка 169:
 
   reject_unknown_reverse_client_hostname,
 
   reject_unknown_reverse_client_hostname,
 
   permit
 
   permit
 
 
############################################################
 
############################################################
  
Строка 206: Строка 183:
 
tls_random_source = dev:/dev/urandom
 
tls_random_source = dev:/dev/urandom
 
smtp_tls_note_starttls_offer = yes
 
smtp_tls_note_starttls_offer = yes
 +
# Same as defaults
 +
#smtpd_enforce_tls = no
 +
#smtpd_tls_auth_only = no
 +
#smtpd_tls_received_header = no
 +
#smtpd_tls_session_cache_timeout = 3600s
 
</pre>
 
</pre>
  
 
В начале мы указываем параметры самой почтовой службы, далее настраиваем самые необходимые разрешения (для работы SASL) и настройки TLS для шифрования исходящей почты (дополнительно об этом в статье про шифрование). Остальные настройки postfix будут рассмотрены отдельно.
 
В начале мы указываем параметры самой почтовой службы, далее настраиваем самые необходимые разрешения (для работы SASL) и настройки TLS для шифрования исходящей почты (дополнительно об этом в статье про шифрование). Остальные настройки postfix будут рассмотрены отдельно.
  
Теперь уточнения по представленной конфигурации. Во-первых, здесь далеко не все настройки postfix, которые теоретически могут вам пригодиться, представлена лишь минимальная конфигурация. Во-вторых, для начала закомментируйте все строчки, относящиеся к TLS, с ними потом разберётесь. Далее. Конфигурация дана в случае использования mysql в качестве хранилища для пользователей, но этот вариант нежелателен из-за малой гибкости решения и если сервер будет «боевым», то настоятельно рекомендуем использовать LDAP (наш выбор — 389DS, о нём — в отдельном статье). Так же не забудьте поменять максимальный размер письма, если нужно, здесь он равен 32 MiB.
+
Теперь уточнения по представленной конфигурации. Во-первых, здесь далеко не все настройки postfix, которые теоретически могут вам пригодиться, представлена лишь минимальная конфигурация. Во-вторых, для начала закомментируйте все строчки, относящиеся к TLS, с ними потом разберётесь. Далее. Конфигурация дана в случае использования mysql в качестве хранилища для пользователей, но этот вариант нежелателен из-за малой гибкости решения и при если сервер будет "боевым", то настоятельно рекомендуем использовать LDAP (наш выбор - 389DS, о нём - в отдельном статье). Так же не забудьте поменять максимальный размер письма, если нужно, здесь он равен 32 MiB.
  
 
Отдельно скажу о relayhost. Он намеренно оставлен пустым. Данная настройка заставит использовать postfix relay почтового сервера, куда посылается письмо. Это решает тучу проблем с отправкой писем, поэтому я рекомендую оставить его так. Однако, в случае использования стороннего relay, вы его сможете спокойно менять, работоспособность самого postfix и zarafa не пострадает (если, конечно, relay рабочий).
 
Отдельно скажу о relayhost. Он намеренно оставлен пустым. Данная настройка заставит использовать postfix relay почтового сервера, куда посылается письмо. Это решает тучу проблем с отправкой писем, поэтому я рекомендую оставить его так. Однако, в случае использования стороннего relay, вы его сможете спокойно менять, работоспособность самого postfix и zarafa не пострадает (если, конечно, relay рабочий).
  
Далее. В самый конец файла '''master.cf''' добавляем следующее:
+
Далее. В самый конец файла '''master.cf''' добавляем следующее:  
 
<pre>
 
<pre>
 
zarafa    unix  -      n      n      -      10      pipe
 
zarafa    unix  -      n      n      -      10      pipe
   flags=DRhu user=zarafa argv=/usr/bin/zarafa-dagent -R ${recipient}
+
   flags=DRhu user=vmail argv=/usr/bin/zarafa-dagent -R ${recipient}
 
</pre> Пробелы перед flags обязательны (необходим хотя бы один пробел)
 
</pre> Пробелы перед flags обязательны (необходим хотя бы один пробел)
  
Эти две строчки заставит «гнать» письма в Zarafa с определёнными атрибутами.
+
Эти две строчки заставит "гнать" письма в Zarafa с определёнными атрибутами.
  
 
Последним шагом в настройке postfix будет указание на работу с mysql-базой. Для этого создайте файл '''/etc/postfix/mysql-aliases.cf''' (если в конфиге, в полях virtual* указан другой путь, создайте файл в соответствии с конфигом). Добавьте туда след.:
 
Последним шагом в настройке postfix будет указание на работу с mysql-базой. Для этого создайте файл '''/etc/postfix/mysql-aliases.cf''' (если в конфиге, в полях virtual* указан другой путь, создайте файл в соответствии с конфигом). Добавьте туда след.:
Строка 229: Строка 211:
 
dbname = zarafa
 
dbname = zarafa
 
query = select value from objectproperty where objectid=(select objectid from objectproperty where value='%s' limit 1) and propname='emailaddress';
 
query = select value from objectproperty where objectid=(select objectid from objectproperty where value='%s' limit 1) and propname='emailaddress';
</pre>
+
</pre>  
  
 
Этот файл не нужен, Если вы намерены настроить интеграцию postfix и LDAP.
 
Этот файл не нужен, Если вы намерены настроить интеграцию postfix и LDAP.
  
==== Если пользователи будут обитать в LDAP. ====
+
====Если пользователи будут обитать в LDAP.====
  
 
Некоторые уточнения уже были сделаны в части о MySQL.
 
Некоторые уточнения уже были сделаны в части о MySQL.
Строка 269: Строка 251:
 
В общем-то, на этом всё. Проверка всего этого хозяйства проделываете после настройки zarafa и отправки какого-нибудь письма пользователю, зарегистрированного в LDAP. Обычно основной проблемой является проблема ненахождения пользователя. Скорее всего, в этом случае вы неправильно указали '''search_base'''.
 
В общем-то, на этом всё. Проверка всего этого хозяйства проделываете после настройки zarafa и отправки какого-нибудь письма пользователю, зарегистрированного в LDAP. Обычно основной проблемой является проблема ненахождения пользователя. Скорее всего, в этом случае вы неправильно указали '''search_base'''.
  
=== Настройка zarafa. (/etc/zarafa/) ===
+
===Настройка zarafa. (/etc/zarafa/)===
  
 
Настройка самой zarafa обычно сводится к указанию пользователя, под которым будет запущен сервер и настройка LDAP. Про последнее будет рассказано в отдельном разделе ниже. Также, в случае защищенных соединений, сюда входит включение оных и указание сертификата и приватного ключа.
 
Настройка самой zarafa обычно сводится к указанию пользователя, под которым будет запущен сервер и настройка LDAP. Про последнее будет рассказано в отдельном разделе ниже. Также, в случае защищенных соединений, сюда входит включение оных и указание сертификата и приватного ключа.
Строка 278: Строка 260:
  
 
<pre>
 
<pre>
run_as_user = zarafa
+
run_as_user = vmail
run_as_group = zarafa
+
run_as_group = vmail
 
</pre>
 
</pre>
  
Строка 285: Строка 267:
  
 
<pre>
 
<pre>
run_as_user = zarafa
+
run_as_user = vmail
run_as_group = zarafa
+
run_as_group = vmail
 
</pre>
 
</pre>
  
Строка 292: Строка 274:
  
 
<pre>
 
<pre>
run_as_user = zarafa
+
run_as_user = vmail
run_as_group = zarafa
+
run_as_group = vmail
 
server_timezone = Europe/Moscow
 
server_timezone = Europe/Moscow
 
</pre>
 
</pre>
  
'''Настройка /etc/zarafa/search.cfg'''
+
'''Настройка /etc/zarafa/indexer.cfg'''
  
 
<pre>
 
<pre>
run_as_user = zarafa
+
run_as_user = vmail
run_as_group = zarafa
+
run_as_group = vmail
 
</pre>
 
</pre>
  
О активизации работы индексации читайте в разделе '''«Оптимизации для повышения быстродействия»''' в настоящей статье.
+
О активизации работы индексации читайте в разделе '''"Оптимизации для повышения быстродействия"''' в настоящей статье.
  
 
'''Настройка /etc/zarafa/monitor.cfg'''
 
'''Настройка /etc/zarafa/monitor.cfg'''
  
 
<pre>
 
<pre>
run_as_user = zarafa
+
run_as_user = vmail
run_as_group = zarafa
+
run_as_group = vmail
 
</pre>
 
</pre>
  
Строка 316: Строка 298:
  
 
<pre>
 
<pre>
local_admin_users = root zarafa
+
local_admin_users = root vmail
run_as_user = zarafa
+
run_as_user = vmail
run_as_group = zarafa
+
run_as_group = vmail
 
system_email_address    = postmaster@example.com
 
system_email_address    = postmaster@example.com
 
mysql_host  = 127.0.0.1
 
mysql_host  = 127.0.0.1
Строка 331: Строка 313:
  
 
<pre>
 
<pre>
run_as_user = zarafa
+
run_as_user = vmail
run_as_group = zarafa
+
run_as_group = vmail
 
</pre>
 
</pre>
  
 
Уточнение по файлу server.cfg. В этом примере в качестве user_plugin указан ldap. Этот параметр определяет, где zarafa должна хранить данные пользователей, в LDAP (ldap) или в Mysql (db). Поэтому вы должны выбрать плагин, который подходит вашей настройке.
 
Уточнение по файлу server.cfg. В этом примере в качестве user_plugin указан ldap. Этот параметр определяет, где zarafa должна хранить данные пользователей, в LDAP (ldap) или в Mysql (db). Поэтому вы должны выбрать плагин, который подходит вашей настройке.
  
user_plugin_config — путь к файлу настроек для LDAP. Может принимать два значения:
+
user_plugin_config - путь к файлу настроек для LDAP. Может принимать два значения:
  
 
# /etc/zarafa/ldap.openldap.cfg (подходит для OpenLDAP и 389DS)
 
# /etc/zarafa/ldap.openldap.cfg (подходит для OpenLDAP и 389DS)
Строка 346: Строка 328:
 
Осталось запустить все службы (restart применяется по причине уже возможного запуска сервисов):
 
Осталось запустить все службы (restart применяется по причине уже возможного запуска сервисов):
 
<pre>
 
<pre>
/etc/init.d/postfix restart;
+
/etc/init.d/postfix restart; /etc/init.d/httpd2 restart; /etc/init.d/mysqld restart; /etc/init.d/zarafa-dagent restart; /etc/init.d/zarafa-gateway restart; /etc/init.d/zarafa-ical restart  
/etc/init.d/httpd2 restart;
+
/etc/init.d/zarafa-indexer restart; /etc/init.d/zarafa-monitor restart; /etc/init.d/zarafa-server restart; /etc/init.d/zarafa-spooler restart
/etc/init.d/mysqld restart;
 
/etc/init.d/zarafa-dagent restart;
 
/etc/init.d/zarafa-gateway restart;
 
/etc/init.d/zarafa-ical restart;
 
/etc/init.d/zarafa-indexer restart || /etc/init.d/zarafa-search restart;
 
/etc/init.d/zarafa-monitor restart;
 
/etc/init.d/zarafa-server restart;
 
/etc/init.d/zarafa-spooler restart;
 
 
</pre> Эта команда запустит все сервисы последовательно. После запуска проверьте все логи zarafa и postfix/maillog на предмет ошибок. Из ненастроенных служб остался только '''zarafa-indexer''', о нем ниже. Заметьте, что в списке нет '''zarafa-liсensed''', о нем также написано ниже в настоящем статье.
 
</pre> Эта команда запустит все сервисы последовательно. После запуска проверьте все логи zarafa и postfix/maillog на предмет ошибок. Из ненастроенных служб остался только '''zarafa-indexer''', о нем ниже. Заметьте, что в списке нет '''zarafa-liсensed''', о нем также написано ниже в настоящем статье.
  
=== Настройка интеграции с LDAP и Zarafa ===
+
===Настройка интеграции с LDAP и Zarafa===
  
 
Для более продуктивной работы с большой базой пользователей, а также для поддержки дополнительных атрибутов пользователя (напр., номера телефонов) есть большой смысл вместо mysql поднять и использовать сервер LDAP.
 
Для более продуктивной работы с большой базой пользователей, а также для поддержки дополнительных атрибутов пользователя (напр., номера телефонов) есть большой смысл вместо mysql поднять и использовать сервер LDAP.
Строка 364: Строка 338:
 
По умолчанию в zarafa предоставляются конфиги для '''Active Directory''' и '''OpenLDAP'''. Конфигурация OpenLDAP так же подходит для 389DS.
 
По умолчанию в zarafa предоставляются конфиги для '''Active Directory''' и '''OpenLDAP'''. Конфигурация OpenLDAP так же подходит для 389DS.
  
Никаких особых настроек по сути делать не надо. Для Active Directory (ldap.active-directory.cfg):
+
Никаких особых настроек по сути делать не надо. Для Active Directory (ldap.active-directory.cfg):
 
<pre>
 
<pre>
 
ldap_host = 10.10.19.213
 
ldap_host = 10.10.19.213
Строка 387: Строка 361:
 
</pre>
 
</pre>
  
То есть редактируем те же самые строки, только в другом файле. Изменение остальных уже зависят от условий настройки. Фильтр в данном случае нужно установить самостоятельно. Для этого в zarafa есть схемы. Подробнее — в статье о 389DS.
+
Т.е. редактируем те же самые строки, только в другом файле. Изменение остальных уже зависят от условий настройки. Фильтр в данном случае нужно установить самостоятельно. Для этого в zarafa есть схемы. Подробнее - в статье о 389DS.
  
 
Не забудьте про автозапуск 389DS:
 
Не забудьте про автозапуск 389DS:
Строка 400: Строка 374:
 
</pre>
 
</pre>
  
=== Zarafa WebAccess, WebApp и Z-PUSH ===
+
===Zarafa WebAccess и WebApp===
  
 
По умолчанию они будут доступны по адресу http://ipaddr/webaccess или http://ipaddr/webapp (используется 80 порт). Если все установлено (apache2 и mod_php5 к нему), то веб-морда будет работать без дополнительных настроек. Можно лишь изменить, к примеру, веб-адрес, где веб-морда будет доступна.
 
По умолчанию они будут доступны по адресу http://ipaddr/webaccess или http://ipaddr/webapp (используется 80 порт). Если все установлено (apache2 и mod_php5 к нему), то веб-морда будет работать без дополнительных настроек. Можно лишь изменить, к примеру, веб-адрес, где веб-морда будет доступна.
Строка 406: Строка 380:
 
Помните, что значительные изменения, сделанные пользователем в конфиг. файла Apache, которые принадлежат zarafa, могут быть потеряны при обновлении или попросту перестать работать. В этом случае, Вам придется вручную восстанавливать конфиг. файлы или каким-то образом предотвращать изменения конфиг. файлов.
 
Помните, что значительные изменения, сделанные пользователем в конфиг. файла Apache, которые принадлежат zarafa, могут быть потеряны при обновлении или попросту перестать работать. В этом случае, Вам придется вручную восстанавливать конфиг. файлы или каким-то образом предотвращать изменения конфиг. файлов.
  
FIXME!
+
===Настройки zarafa-licensed===
Настройка MAPI для apache2-mod_php:
 
<pre>ln -svf /etc/php/5.3/cli/php.d/zarafa.ini /etc/php/5.3/apache2-mod_php/php.d/</pre>
 
 
 
Для Z-PUSH достаточно создать каталоги для работы с нужными владельцами:
 
<pre>
 
mkdir  -pv /var/log/z-push/ /var/lib/z-push
 
chown apache2:apache2 /var/log/z-push/ /var/lib/z-push/ -R
 
</pre>
 
 
 
=== Настройки zarafa-licensed ===
 
  
 
Как понятно из названия, эта служба управляет лицензией Zarafa. Как модуль он необходим виндовому Zarafa Outlook Client.
 
Как понятно из названия, эта служба управляет лицензией Zarafa. Как модуль он необходим виндовому Zarafa Outlook Client.
Строка 422: Строка 386:
 
Эта часть вскоре может потерять актуальность, так как инженеры Zarafa начали собирать модуль лицензий в rpm-пакет для Alt Linux.
 
Эта часть вскоре может потерять актуальность, так как инженеры Zarafa начали собирать модуль лицензий в rpm-пакет для Alt Linux.
  
==== Установка zarafa-licensed на opensource-версию Zarafa ====
+
====Установка zarafa-licensed на opensource-версию Zarafa====
  
 
Скачайте пакет *Free* для RHEL6, совпадающая с установленной версией Zarafa и архитектурой ОС, отсюда -> http://download.zarafa.com/community/final/7.0/. Допустим, нам необходим пакет для 7.0.2 и x86_64 -> http://download.zarafa.com/community/final/7.0/7.0.2-29470/zcp-7.0.2-29470-rhel-6-x86_64-free.tar.gz. Распакуйте его:
 
Скачайте пакет *Free* для RHEL6, совпадающая с установленной версией Zarafa и архитектурой ОС, отсюда -> http://download.zarafa.com/community/final/7.0/. Допустим, нам необходим пакет для 7.0.2 и x86_64 -> http://download.zarafa.com/community/final/7.0/7.0.2-29470/zcp-7.0.2-29470-rhel-6-x86_64-free.tar.gz. Распакуйте его:
Строка 438: Строка 402:
 
<pre>
 
<pre>
 
sudo cp -r zarafa-license /opt
 
sudo cp -r zarafa-license /opt
</pre>Теперь, следуя путям в каталоге zarafa-license, создайте символические ссылки в файловой системе. К примеру, /opt/zarafa-license/usr/bin/zarafa-licensed -> /usr/bin/zarafa-licensed и т. д. Самое простое — сделать их через MC, используя сочетание '''С-x, s''', однако можно воспользоваться командой вида '''ln -s /opt/zarafa-license/usr/bin/zarafa-licensed /usr/bin/zarafa-licensed''' для каждого файла. Каталоги man и doc можете пропустить.
+
</pre>Теперь, следуя путям в каталоге zarafa-license, создайте символические ссылки в файловой системе. К примеру, /opt/zarafa-license/usr/bin/zarafa-licensed -> /usr/bin/zarafa-licensed и т.д. Самое простое - сделать их через MC, используя сочетание '''С-x, s''', однако можно воспользоваться командой вида '''ln -s /opt/zarafa-license/usr/bin/zarafa-licensed /usr/bin/zarafa-licensed''' для каждого файла. Каталоги man и doc можете пропустить.
  
 
Также для zarafa-licensed необходимы некоторые библиотеки, они помещены в архив и прикреплены в статье (для i586 и x86_64). Просто так же скопируйте их в отдельный каталог в /opt, потом сделайте символические ссылки в '''/usr/lib'''.
 
Также для zarafa-licensed необходимы некоторые библиотеки, они помещены в архив и прикреплены в статье (для i586 и x86_64). Просто так же скопируйте их в отдельный каталог в /opt, потом сделайте символические ссылки в '''/usr/lib'''.
Строка 452: Строка 416:
 
<pre>
 
<pre>
 
sudo echo "6K3L11A...12" > /etc/zarafa/license/base
 
sudo echo "6K3L11A...12" > /etc/zarafa/license/base
</pre>6K3L11A…12 — это серийный номер, выданный Вам. После перезагрузите zarafa-server. В логе в это время должно появиться сообщение типа:
+
</pre>6K3L11A...12 - это серийный номер, выданный Вам. После перезагрузите zarafa-server. В логе в это время должно появиться сообщение типа:
 
<pre>
 
<pre>
 
Using commercial license serial '6K3L11A...12'
 
Using commercial license serial '6K3L11A...12'
Строка 459: Строка 423:
 
Для дополнения лицензии вторым ключом, просто добавьте файл с любым именем, который будет содержать серийный номер, в '''/etc/zarafa/license/''' и перезагрузите сервисы '''zarafa-licensed''' и '''zarafa-server'''.
 
Для дополнения лицензии вторым ключом, просто добавьте файл с любым именем, который будет содержать серийный номер, в '''/etc/zarafa/license/''' и перезагрузите сервисы '''zarafa-licensed''' и '''zarafa-server'''.
  
=== SpamAssassin как средство защиты от спама ===
+
===SpamAssassin как средство защиты от спама===
  
В Альте spamassassin уже идет с правилами, поэтому по сути настройка самого spamassassin практически не требуется. По практике, умолчательные настройки ловят больше '''99 %''' явного спама, тем более, что spamassassin просто обучить.
+
В Альте spamassassin уже идет с правилами, поэтому по сути настройка самого spamassassin практически не требуется. По практике, умолчательные настройки ловят больше '''99%''' явного спама, тем более, что spamassassin просто обучить.
  
 
Первым делом, необходимо установить сам spamassassin:
 
Первым делом, необходимо установить сам spamassassin:
 
<pre>
 
<pre>
 
apt-get install spamassassin spamassassin-spamd spamassassin-spamc
 
apt-get install spamassassin spamassassin-spamd spamassassin-spamc
</pre>Эта команда установит собственно spamassassin, его сервисную часть и клиент для работы с сервисом, а также другие пакеты с правилами и дополнительными плагинами. Теперь нужно «объяснить» postfix, что всю почту нужно проводить через фильтры spamassassin. Для этого, в /etc/postfix/master.cf проделайте след. изменения:\
+
</pre>Эта команда установит собственно spamassassin, его сервисную часть и клиент для работы с сервисом, а также другие пакеты с правилами и дополнительными плагинами. Теперь нужно "объяснить" postfix, что всю почту нужно проводить через фильтры spamassassin. Для этого, в /etc/postfix/master.cf проделайте след. изменения:\
 
1. Измените сектор smtp:
 
1. Измените сектор smtp:
 
<pre>
 
<pre>
Строка 504: Строка 468:
 
На этом настройка спам-защиты завершена.
 
На этом настройка спам-защиты завершена.
  
=== Настройка SASL для аутентификации в SMTP при отправке почты через «мир» (/etc/postfix/) ===
+
===Настройка SASL для аутентификации в SMTP при отправке почты через "мир" (/etc/postfix/)===
  
Осталось рассмотреть еще один крупный вопрос по поводу отправки почты извне. По умолчанию, такие письма postfix «выкидывает». Это сделано из-за банальной причины — спамеры. Чтобы smtp принимал письма для отправки через внешнюю Сеть, нужно настроить технологию SASL.
+
Осталось рассмотреть еще один крупный вопрос по поводу отправки почты извне. По умолчанию, такие письма postfix "выкидывает". Это сделано из-за банальной причины - спамеры. Чтобы smtp принимал письма для отправки через внешнюю Сеть, нужно настроить технологию SASL.
  
 
Для начала установите необходимые пакеты. Это '''cyrus-sasl2''' и '''postfix-cyrus''':
 
Для начала установите необходимые пакеты. Это '''cyrus-sasl2''' и '''postfix-cyrus''':
Строка 524: Строка 488:
 
smtpd_sender_restrictions = permit_mynetworks, permit_sasl_authenticated                                                                                       
 
smtpd_sender_restrictions = permit_mynetworks, permit_sasl_authenticated                                                                                       
 
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
 
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
</pre>'''Замечание:''' ограничения (restrictions) postfix применяет в зависимости от расположения в списке. Если в начале будет «reject», а далее «permit», то вторую настройку postfix попросту не сможет использовать, потому что почта будет выкидываться из-за первой команды.
+
</pre>'''Замечание:''' ограничения (restrictions) postfix применяет в зависимости от расположения в списке. Если в начале будет "reject", а далее "permit", то вторую настройку postfix попросту не сможет использовать, потому что почта будет выкидываться из-за первой команды.
  
Далее создайте каталог '''/etc/postfix/sasl'' и файл '''smtpd.conf''' в нём со следующим содержанием:
+
Далее создайте каталог '''/etc/sasl'' и файл '''smtpd.conf''' в нём со следующим содержанием:
 
<pre>
 
<pre>
 
pwcheck_method: saslauthd
 
pwcheck_method: saslauthd
Строка 534: Строка 498:
 
mech_list: PLAIN LOGIN NTLM CRAM-MD5 DIGEST-MD5
 
mech_list: PLAIN LOGIN NTLM CRAM-MD5 DIGEST-MD5
 
</pre>
 
</pre>
Выбирайте необходимый механизм. Обычно для шифрованного пароля выбирают '''DIGEST-MD5''', обычного — '''PLAIN'''.
+
Выбирайте необходимый механизм. Обычно для шифрованного пароля выбирают '''DIGEST-MD5''', обычного - '''PLAIN'''.
 
По условию задачи, наш сервер интегрирован с LDAP (с mysql выложу позже), поэтому настроим файл '''/etc/sasl2/saslauthd.conf''' на работу с LDAP. Для этого измените след. строки:
 
По условию задачи, наш сервер интегрирован с LDAP (с mysql выложу позже), поэтому настроим файл '''/etc/sasl2/saslauthd.conf''' на работу с LDAP. Для этого измените след. строки:
 
<pre>
 
<pre>
Строка 547: Строка 511:
 
ldap_search_base: ou=Zarafa,dc=center,dc=cg
 
ldap_search_base: ou=Zarafa,dc=center,dc=cg
 
ldap_auth_method: bind
 
ldap_auth_method: bind
</pre>Остальные параметры меняйте по вкусу. Теперь нужно учесть, что postfix «варится» в собственном chroot и по умолчанию SASL '''не сможет работать''' с postfix (потому как SASL работает как отдельный демон). Поэтому сделайте вот такие изменения в файловой системе:
+
</pre>Остальные параметры меняйте по вкусу. Теперь нужно учесть, что postfix "варится" в собственном chroot и по умолчанию SASL '''не сможет работать''' с postfix (потому как SASL работает как отдельный демон). Поэтому сделайте вот такие изменения в файловой системе:
 
<pre>
 
<pre>
 
rm -r /var/run/saslauthd/
 
rm -r /var/run/saslauthd/
Строка 577: Строка 541:
 
</pre>
 
</pre>
  
== Оптимизации для повышения быстродействия ==
+
==Оптимизации для повышения быстродействия==
  
=== Индексация почты для ускорения поиска ===
+
===Индексация почты для ускорения поиска===
  
 
Для активизации индексации необходимо изменить два файла. В файле '''/etc/zarafa/server.cfg''':
 
Для активизации индексации необходимо изменить два файла. В файле '''/etc/zarafa/server.cfg''':
Строка 598: Строка 562:
 
</pre>
 
</pre>
  
=== Zarafa ===
+
===Zarafa===
  
 
В /etc/zarafa/server.cfg измените следующие строки:
 
В /etc/zarafa/server.cfg измените следующие строки:
Строка 618: Строка 582:
 
</pre>
 
</pre>
  
=== MySQL ===
+
===MySQL===
  
 
В '''/var/lib/mysql/my.cnf''' добавьте следующие строки:
 
В '''/var/lib/mysql/my.cnf''' добавьте следующие строки:
Строка 629: Строка 593:
 
query_cache_size=32M    # Кэш на запросы. 32 мегабайта является оптимальным значением.
 
query_cache_size=32M    # Кэш на запросы. 32 мегабайта является оптимальным значением.
 
thread_cache_size=4    # 4 нити являются оптимальным значением.
 
thread_cache_size=4    # 4 нити являются оптимальным значением.
</pre>После перезапустите zarafa-server и mysqld.
+
</pre>После перезапустите zarafa-server и mysqld.  
  
== Исправление проблем ==
+
==Исправление проблем==
  
Сначала небольшой совет. Если у Вас настроена интеграция LDAP и Zarafa, в случае отсутствия хода писем в самом начале попробуйте в /etc/zarafa/server.cfg, в поле '''user_plugin''' указать db. Далее создайте пользователя:
+
Сначала небольшой совет. Если у Вам настроена интеграция LDAP и Zarafa, в случае отсутствия хода писем в самом начале попробуйте в /etc/zarafa/server.cfg, в поле '''user_plugin''' указать db. Далее создайте пользователя:
 
<pre>
 
<pre>
 
/usr/bin/zarafa-admin -c test -p password -e test@example.com -f "Zarafa Test"
 
/usr/bin/zarafa-admin -c test -p password -e test@example.com -f "Zarafa Test"
 
</pre>Войдите через веб-интерфейс и отправьте письмо самому себе. Если письмо идет, значит, postfix настроен корректно и проблему следует искать, к примеру, в настройке LDAP. Совет этот полезен, если по логу вообще непонятно, что происходит во время отправки писем.
 
</pre>Войдите через веб-интерфейс и отправьте письмо самому себе. Если письмо идет, значит, postfix настроен корректно и проблему следует искать, к примеру, в настройке LDAP. Совет этот полезен, если по логу вообще непонятно, что происходит во время отправки писем.
  
=== Проблема «отсутствия адресата» ===
+
===Проблема "отсутствия адресата"===
  
 
Во время настройки была найдена довольно занятная проблема, решение которой попутно может решить другую.
 
Во время настройки была найдена довольно занятная проблема, решение которой попутно может решить другую.
  
В postfix, который настроен на работу с mysql, а zarafa — с LDAP, при попытке отправить письмо пользователю LDAP возникнет следующая ошибка:
+
В postfix, который настроен на работу с mysql, а zarafa - с LDAP, при попытке отправить письмо пользователю LDAP возникнет следующая ошибка:
 
<pre>
 
<pre>
 
550 5.1.1 <test@test.com>: Recipient address rejected: User unknown in local recipient table
 
550 5.1.1 <test@test.com>: Recipient address rejected: User unknown in local recipient table
 
</pre>
 
</pre>
Это ошибка означает, что по какой-то причине postfix не может найти адресы получателей. Я рассказываю про нее почему, потому что сам попадал впросак с настройкой postfix и Zarafa. Самое правильное решение в данной ситуации — настройка интеграции postfix и LDAP. В случае с AD оно правильное вдвойне, потому что это решает одну неприятную проблему плагина Zarafa ADS, при котором в AD, в вкладке Zarafa исчезала галочка выбора Zarafa-Account, хотя по мнению сервера Zarafa эта галочка стояла (проблема, возможно, уже не актуальна).
+
Это ошибка означает, что по какой-то причине postfix не может найти адресы получателей. Я рассказываю про нее почему, потому что сам попадал впросак с настройкой postfix и Zarafa. Самое правильное решение в данной ситуации - настройка интеграции postfix и LDAP. В случае с AD оно правильное вдвойне, потому что это решает одну неприятную проблему плагина Zarafa ADS, при котором в AD, в вкладке Zarafa исчезала галочка выбора Zarafa-Account, хотя по мнению сервера Zarafa эта галочка стояла (проблема, возможно, уже не актуальна).
  
=== Отсутствие InnoDB. ===
+
h3. Отсутствие InnoDB.
  
 
В Альте есть вероятность заполучить ошибку, при котором zarafa-server не может найти InnoDB и завершает свою работу. Решение проблемы:
 
В Альте есть вероятность заполучить ошибку, при котором zarafa-server не может найти InnoDB и завершает свою работу. Решение проблемы:
Строка 656: Строка 620:
 
</pre>После перезапустите mysql. Эта проблема может возникать и после указания оптимизации для mysql/innodb. В этом случае решение такое же.
 
</pre>После перезапустите mysql. Эта проблема может возникать и после указания оптимизации для mysql/innodb. В этом случае решение такое же.
  
=== Отправка сигнала 6 (SIGABRT) zarafa-server и последующее падение сервера. ===
+
h3. Отправка сигнала 6 (SIGABRT) zarafa-server и последующее падение сервера.
  
 
Проблема проявилась в версии 7.0.2. Причину этой проблемы выявить не удалось. '''Решение:''' в '''server.cfg''' необходимо добавить след. строку и перезагрузить сервис zarafa-server:
 
Проблема проявилась в версии 7.0.2. Причину этой проблемы выявить не удалось. '''Решение:''' в '''server.cfg''' необходимо добавить след. строку и перезагрузить сервис zarafa-server:
Строка 667: Строка 631:
 
Есть информация, что в 7.0.6 эта проблема исправлена, но на практике это в данный момент проверить не удалось.
 
Есть информация, что в 7.0.6 эта проблема исправлена, но на практике это в данный момент проверить не удалось.
  
=== После обновления не запускается модуль zarafa-licensed. ===
+
h3. После обновления не запускается модуль zarafa-licensed.
  
 
После обновления этой службы вместе с сервером Zarafa может возникнуть ошибка вида:
 
После обновления этой службы вместе с сервером Zarafa может возникнуть ошибка вида:
Строка 682: Строка 646:
 
Этот вопрос после получения нативной версии Zarafa (7.0.4 и выше), скорее всего, станет неактуальным. Upd: пока еще актуален.
 
Этот вопрос после получения нативной версии Zarafa (7.0.4 и выше), скорее всего, станет неактуальным. Upd: пока еще актуален.
  
=== «Не надо было сувать мне кривые аттачи!» ===
+
h3. "Не надо было сувать мне кривые аттачи!"
  
В случае «битых» вложений есть большая вероятность падения службы '''zarafa-gateway''' посылом сигнала 6. Решением проблемы является перемиграция почты.
+
В случае "битых" вложений есть большая вероятность падения службы '''zarafa-gateway''' посылом сигнала 6. Решением проблемы является перемиграция почты.
  
=== Ошибка postfix «Закончилось место!». ===
+
h3. Ошибка postfix "Закончилось место!".
  
Происходит из-за того, что в разделе, где находится каталог очереди печати, закончилось место, точнее, её стало меньше, чем 1,5*message_size_limit. Скорее всего, каталог очереди находится в /var. Решение — почистить этот раздел. Более радикальное решение — увеличить место для раздела ('''НЕ РЕКОМЕНДУЕТСЯ на боевых машинах!!!''').
+
Происходит из-за того, что в разделе, где находится каталог очереди печати, закончилось место, точнее, её стало меньше, чем 1,5*message_size_limit. Скорее всего, каталог очереди находится в /var. Решение - почистить этот раздел. Более радикальное решение - увеличить место для раздела ('''НЕ РЕКОМЕНДУЕТСЯ на боевых машинах!!!''').
  
=== Ошибка подключения zarafa-server к zarafa-indexer. ===
+
h3. Ошибка подключения zarafa-server к zarafa-indexer.
  
 
На момент написания решение '''не является проверенным''', потенциальное решение было найдено на форуме Zarafa.
 
На момент написания решение '''не является проверенным''', потенциальное решение было найдено на форуме Zarafa.
Строка 710: Строка 674:
 
В версии 7.0.6 проблема была исправлена.
 
В версии 7.0.6 проблема была исправлена.
  
=== Неожиданный SEGFAULT. ===
+
h2. Неожиданный SEGFAULT.
 
 
FIXME!
 
  
 
Имеется проблема, которая приводит ошибке сегментации запуска нескольких сервисов Zarafa. Решение:
 
Имеется проблема, которая приводит ошибке сегментации запуска нескольких сервисов Zarafa. Решение:
Строка 719: Строка 681:
 
</pre>Проблема была выявлена лишь однажды. Этот пакет устанавливается вместе с zarafa-webaccess, так что проблему можно считать не актуальной.
 
</pre>Проблема была выявлена лишь однажды. Этот пакет устанавливается вместе с zarafa-webaccess, так что проблему можно считать не актуальной.
  
Так же имеется проблема с SEGFAULT у php на p6, при нехватке пакета glibc-timezones:
+
==Полезные советы==
<pre>
 
apt-get install glibc-timezones
 
</pre>
 
 
 
== Полезные советы ==
 
 
 
1. Если необходимо, чтобы почта перенаправлялась в другой почтовый ящик, можно проделать следующее. В 389DS в качестве основного e-mail указать тот ящик, на который должна перенаправляться почта, в алиасы указываете первичный ящик. Таким образом, почта будет перенаправлена в другой почтовик. На уровне postfix опишу позже. В качестве атрибута для алиаса используется аргумент zarafaaliases. Подробнее — в статье про интеграцию 389DS и Zarafa.
 
  
 +
1. Если необходимо, чтобы почта перенаправлялась в другой почтовый ящик, можно проделать следующее. В 389DS в качестве основного e-mail указать тот ящик, на который должна перенаправляться почта, в алиасы указываете первичный ящик. Таким образом, почта будет перенаправлена в другой почтовик. На уровне postfix опишу позже. В качестве атрибута для алиаса используется аргумент zarafaaliases. Подробнее - в статье про интеграцию 389DS и Zarafa.
 
2. Если же необходимо почту продублировать, алиасы уже не помогут. Сама zarafa на момент написания такой функциональности не имеет, поэтому будем дорабатывать конфиг '''postfix'''. Пропишите в '''/etc/postfix/main.cf''' след. строку:
 
2. Если же необходимо почту продублировать, алиасы уже не помогут. Сама zarafa на момент написания такой функциональности не имеет, поэтому будем дорабатывать конфиг '''postfix'''. Пропишите в '''/etc/postfix/main.cf''' след. строку:
 
<pre>
 
<pre>
Строка 742: Строка 698:
 
</pre>Указание последней строчки решит проблему с лишним дублированием.
 
</pre>Указание последней строчки решит проблему с лишним дублированием.
  
== Включение smtps (465 порт) ==
+
h3. Включение smtps (465 порт).
  
 
Тут все очень просто. В /etc/postfix/master.cf есть строки:
 
Тут все очень просто. В /etc/postfix/master.cf есть строки:
Строка 751: Строка 707:
 
   -o smtpd_client_restrictions=permit_mynetworks,permit_sasl_authenticated,reject                                                                             
 
   -o smtpd_client_restrictions=permit_mynetworks,permit_sasl_authenticated,reject                                                                             
 
#  -o milter_macro_daemon_name=ORIGINATING                                       
 
#  -o milter_macro_daemon_name=ORIGINATING                                       
</pre>То есть эти строки нужно раскомментировать (кроме последней) и перезагрузить postfix.
+
</pre>Т.е. эти строки нужно раскомментировать (кроме последней) и перезагрузить postfix.
  
  
Строка 759: Строка 715:
  
  
=== Подключение к LDAP ===
+
===Установка===
 +
Устанавливаем необходимые компоненты <br\>
 +
MySQL:
 +
<pre>apt-get install MySQL-server</pre>
 +
Postfix:
 +
<pre>apt-get install postfix</pre>
 +
Apache2:
 +
<pre>apt-get install apache2 apache2-mod_php5</pre>
 +
Zarafa:
 +
<pre>apt-get install zarafa zarafa-webaccess</pre>
 +
 
 +
===Настройка===
 +
'''Внимание!''' Zarafa-Server по-умолчанию не запущен так как еще не введен пароль от MySQL-Server.<br\>
 +
Запускаем mysql-server:
 +
<pre>service mysqld start</pre>
 +
Задаем пароль root для mysql-server:
 +
<pre>mysqladmin -u root password new_password</pre>
 +
Проверяем доступ:
 +
<pre># mysql -u root -p
 +
Enter password:</pre>
 +
Укажите пароль root от MySQL-базы в /etc/zarafa/server.cfg
 +
<pre>vim /etc/zarafa/server.cfg</pre>
 +
Добавляем в /etc/postfix/main.cf следующие строчки:
 +
<pre>mailbox_command = /usr/bin/zarafa-dagent "$USER"
 +
mailbox_transport = zarafa: zarafa_destination_recipient_limit = 1</pre>
 +
Так-же необходимо добавить ваш maildomain in /etc/postfix/main.cf.<br\>
 +
Например:
 +
<pre>mydestination = hostname.local, example.com, localhost.hostname.local, localhost</pre>
 +
Добавьте в /etc/postfix/master.cf
 +
<pre>zarafa    unix  -      n      n      -      10      pipe
 +
  flags=DRhu user=vmail argv=/usr/bin/zarafa-dagent -R ${recipient}</pre>
 +
Создаем пользователя vmail:
 +
<pre>adduser -r vmail</pre>
 +
Добавьте пользователя vmail в параметр '''variable local_admin_users''' в /etc/zarafa/server.cfg. <br\>
 +
Теперь запускаем необходимые нам службы:
 +
<pre>/etc/init.d/mysqld restart</pre>
 +
<pre>/etc/init.d/httpd2 restart</pre>
 +
<pre>/etc/init.d/postfix restart</pre>
 +
<pre>/etc/init.d/zarafa-server restart</pre>
 +
Добавляем их в автозагрузку:
 +
<pre>chkconfig mysqld on</pre>
 +
<pre>chkconfig httpd2 on</pre>
 +
<pre>chkconfig postfix on</pre>
 +
Создаем нового пользователя:
 +
<pre>/usr/bin/zarafa-admin -c test -p password -e test@example.com -f "Zarafa Test"</pre>
 +
 
 +
После пройдите на http://ваш_ip/webaccess, вы получите доступ к веб-морде Zarafa, войдите под созданным пользователем и отправьте письмо самому себе. Если письмо приходит, на этом минимальная настройка Zarafa завершена. Если нет, проверьте логи postfix (/var/log/maillog).
 +
 
 +
===Подключение к LDAP===
 
Вопрос подключения Zarafa к LDAP описывается [http://www.altlinux.org/Zarafa/LDAP тут].
 
Вопрос подключения Zarafa к LDAP описывается [http://www.altlinux.org/Zarafa/LDAP тут].
  
=== Ссылки ===
+
===Ссылки===
 
# [http://www.zarafa.com/wiki/index.php/Install_Zarafa_from_Ubuntu_Repository Installing Zarafa from Ubuntu Repository]
 
# [http://www.zarafa.com/wiki/index.php/Install_Zarafa_from_Ubuntu_Repository Installing Zarafa from Ubuntu Repository]
 
# [http://www.zarafa.com/content/community Zarafa Community]
 
# [http://www.zarafa.com/content/community Zarafa Community]
 
# [http://www.zarafa.com/wiki/ Zarafa Wiki]
 
# [http://www.zarafa.com/wiki/ Zarafa Wiki]
  
{{Category navigation|title=Zarafa|category=Zarafa|sortkey={{SUBPAGENAME}}}}
+
[[Категория:Admin]]
{{Category navigation|title=Системному администратору|category=Admin|sortkey={{SUBPAGENAME}}}}
+
[[Категория:Zarafa]]

Обратите внимание, что все добавления и изменения текста статьи рассматриваются, как выпущенные на условиях лицензии CC-BY-SA-3.0.

В целях защиты вики от автоматического спама в правках просим вас решить следующую каптчу:

Отменить Справка по редактированию (в новом окне)
Вики-разметка
Заголовки: 1-го: == ==, 2-го: === ===, 3-го: ==== ==== уровня.
Быстрая вставка: «» | [[]] [[|]] {{}} {{|}} [[Категория:]] [[altbug:]] <source lang=""></source> <pre></pre> <!-- -->.
Определения: {{man|}} {{lists|}} {{cmd|}} {{path|}} {{prg|}} {{pkg|}} {{term|}} {{span||}} {{altbug|}}
Выделение: ''italics'', '''bold''', <tt>моноширинный</tt>, <code>код</code>.
Списки: * ненумерованный список, ** вложенный список, # нумерованный список, ## вложенный нумерованный список, *# вложенный смешанный список, ;список :определений.
Verbatim: Пробел в начале строки или <pre>Явный тэг</pre>
Ссылки: [http://www.altlinux.ru/ внешние], [[Main Page|внутренние]], [http://altlinux.ru], [[Main Page]]
Шаблоны: {{Crap}} {{D}} {{Policy}} {{DraftPolicy}} {{Merge|}} {{Улучшение}} {{Тимовец|}}