Ведь какой же это срам —
Лазить в «Яндекс» 
за ключами
Для коммерческих программ!
Леонид Каганов

Но стоит ли на самом деле платить? Проблема кроется в типовом наборе применяемых решений. А уж они, в свою очередь, прямо исходят из еще одной «экономии» — на квалифицированных кадрах. Хороший специалист не будет за небольшую заработную плату громоздить в конторе с двумя десятками рабочих мест, например, связку из Active Directory, MS Exchange, IIS и пары серверов под терминальные службы с «файлопомойкой». Это сложно в настройке, избыточно по функционалу и чертовски дорого. А вот студенты, согласные работать «админами» в небольших компаниях, готовы лишний раз попрактиковаться и повнедрять. В результате фирма получает монструозные конструкции, любые серьезные изменения в которых требуют переустановки или кропотливой и дорогостоящей работы специалиста. А от расценок на лицензирование всего этого «зверинца» голова даже у аспирина заболит.

Так или иначе, но в один особо пакостный день руководителю придется выбирать между расходами и… расходами. И понадобится либо купить лицензии на имеющееся добро, либо вложить деньги в полное переобустройство ИТ-парка с помощью квалифицированных специалистов и с применением уместных программных решений. И в любом случае платить придется немало. Однако второй вариант почти всегда выйдет несколько дешевле, позволит гарантировать отсутствие подобных стрессов в будущем и повысит общую эффективность работы благодаря выбрасыванию кучи лишнего хлама из обихода. Минусы второго решения также очевидны: придется перенастроить клиентские рабочие станции, пусть и незначительно, а кроме того, потребуется, чтобы новую систему в дальнейшем обслуживали компетентные сотрудники. Впрочем, самоограничения частенько бывают полезны, так что невозможность экономить на кадрах в перспективе может оказаться даже выгодной.

Итак, мы рассмотрим переход от одного из громоздких и дорогостоящих компонентов — Microsoft Exchange — к открытым и абсолютно бесплатным решениям. Причем будет обсужден как вариант с реорганизацией всей серверной инфраструктуры, так и «прозрачная» интеграция нового сервера в уже имеющуюся. А решения по избавлению от других типичных представителей сети предприятия, таких как Active Directory, IIS и прочих на базе Windows Server, мы можем представить в дальнейшем, если вы проявите к ним интерес.

Чтобы успешно реализовать на практике приведенные здесь «рецепты», необходимо иметь базовые навыки администрирования UNIX-систем и знать основы современных сетевых технологий.

Постановка задачи

В начале работы организация повсеместно использовала связку из Exchange и Microsoft Outlook. Естественно, что до тех пор, пока изменения в параметрах рабочих станций не запланированы, новый сервер должен восприниматься Outlook как самый обыкновенный Exchange. Однако, поскольку в будущем руководство организации будет выбирать между покупкой лицензий на Windows и Office или только на Windows либо вовсе переходить на сугубо свободные решения, то никаких проблем с другими клиентами у сервера не должно быть изначально. Причем крайне желательно иметь возможность работать со сторонними клиентами посредством открытых протоколов, так как прямое взаимодействие открытых клиентов с серверами Exchange реализовано не лучшим образом. Да и городить два «костыля» в виде эрзац-Exchange-сервера и эрзац-Exchange-клиента — затея весьма неразумная.

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

Из всего многообразия имеющихся в мире OpenSource открытых систем коллективной работы мы выбрали среду eGroupware (www.egroupware.org). К ее плюсам стоит отнести полностью свободную лицензию в сочетании с наличием коммерческой поддержки, модулей для синхронизации с огромным количеством популярных клиентов, как настольных, так и мобильных, широкий выбор поддерживаемых платформ с великолепной интеграцией в инфраструктуру LAMP-серверов (Linux Apache postgreSQL) а также в BSD, OSX Server, Solaris. В качестве базы данных для eGroupware может выступать postgreSQL, MySQL, Oracle — все зависит от масштабов решаемых задач и предпочтений администратора. Веб-сторона системы работает посредством связки из сервера Apache и PHP. Это очень простая в установке и наглядная в настройке среда.

Установочные пакеты могут быть как непосредственно получены с сайта разработчиков, так и найдены в составе популярных дистрибутивов Linux. На «Мир ПК-диске» мы приводим список необходимых пакетов и зависимостей, а также конфигурационные файлы применяемых компонентов. Как упоминалось выше, для эффективного использования данного решения требуются определенные навыки в общем администрировании UNIX/Linux-систем. В нашем случае такой системой станет свободная сборка Red Hat Enterprise Linux (RHEL) — CentOS (Community Enterprise Operation System, www.centos.org) версии 5.

Установка

Сначала следует установить все зависимости посредством пакетного менеджера yum. В принципе основные зависимости указаны в самих установочных пакетах eGroupware, но здесь следует учесть ряд тонкостей. Так, возможность использования нескольких баз данных не позволяет установить движок БД автоматически. Следует сделать выбор и произвести все необходимые действия самостоятельно. В нашем случае оптимальной СУБД является postgreSQL. Она нетребовательна к ресурсам, проста в настройке, свободна, и для нее имеется огромное количество инструментов администрирования, в том числе и с веб-интерфейсом.

