Рубрика:
Администрирование /
Продукты и решения
|
Facebook
Мой мир
Вконтакте
Одноклассники
Google+
|
СЕРГЕЙ ЯРЕМЧУК, фрилансер. Автор более 800 статей и шести книг. С «СА» с первого номера. Интересы: сетевые технологии, защита информации, свободные ОС
Устанавливаем eGroupware
Необходимость в системах автоматизации коллективной работы очевидна, и такие приложения востребованы. Особенно остро их нехватка ощущается в сфере малого и среднего бизнеса, которому установка Microsoft Exchange или Lotus Domino не только не по карману, но и часто неоправдана. Существует целый ряд проектов с открытыми исходными текстами, которые могут заменить проприетарные продукты.
Какие бывают Groupware-серверы
Open Source-решения для автоматизации групповой работы строятся на открытых технологиях и стандартах, в числе которых SMTP, POP3/POP3S, IMAP/IMAPS, LDAP, LS/SSL, S/MIME, VCard, iCalendar и другие. Основой служат веб-технологии, как правило, для их работы необходим веб-сервер с поддержкой PHP.
Open Source-решения на 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
Старожил TUTOS (http://www.tutos.org). Этот проект развивается с 1997 года, поэтому период становления и «детских болезней» уже можно считать пройденным. Его отличает простой, не перегруженный, но примитивный по сегодняшним меркам интерфейс, хотя его можно облагородить с помощью тем. Интересно, что язык интерфейса определяется автоматически по настройкам браузера, что хорошо заметно при посещении демонстрационной страницы, хотя его можно указать и вручную. Это весьма развитая система, направленная в первую очередь на оптимизацию работы с проектами. Предусмотрена гибкая система управления пользователями, которые могут быть сопоставлены по отделам, группам, департаментам и их роли (менеджер, разработчик и прочее). Еще одним достоинством TUTOS является быстрота работы. В настоящее время разрабатываются приложения для синхронизации для рабочих сред KDE и Gnome, Java-сервлеты, планируется разработка механизмов синхронизации со сторонними приложениями. Но это в будущем.
PHProjekt
PHProjekt (http://www.phprojekt.com) неплохая система управления коллективной работой, имеющая модульную структуру. Легко адаптируемая под любые требования. Базовый комплект включает: компоненты группового календаря, управления проектами, учета времени, менеджер контактов, работу с электронной почтой, форум и некоторые другие. Поддерживается просмотр и печать документов в pdf, xml, csv, xls, rtf, doc, html, отправка SMS и факсов. Остальное (WiKi, WAP и прочее) реализовано с помощью модулей. PHProjekt поддерживает самое большое количество СУБД – 9. Интерфейс переведен более чем на 35 языков, в списке которых есть русский. По умолчанию поддерживается работа с кодировкой СP1251, но, скачав дополнение, можно установить любую из доступных. Хотя в документации все подробно расписано, установить PHProjekt бывает не так просто. Результирующий конфигурационный файл не появляется, а сам скрипт безнадежно виснет. Причем разработчики считают это вполне нормальным явлением, так как советуют повторить все сначала. PHProjekt полностью ориентирован на использование веб. Возможен экспорт и импорт адресных книг, но только путем создания промежуточных файлов.
Tikiwiki
По этой же причине не подошел и неплохой проект Tikiwiki (http://tikiwiki.org), хотя и назначение его иное. Как сказано на сайте, это wiki-based Content Management System (CMS), с помощью которого можно создавать целые порталы, а затем уже следуют средства коллективной работы и прочие возможности, коих у Tikiwiki предостаточно. Поддерживается и русский язык.
Scalix Community Edition
Весьма неплохая разработка 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
Open-Xchange Community Edition (http://www.open-xchange.com) также представляет собой свободную версию коммерческого продукта, не имеющую некоторой функциональности. В частности, удобного интерфейса администратора, простоты в установке и настройке. Это полноценный сервер групповой работы, обеспечивающий работу с почтой, календарь, список контактов и задачи управления (форум, база знаний, совместная работа с документами, управление проектами), способный заменить Exchange Server. Поддерживается и синхронизация с KDE Kontact. Работа с устройствами, работающими по стандарту SyncML, а также Outlook и Outlook Express, реализована в коммерческой версии. Работа версии Community заявлена в 30 дистрибутивах Linux, а коммерческая – только SUSE и RedHat. Интерфейс локализован.
OpenGroupware.org
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». Через некоторое время скрипт выдаст результат (см. рис. 1).
Рисунок 1. Результат работы скрипта, проверяющего готовность системы
В идеальном варианте все тесты за исключением проверяющих работу баз данных (ведь для работы будет использована только одна) должны быть отмечены зеленым цветом. Все помеченные красным крестиком относятся к критическим ошибкам, влияющим на работу 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, содержащий основные настройки. В появившемся окне (см. рис. 2) будет выдан анализ настроек, в Setting необходимо уточнить или заполнить основные значения: имя пользователя и пароль для доступа к header-файлу, адреса интерфейсов, на которых будет принимать соединения eGroupware, параметры соединения с базой данных, выбрать ее тип, а также имя пользователя БД и имя пользователя для изменения настроек (по умолчанию используется). После чего нажмите на «Скачать» или «View», чтобы сгенерировать файл. Файл будет создан в каталоге /tmp, и под обыкновенным пользователем на место поместить его не получится.
Рисунок 2. Окно создания конфигурационного файла header.inc.php
Можно поступить так.
$ 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.
Последние настройки
Теперь осталось пройти еще шесть шагов, часть которых, возможно, будет выполнена автоматически (см. рис. 3). Для начала нажимаем кнопку «Install application Mysql database», будет произведено создание необходимых полей в базе данных и установка всех приложений, которые будут найдены в каталогах.
Рисунок 3. Окно установок eGroupware
Второй шаг – создание настроек. В появившемся окне необходимо уточнить или заполнить значение каталогов для хранения временных файлов, каталогов для пользовательских файлов, WebDAV, настройки http, ftp и параметры прокси-сервера, установки SMTP/POP/IMAP и LDAP, Active Directory (если нужно), настроить авторизацию и учетные записи, в том числе и включение анонимного пользователя (см. рис. 4).
Рисунок 4. Задание основных настроек
После внесения всех изменений нажимаем «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», в таблице два основных столбца (см. рис. 5).
Рисунок 5. Редактирование доступных приложений
В первом указаны установленные приложения, их версии и краткое описание, а во втором – действие над выбранным приложением – Install, Upgrade, Resolve и Remove. Сейчас можно удалить лишнее, установив флажок в Remove и нажав «Save», для выхода из меню нажимаем «Cancel».
Последний, шестой шаг «DB backup and restore» позволяет сохранить резервную копию настроек (немедленно или установить расписание) и восстановить их при необходимости. По окончании настроек выбираем в меню «Back to user login», регистрируемся как пользователь-администратор.
Рабочее окружение обычного пользователя будет выглядеть аналогично, только не будет кнопки «Админ». Нажав на которую можно: изменить настройки сервера, создать/удалить/редактировать учетные записи пользователей и групп, просмотреть журнал работы, изменить сообщение на главной странице и прочее (см. рис. 6).
Рисунок 6. Окно администрирования eGroupware
При редактировании/создании учетных записей указываются: персональные данные пользователя (см. рис. 7), срок действия пароля, приложения, с которыми он может работать, принадлежность к группам. Аналогично и приложения: их можно удалить, отключить, изменить расположение в меню.
Рисунок 7. Редактирование учетной записи пользователя
На этом установку сервера eGroupware можно считать завершенной. Осталось проверить работоспособность всех компонентов, завести пользователей и распределить их по группам.
- Сайт предлагающий демоверсии Open Source-продуктов различных категорий: CMS, Groupware, WiKi, форумы, интернет-магазины и другие – http://demo.opensourcecms.com.
- Сайт проекта eGroupware – http://www.eGroupware.org.
- Сайт русскоязычных пользователей eGroupware – http://eGroupware.ru.
- Яремчук С. OpenGroupware.org, или последний кирпич в стене. //Журнал «Системный администратор», №10, 2004 г. – С. 12-16.
- Яремчук С. Защита PHP-приложений с Suhosin. //Журнал «Системный администратор», №11, 2006 г. – C. 74-77.
- Проект «eGW install and security howto» – http://sourceforge.net/projects/egwsec.
- Проект XAMPP – http://www.apachefriends.org.
Facebook
Мой мир
Вконтакте
Одноклассники
Google+
|