Настройка eGroupware

9 Янв
2008

Необходимость в системах автоматизации коллективной работы очевидна и такие приложения востребованы. Особенно остро их нехватка ощущается в сфере малого и среднего бизнеса, которым установка Microsoft Exchange или Lotus Domino, не только не по карману, но и часто просто не оправдана. Сегодня существует целый ряд проектов с открытыми исходными текстами, которые могут заменить проприетарные продукты.

Какие бывают Groupware сервера

OpenSource решения для автоматизации групповой работы, строятся на открытых технологиях и стандартах. В числе которых SMTP, POP3/POP3S, IMAP/IMAPS, LDAP, LS/SSL, S/MIME, VCard, iCalendar и другие. Основой служит веб-технологии, как правило для их работы необходим веб-сервер с поддержкой PHP. OpenSource решения на Java встречаются реже. Для ускорения обработки данных такие системы требуют наличия БД например MySQL/PostgreSQL, в которой будет храниться настройки и другая информация. Такой подход очень удобен, так как отпадает необходимость в специализированном клиентском программном обеспечении, достаточно обычного веб-браузера. Хотя некоторые проекты позволяют использовать и клиентские программы вроде: Evolution, Mozilla ThunderBird, Mozilla Sunbird, Kontact, Outlook и другие, что обеспечивает большую гибкость и удобство. Поэтому перед внедрением приложения для коллективной работы, следует остановиться на решениях обеспечивающих требуемую функциональность. Кроме основных функций присущих таким системам вроде работы с почтой, календаря, планировщика заданий, записной книжки. Могут быть иметься и другие возможности вроде форумов, чатов, WiKi, системы управления контентом, просмотр комиксов и прочее. Все зависит от фантазии разработчиков, которой хватает на многое. Естественно приложение должно быть локализовано и максимально дружелюбно к пользователю. Использование веб, дает еще одно преимущество – в качестве базовой платформы можно использовать любую операционную систему, на которой может быть установлен базовый комплект. А это веб-сервер с поддержкой PHP и СУБД. В большинстве случаев рекомендуемыми являются компоненты XAMPP – Apache, PHP, MySQL [7], почтовый сервер можно использовать внешний, хотя встречаются и ограничения. И как правило сервер коллективной работы без проблем может быть запущен на компьютере под управлением Windows, Linux/Unix, *BSD и Solaris.

Учитывая, что некоторые решения, не смотря на кажущуюся, на первый взгляд простоту, установить не так то и легко, процесс выбора нужной системы для коллективной работы упрощен наличием демонстрационных версий, к которым любой желающий может получить доступ. Их можно найти как на сайтах проекта, так и специализированных ресурсах вроде [1]. Хотя в большинстве случаев предоставляется доступ к консоли администратора. Как будет выглядеть система с точки зрения обыкновенного пользователя, на которого ориентирован сервис ясно не всегда. Хотя и это существенно экономит время, да и нервы тоже, позволяя на раннем этапе отсеять часть продуктов, не подходящих под начальные условия.

Итак, задача настроить сервер коллективной работы, обеспечивающий доступ к ресурсам кроме веб-интерфейса и с помощью стандартных утилит, имеющий локализованный интерфейс. Обеспечивающий максимальное удобство пользователей и руководителей, в том числе и за счет расширенной функциональности, вроде доступа к файлам, управления проектами, работу с документами и CMS.

При поиске были рассмотрены следующие проекты.

