Необходимость в системах автоматизации коллективной работы очевидна и такие приложения востребованы. Особенно остро их нехватка ощущается в сфере малого и среднего бизнеса, которым установка 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, параметры соединения с базой данных, выбрать ее тип, а также пользователя БД и пользователя для изменения настроек (по умолчанию используется).
После чего необходимо нажать на “Скачать” или “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/)
//
интересные советы 🙂 пасиб большое 🙂
Permalink
Permalink