Разобравшись с зависимостями, следует пройти по ссылке www.egroupware.org/download и загрузить пакеты для нашего дистрибутива. В CentOS принята политика использования исключительно проверенных «стабильных» версий пакетов, которые, естественно, не отличаются особой актуальностью. Поэтому в случае доверительности источника за более актуальными версиями ПО стоит отправляться в Интернет.

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

Настройка

Теперь самое время переходить к… приведению системы в работоспособное состояние. Как и всякая сложная многокомпонентная система, eGroupware обладает огромным количеством настроек, в том числе и во внешних модулях (таких, как расширения PHP, например). Первым делом следует отредактировать соответствующие конфигурационные файлы так, как приведено во врезках. Затем нужно запустить терминал и последовательно выполнить команды из врезки «Настройка внешних модулей» от имени суперпользователя root. Да, в CentOS по умолчанию не настроен файл sudoers, так что либо добавляйте туда своего «рядового» пользователя, либо переключайтесь на root посредством команды su. Впрочем, это уже относится к тому самому «базовому администрированию», которое мы решили оставить за рамками этой статьи. Одним словом, если данный этап кажется не совсем очевидным, то — man sudoers.

Редактирование записей адресной книги eGroupware

Проделав все перечисленное выше, стоит взяться за браузер. В состав eGroupware входит система проверки правильности установки. Зай­дите по адресу localhost/egroupware, введите логин и пароль, выбранные при инсталляции пакета, а затем выберите пункт «Проверка установки в меню».

Обратите внимание, что ряд пунктов, касающихся параметров БД, должен содержать значок ошибки, мы ведь не планируем использовать Oracle или MaxDB!

Если других ошибок не обнаружено, можно переходить к следующему этапу, в ином случае внимательно перепроверьте файлы конфигурации.

Отныне можно вполне комфортно производить настройки посредством веб-интерфейса. Ссылка из тестов установки направляет в окно создания основной учетной записи (домена). При использовании БД postgreSQL следует везде указать название домена default. В дальнейшем допустимо будет добавить нужное количество доменов с более осмысленными названиями.

После ввода параметров домена и БД система сгенерирует файл заголовка (header.inc.php), который следует скопировать в директорию /usr/share/egroupware/.

Все последующие настройки выполняются с помощью пошагового мастера, работа с которым не должна вызвать затруднений при наличии мало-мальского опыта конфигурирования того же Exchange Server. Единственный довольно-таки UNIX-специфичный пункт кроется в параметрах отправки почты (SMTP). Дело в том, что, в отличие от монолитных решений для среды Windows, eGroupware следуют классической UNIX-парадигме совокупности простых инструментов. Службы SMTP, IMAP и так являются частью штатных компонентов сервера. В настройках почты вам требуется указать лишь адрес, порт и учетные данные SMTP-сервера, локального или удаленного. А уж выбирать конкретное решение для его реализации (sendmail, exim, e.t.c) — вопрос вкуса и знаний администратора. Отдельно следует обратить внимание на варианты аутентификации. Система умеет работать как с простыми учетными записями в базе SQL, так и с локальным LDAP или контроллером домена Windows. Поскольку наша работа — лишь часть общего плана по переходу на свободное ПО, изначально завязывать решение на AD может оказаться не самой лучшей идеей. Данные из Active Directory можно импортировать в базу SQL или LDAP еще на стадии настройки нашей замены Exchange.

Если вы произвели все настройки верно, вам остается лишь создать учетные записи администратора и пользователей (или импортировать последние из AD), и можете приступать к тестированию.

Проверку почты можно осуществить любым клиентом. Для подключения же всех возможностей Exchange к пользовательским Outlook понадобится программа Funambol (www.forge.funambol.org/download/#desktop) Она поможет синхронизировать как Outlook, так и ряд других настольных и мобильных клиентов. Программа абсолютно бесплатна и великолепно вписывается в нашу концепцию экономии.

* * *

Как видите, незаменимых решений не бывает. А уж с учетом того, что большинство мелких и средних организаций используют Exchange в роли почтового сервера, возможности, предоставляемые eGroupware, и вовсе оказываются более чем достаточными. Добавьте к этому удобный, полностью локализованный веб-интерфейс — и желание оплачивать дорогостоящие лицензии исчезнет, как наваждение.

Настройка внешних модулей

pear install Auth_SASL

su — postgres

createuser -S -D -R -P egroupware -U postgres

createdb —encoding=utf-8 —owner egroupware egroupware -U postgres

exit

Внимание! При запросе БД пароля нового пользователя используйте пароль, заготовленный именно для БД. Его вы и укажете в настройках eGroupware.

Для обеспечения верификации по паролю добавьте в ваш файл pg_hba.conf (впереди прочих) следующую строку:

# TYPE DATABASE USER CIDR-ADDRESS METHOD

host egroupware egroupware 127.0.0.1/32 password

И перезапустите postgres.

Окно системы проверки правильности установки eGroupware

При установке eGroupware допустимы некоторые ошибки, связанные с неиспользованием отдельных СУБД