Старожил TUTOS (http://www.tutos.org/). Этот проект развивается с 1997 года, поэтому период становления и детских болезней уже можно считать пройденным. Его отличает простой не перегруженный, но примитивный по сегодняшним меркам интерфейс, хотя его можно несколько облагородить с помощью тем . Интересно, что язык интерфейса определяется автоматически по настройкам браузера, что хорошо заметно при посещении демонстрационной страницы, хотя его можно указать и вручную. Это весьма развитая система, направленная в первую очередь на оптимизацию работы с проектами. Предусмотрена гибкая система управления пользователями, которые могут быть сопоставлены по отделам, группам, департаментам и их роли (менеджер, разработчик и прочее). Еще одним достоинством TUTOS является быстрота работы. В настоящее время разрабатываются приложения для синхронизации для рабочих сред KDE и Gnome, Java-сервлеты, планируется разработка механизмов синхронизации со сторонними приложениями. Но это в будущем.

PHProjekt (http://www.phprojekt.com/) неплохая система управления коллективной работой, имеющая модульную структуру. Легко адаптируемая под любые требования. Базовый комплект включает: компоненты группового календаря, управления проектами, учета времени, менеджер контактов, работа с электронной почтой, форум и некоторые другие. Поддерживается просмотр и печать документов в pdf, xml, csv, xls, rtf, doc, html, отправка SMS и факсов. Остальное (WiKi, WAP и прочее) реализовано с помощью модулей. PHProject поддерживает самое большое количество СУБД – 9. Интерфейс переведен более чем на 35 языков, в списке которых есть русский. По умолчанию поддерживается работа с кодировкой СP1251, но скачав дополнение можно установить любую из доступных. Хотя в документации все подробно расписано, установить PHProject бывает не так просто. Результирующий конфигурационный файл не появляется, а сам скрипт безнадежно виснет. Причем разработчики считают это вполне нормальным явлением, так как советуют просто повторить все сначала. PHProject полностью ориентирован на использование веб. Возможен экспорт и импорт адресных книг, но только путем создания промежуточных файлов.

По этой же причине не подошел и неплохой проект Tikiwiki (http://tikiwiki.org/), хотя и назначение его несколько иное. Как сказано на сайте это wiki-based Content Management System (CMS) с помощью которого можно создавать целые порталы, а затем уже следуют средства коллективной работы и прочие возможности, коих у Tikiwiki предостаточно. Поддерживается и русский язык.

Весьма неплохая разработка Scalix Community Edition (http://www.scalix.com/). Представляет собой бесплатную версию коммерческого продукта, в которой количество привилегированных пользователей ограничено 25, стандартных можно заводить сколько угодно. Разработка основана на лицензированном HP OpenMail, и обеспечивает пользователей доступом к электронной почте, календарю и некоторым другим, стандартным для серверов групповой работы возможностями. Пользователям и администратору предоставлен удобный веб-интерфейс, основанный на AJAX. Кроме того, доступ к информации можно получить с помощью внешних приложений вроде Microsoft Outlook, Novell Evolution и некоторые беспроводные устройства. Совместима с MS Exchange и легко интегрируется в Active Directory. В числе разработчиков есть выходцы из постсоветского пространства, поэтому с локализацией проблем нет. Программа установки имеет графический интерфейс и будет понятна даже новичку. Официально поддерживается Red Hat Enterprise Linux 3.0/4.0, Fedora Core 5*, SUSE Linux Enterprise Server 9.0/10.0, SUSE Linux Open Source Software (OSS) 10.1*, для которых можно скачать готовые пакеты. В остальных дистрибутивах установку можно производить из исходных текстов.

Open-Xchange Community Edition (http://www.open-xchange.com/), также представляет собой свободную версию коммерческого продукта, не имеющую некоторой функциональности. В частности удобного интерфейса администратора, простоты в установке и настройке. Это полноценный сервер групповой работы, обеспечивающий работу с почтой, календарь, список контактов, и задачи управления (форум, база знаний, совместную работу с документами, управление проектами), способную заменить Exchange Server. Поддерживается и синхронизация с KDE Kontact. Работа с устройствами, работающими по стандарту SyncML, а также Outlook и Outlook Express, реализована в коммерческой версии. Работа версии Community заявлена в 30 дистрибутивах Linux, а коммерческая только SUSE и RedHat. Интерфейс локализован.

OpenGroupware.org (http://www.opengroupware.org/) подробно описан в [4], базовая функциональность осталась прежней. OGo обеспечивает управление контактами, групповой календарь, управление заданиями, доступ к электронную почте, управление документами и проектами, планирование ресурсов, синхронизацию с Palm, Kontact, Novell Evolution. Доступен коммерческий модуль расширения для Outlook. Работает как в Linux или Windows. В CVS версии никаких средств локализации веб-интерфейса я не нашел, хотя есть список рассылки для русскоязычных пользователей.

Возможности eGroupware

eGroupware [2] программный пакет, предназначенный для обеспечения совместной работы групп пользователей и автоматизации бизнес процессов. Основу eGroupware API составляет код – phpGroupWare, часть разработчиков которого, также перешла в новый проект. Задачей своего проекта они видели не механическое соединение различных модулей, а создание единого информационного пространства, максимально удобного для конечного пользователя, в котором он сможет выполнять всю повседневную работу. Идеология проекта использует принципы FSF, поэтому в качестве лицензии выбрана GNU GPL. Хотя и не исключена поддержка модулей разрабатываемых по лицензии BSD. Результатом явилась система коллективной работы, изначально обеспечивающая большую функциональность по отношению к остальным подобным проектам.

Основные средства коллективной работы:

- Календарь – поддерживающий планирование времени для пользователей, групп и контактов;

- Адресная книга – для управления контактами и связи с другими приложениями eGroupware, реализован экспорт и импорт в/из LDIF, CSV и VCard и управление через LDAP или SQL;

- Почтовый клиент (FelaMiMail) – один из клиентов электронной почты, поддерживающий протокол IMAP, обспечивается сортировка, удаление сообщение, занесение отправителя в адресную книгу и прочие возможности;

- InfoLog – представляет собой замену спискам ToDo, заметкам, список звонков и систему управления взаимодействием с клиентами (CRM), тесно взаимодействующую с остальными компонентами eGroupware.

Дополнительных средств на порядок больше. Это менеджер проектов, система управления ресурсами и их планированием, файловый менеджер и ftp клиент, система управления контентом (SiteMgr) и WiKi (клон WikkiTikkiTavi), чат, а также средства разработки, администрирования и много другое. Помимо FelaMiMail в eGroupware включен еще один почтовый клиент AngleMail (http://www.anglemail.org/), поддерживающий POP3/IMAP. Всего 48 приложений. Плюс еще несколько приложений находится в стадии разработки. Недостатком такой функциональности является некоторая тяжеловесность eGroupware, по сравнению с остальными приложениями рассмотренными выше. Ведь только в базовом варианте содержится около 20 тысяч файлов размером 70 Мб.

Ко всем функциям можно получить доступ через веб-интерфейс, который полностью или частично переведен на 25 языков (есть русский и украинский язык). Поддерживается синхронизация некоторой информации с Kontact, Evolution, Outlook, Apple iCal, КПК и мобильными телефонами. Аутентификация пользователей возможна с использованием внутренней базы, LDAP или средствами ActiveDirectory.

Еще одним плюсом при выборе eGroupware является наличие сайта русскоязычных пользователей eGroupware [3], на котором хоть информации маловато, но зато работает форум. Здесь же можно взять файл для лучшей локализации интерфейса.

Для установки и работы eGroupware понадобится: компьютер под управлением, Windows от 95, Linux, MacOS X или другой POSIX совместимой системы, с установленным веб-сервером Apache, Roxen или IIS (рекомендован Apache 2), PHP от 4.3 (рекомендован 5.x) и база данных MySQL, Postgres, MaxDB, MSSQL (рекомендован MySQL 4.1 или 5.0) и сервер LDAP. Частично поддерживается и Oracle. Для отправки почтовых сообщений понадобится любой SMTP-сервер (Postfix), и для работы FelaMiMail – сервер Courier-IMAP, Cyrus-IMAP
UW-IMAP или MS Exchange. Для тех, кто не знает, как все это настроить, разработчики рекомендуют воспользоваться XAMPP [7].

Устанавливаем eGroupware

Тестовая установка производилась на Ubuntu 6.06, с установленным Apache 2.0.55, PHP 5.1.6 с Suhosin 0.9.5, как описано в [5], скомпилированный с минимальными опциями. Недостающие модули PHP при необходимости будут установлены из репозитария, а также MySQL 5.0.22 и IMAP Cyrus 2.2. Для упрощения будем считать, что все компоненты уже настроены и работают. В репозитарии Ubuntu доступна пока версия 1.0. Хотя актуальной на момент написания статьи была уже 1.2.106, ее установку и будем рассматривать в дальнейшем. При этом доступен пререлиз для разработчиков – 1.3.015 (1.4 beta1). Перед установкой советую ознакомиться с файлом “How to install and secure eGroupWare” [6], здесь же находятся готовые скрипты к этому документу.

Дистрибутив eGroupware располагается в двух пакетах: базовом обязательном для установки, и contrib, в который входят все дополнительные модули. В последнем находятся почтовый и ftp клиенты, форум, средства создания резервных архивов, чат и некоторые другие полезные дополнения. Я бы советовал использовать оба архива, затем в процессе настроек или эксплуатации лишние приложения можно легко удалить или отключить. Для установки необходимо архивы распаковать в рабочий каталог веб-сервера.

$ cd /var/www

$ sudo tar xjvf eGroupWare-1.2.106-2.tar.bz2

$ sudo tar xjvf eGroupWare-contrib-1.2.106-2.tar.bz2

Затем устанавливаем необходимые права доступа для файлов и каталогов. Сначала изменяем владельца вновь созданных файлов, на пользователя, от имени которого работает веб-сервер.

$ sudo cat /etc/apache2/apache2.conf | grep User

User www-data

$ sudo chown -R www-data:www-data /var/www/egroupware

Для файлов задаем право на чтение, для каталогов чтение и исполнение.

$ sudo find egroupware -type d -exec chmod 550 {} \;

$ sudo find egroupware -type f -exec chmod 440 {} \;

Веб-сервер должен иметь возможность записи в подкаталог fudforum.

$ sudo chmod -R 660 /var/www/egroupware/fudforum

Добавим в apache2.conf такие строки:

<Directory /var/www/egroupware>

<Files ~ «\.(inc.php|tpl)$»>

Order allow,deny

Deny from all

</Files>

</Directory>

Теперь перезапускаем веб-сервер, в браузере набираем http://имя_узла/egroupware/setup/ и попадаем в программу установки. Сначала в выпадающем списке выбираем язык, после чего для тестирования системных установок и наличия всех пакетов нажимаем “Run installation test”. Через некоторое время скрипт выдаст результат .

Результат работы скрипта проверяющего готовность системы

В идеальном варианте все тесты за исключением проверяющих работу баз данных (ведь для работы будет использована только одна) должны быть отмечены зеленым цветом. Все помеченные красным крестиком относятся к критическим ошибкам, влияющим на работу eGroupware, они должны быть устранены полностью. Отмеченные желтыми модулями означают, что некоторая функциональность не будет доступна. Это не критично, но лучше тоже с ними разобраться. К ошибкам даны внятные подсказки, помогающие быстро устранить проблему. Чтобы некоторые изменения вступили в силу, потребуется перезапуск компонентов: веб-сервера, MySQL.

В тестовой системе, чтобы привести все в соответствие требованиям, необходимо было выполнить следующие действия.

Установить значения параметра memory_limit = 16M (можно больше) и mbstring.func_overload = 7 в файле /etc/php5/apache2/php.ini.

Установить модули php для работы с выбранной базой данных, модуль для поддержки библиотек GD и IMAP.

$ sudo apt-cache search php | grep mysql

$ sudo apt-get install php5-mysql php5-mysqli php5-gd php5-imap

Далее потребовалось установить модуль PEAR::Log из PEAR (PHP Extension and Application Repository). Сначала устанавливаем основной пакет для работы с PEAR.

$ sudo apt-get install pear

А затем и сам Log.

$ sudo pear install Log

WARNING: channel «pear.php.net» has updated its protocols, use «channel-update pear.php.net» to update

Did not download optional dependencies: pear/DB, pear/MDB2, use –alldeps to download automatically

pear/Log can optionally use package «pear/DB» (version >= 1.3)

pear/Log can optionally use package «pear/MDB2″ (version >= 2.0.0RC1)

downloading Log-1.9.10.tar …

Starting to download Log-1.9.10.tar (-1 bytes)

………………….done: 227,840 bytes

install ok: channel://pear.php.net/Log-1.9.10

После решения всех проблем необходимо выбрать повторную проверку или нажатием на “Continue to the Header Admin”, перейти к следующему этапу. Результатом работы, которого должен стать файл header.inc.php содержащий основные настройки. В появившемся окне будет выдан анализ настроек, в Setting необходимо уточнить или заполнить основные значения: пользователя и пароль для доступа к header файлу, адреса интерфейсов на которых будет принимать соединения eGroupware, параметры соединения с базой данных, выбрать ее тип, а также пользователя БД и пользователя для изменения настроек (по умолчанию используется).

Окно создания конфигурационного файла header.inc.php

После чего необходимо нажать на “Скачать” или “View”, чтобы сгенерировать файл. Файл будет создан в каталоге /tmp, и под обыкновенным пользователем на место поместить его не получится. Можно поступить так.

$ sudo cp -v /tmp/header.inc.php /var/www/egroupware/

`/tmp/header.inc.php’ -> `/var/www/egroupware/header.inc.php

$ sudo chown -R www-data:www-data /var/www/egroupware/header.inc.php

Для дальнейших настроек необходимо зайти веб-браузером на страницу http://localhost/egroupware/login.php. Этот момент в документации описан несколько непонятно. Теоретически, все необходимые базы данных должны быть созданы автоматически, в моем же случае было получено сообщение о том, что:

Fatal Error: It appears that you have not created the database tables for eGroupWare. Click here to run setup.

И возврат на предыдущую позицию и так по кругу. Пришлось все создавать вручную.

$ mysqladmin -u root -p create egroupware

$ mysql -u root -p

Enter password:

Welcome to the MySQL monitor. Commands end with ; or \g.

Your MySQL connection id is 13 to server version: 5.0.22-Debian_0ubuntu6.06.2-log

Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the buffer.

mysql> grant all on egroupware. * to admin@localhost identified by «admin»;

Query OK, 0 rows affected (0.21 sec)

Теперь повторяем попытку. В появившемся окне можно зарегистрироваться в двух позициях. Если воспользоваться полем Header Admin Login, вернемся к меню создания header.inc.php. Для продолжения настройки необходимо зарегистрироваться в окне Setup/Config Admin Login, где ввести пользователя указанного в поле Configuration User.

Последние настройки

Теперь осталось пройти еще шесть шагов, часть которых возможно будет выполнена автоматически. Для начала нажимаем кнопку “Install application Mysql database” будет произведено создание необходимых полей в базе данных и установка всех приложений, которые будут найдены в каталогах. Второй шаг – создание настроек. В появившемся окне необходимо уточнить или заполнить значение, каталогов для хранения временных файлов, каталогов для пользовательских файлов, WebDAV, настрйоки http, ftp и параметры прокси-сервера,установки SMTP/POP/IMAP и LDAP, Active Directory (если нужно), настроить авторизацию и учетные записи, в том числе и включение анонимного пользователя . После внесения всех изменения нажимаем Save.При первом запуске у меня появилось сообщение:

Step 2 – Configuration*

not completed* Your files directory ‘/var/lib/egroupware/default/files’ does not exist**

Your backup directory ‘/var/lib/egroupware/default/backup’ does not exist**

Missing or uncomplete mailserver configuration*

Устраняем.

$ sudo mkdir /var/lib/egroupware/

$ sudo mkdir /var/lib/egroupware/default/

$ sudo mkdir /var/lib/egroupware/default/backup

$ sudo mkdir /var/lib/egroupware/default/files

$ sudo chown -R www-data:www-data /var/lib/egroupware

Третьим шагом настройки является создание учетной записи Администратора, нажимаем кнопку «Create admin account». В появившемся окне заполняем данные пользователя, который будет обладать правами Администратора, вводим пароль, установив флажок в «Create demo accounts» можно также автоматически еще и создать трех демонстрационных пользователей: demo/guest, demo2/guest and demo3/guest.

Шаг четвертый «Language Management» нажимаем кнопку «Manage Languages» и в окне выбираем языки интерфейса, нажимаем Install и переходим к выбору приложений «Advanced Application Management». Здесь поступаем аналогично, нажимаем кнопку «Manage Applications», в таблице два основных столбца.

Редактирование доступных приложений

В первом указаны установленные приложения, их версии и краткое описание, а во втором действие над выбранным приложением – Install, Upgrade, Resolve и Remove. Сейчас можно удалить лишнее, установив флажок в Remove и нажав Save, для выхода из меню нажимаем Cancel. Последний, шестой шаг «DB backup and restore» позволяет сохранить резервную копию настроек (немедленно или установить расписание) и восстановить их при необходимости. По окончании настроек выбираем в меню «Back to user login», регистрируемся как пользователь-администратор.

Рабочее окружение обычного пользователя будет выглядеть аналогично, только не будет кнопки “Админ”. Нажав на которую можно: изменить настройки сервера, создать/удалить/редактировать учетные записи пользователей и групп, просмотреть журнал работы, изменить сообщение на главной странице и прочее. При редактировании/создании учетных записей указываются: персональные данные пользователя , установить срок действия пароля, приложения с которыми он может работать, принадлежность к группам. Аналогично и приложения: их можно удалить, отключить, изменить расположение в меню.

Редактирование учетной записи пользователя

На этом установку сервера eGroupware можно считать завершенной. Осталось проверить работоспособность всех компонентов, завести пользователей, и распределить их по группам.


Ссылки:

1. Сайт предлагающий демоверсии OpenSource продуктов различных категорий: CMS, Groupware, WiKi, форумы, Интернет-магазины и другие http://demo.opensourcecms.com/

2. Сайт проекта eGroupware – http://www.eGroupware.org/

3. Сайт русскоязычных пользователей eGroupware http://eGroupware.ru/

4. Яремчук С. OpenGroupware.org, или последний кирпич в стене – Журнал “Системный администратор”, № 10, 2004 г. – 12 – 16 с.

5. Яремчук С. Защита PHP приложений с Suhosin – Журнал “Системный администратор”, № 11, 2006 г. – 74 – 77 с.

6. Проект “eGW install and security howto”

http://sourceforge.net/projects/egwsec/

7. Проект XAMPP – http://www.apachefriends.org/

 

Статья была напечатана в журнале Системный Администратора (http://www.samag.ru/)

3 Комментариев к Настройка eGroupware

Аватар

База данных предприятий

Январь 24th, 2008 | 8:16

интересные советы :) пасиб большое :)

Аватар

Linuxoid - все что знаю о Туксе » Архив блога » Citadel - OpenSource решение для групповой работы

Февраль 25th, 2008 | 8:00

[...] одной из систем для групповой работы eGroupware уже говорилось, там же дано краткое описание [...]

Аватар

Linuxoid - все что знаю о Туксе » Архив блога » Сервер коллективной работы Zimbra

Май 3rd, 2008 | 22:25

[...] об одной из систем для групповой работы eGroupware http://www.tux.in.ua/articles/17, там же дано его краткое сравнение с имеющимися [...]

Комментировать

Наверх