Linux Slackware Энциклопедия от А до Я
Сайт посвящен свободно распространяемому ПО и Linux Slackware в частности.
Разделы:
Раздел/Тема
Главная -> Программы -> eGroupware - Установка сервера групповой работы

Необходимое предисловие.

Наверное каждому, кто хоть немного интересуется проблемами в IT сфере, известна проблема лицензирования программного обеспечения. После всем известных событий в сфере образования эти проблемы стали известны даже и широкой общественности. И если государство, для себя худо бедно найдет выход из этой ситуации, попутно накормив всех причастных. То админам, работающим в различных конторах, богатых и не очень, все чаще не спится спокойно по ночам. Потому, что ответственность за пиратских софт ложится непосредственно на них. Такова наша действительность, наказывать невиновных и награждать непричастных. Усугубляется эта картина тем, что руководство привыкшее не платить за софт ничего, не хочет платить за него и теперь, когда им уже недвусмысленно дают понять, что халява кончилась. Опять же, менталитет... Вспомним старую русскую пословицу про жареного петуха. Итак, часто админ остается один на один с этими проблемами. А ведь задачи перед ним ставят и решать их надо. Можно конечно уподобиться страусу, и как и прежде продолжать ставить пиратский софт, но это не лучший вариант решения проблемы. Я предлагаю в этом случае подготовить для себя пути для миграции на свободные решения. Т.е. на Linux. Пусть даже полностью перейти не получится, можно сильно сократить затраты заменив многие приложения их свободными аналогами. Пусть OpenOffice и не заменит полностью Microsoft Office, но спросите себя, кто из вас полностью использует все возможности MS Office? А вы задавались вопросом сколько стоит офисный пакет от Microsoft? Для тех кто не знает, вот тут можно поглядеть на цены: http://softkey.ru/catalog/program_ver.php?ID=34973&CID=343 Теперь умножьте это число на количество машин в вашей сети... Я думаю после этого причитания ваших юзеров на то, что в OpenOffice неудобно работать покажутся вам несколько неубедительными. Представим себе на минуту, что вдруг даже домой надо покупать себе софт! Страшный сон правда? И что? Мы купим себе офис от MS? Любой ваш пользователь освоит за один день весь OpenOffice лишь бы не платить таких денег. Перейдем к разделу сервера. Тут все только хуже. Кроме того, что надо платить за сам сервер, надо платить еще и за подключения к нему. Убедитесь в этом: http://softkey.ru/catalog/program_ver.php?ID=3613&CID=351, http://softkey.ru/catalog/program.php?ID=14062&CID=351 В средние века на Востоке существовала масса нелепых налогов: на сочную траву, на воздух, на воду, на все. Ценовую политику компании Microsoft не напоминает? Изучение лицензионного соглашения которое вы обычно принимаете не читая, оставлю вам на сон грядущий почитать. То еще чтиво. Итак в моем понимании схема миграции должна быть следующей. Сначала на рабочих местах пользователей надо установить софт, который есть и под Linux. Офисный пакет, почтовый клиент, браузер, медиаплейер в конце концов. Когда привыкнут, и если не используется специфичный софт, можно эти машины перевести на Linux. Как интегрировать Linux машину в Windows домен я тут рассказывать не буду. Скажу только, что это вполне реально. А вот если приходится использовать софт, который под Linux работать не будет, придется остаться на винде, но мы уже сэкономили кучу денег. И теперь перед нами встает проблема взаимодействия в сети Windows и Linux рабочих станций. Для взаимодействия сотрудников компании в сети предназначены серверы групповой работы, такие как Exchange от MS и Lotus от IBM. Если у вас Lotus, вы счастливчики, и сервер и клиент Lotus есть под Linux. Ко всему прочему Lotus сильно выигрывает у Exchange по функциональности. Но он стоит не малых денег. Мы же решили экономить. Вернее нам просто не дадут денег, а задачу поставят. Чтоб и общий календарь был, и адресная книга, и вообще, чтоб все как у людей. При этом надо, чтоб все это хозяйство было интегрировано в Windows домен. Ну что же, не находит тот кто ничего не ищет. На просторах сети есть проект eGroupware — www.egroupware.org Это сервер групповой работы со всеми перечисленными функциями и даже больше. Распространяется под лицензией GPL, написан на PHP. Работает как под Linux так и под Windows. Но я буду рассматривать установку именно на Linux. Для того чтобы это все работало, нам нужно:
  • smtp сервер
  • imap сервер
  • http сервер
  • http сервер
  • php
  • mysql.
Я предполагаю что первые два сервера у вас уже есть. В сети масса документации как установить связку типа postfix + dovecot + mysql + spamassassin + clamav. Кстати я примерно такую и использую, за исключением антивируса. Для интеграции в Windows домен вместо mysql можно собрать эти сервера с поддержкой LDAP и прикрутить их к AD. Итак остается собственно eGroupware.

На этом закончим вступление и приступим к делу.

Мы ставим наш сервер на дистрибутив Slackware 12.0. Я предполагаю что при установке были поставлены все пакеты, кроме пакетов из разделов: f, k, kde, xap, games. Сначала скачаем eGroupware: wget http://surfnet.dl.sourceforge.net/sourceforge/egroupware/eGroupWare-1.4.001.tar.bz2 wget http://surfnet.dl.sourceforge.net/sourceforge/egroupware/eGroupWare-icalsrv-1.4.001.tar.bz2 wget http://surfnet.dl.sourceforge.net/sourceforge/egroupware/eGroupWare-egw-pear-1.4.001.tar.bz2 На сегодняшний день последней стабильной версией является 1.4.001. Распакуем куда нам удобно, я обычно это делаю в /usr/local/src: tar xjvf ./eGroupWare-1.4.001.tar.bz2 && tar xjvf eGroupWare-icalsrv-1.4.001.tar.bz2 && \ tar xjvf eGroupWare-egw-pear-1.4.001.tar.bz2 Мы поместим стартовую страницу нашего сайта в корень нашего веб сервера, поэтому удалим оттуда сначала все не нужное: rm -Rf /var/www/htdocs/* Копируем туда наш сайт: cp -a /usr/local/src/egroupware/* /var/www/htdocs/

Займемся http сервером:

Открываем конфиг апача: sudo vi /etc/httpd/httpd.conf Добавляем DirectoryIndex index.html index.php Раскомментируем строчку Include /etc/apache/mod_php.conf Делаем стартовый скрипт апача запускаемым (если это не было сделано при установке) sudo chmod 744 /etc/rc.d/rc.httpd Запускаем апач: sudo /etc/rc.d/rc.httpd start

Приступим к mysql:

переименовываем /etc/my-mediun.cnf в /etc/my.cnf, делаем стартовый скрипт mysql запускаемым: sudo chmod 744 /etc/rc.d/rc.mysqld Дальше создаем системные таблицы mysql: su mysql mysql_install_db Installing all prepared tables Fill help tables To start mysqld at boot time you have to copy support-files/mysql.server to the right place for your system PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER ! To do so, start the server, then issue the following commands: /usr/bin/mysqladmin -u root password 'new-password' /usr/bin/mysqladmin -u root -h kmax password 'new-password' See the manual for more instructions. You can start the MySQL daemon with: cd /usr ; /usr/bin/mysqld_safe & You can test the MySQL daemon with the benchmarks in the 'sql-bench' directory: cd sql-bench ; perl run-all-tests Please report any problems with the /usr/bin/mysqlbug script! The latest information about MySQL is available on the web at http://www.mysql.com Support MySQL by buying support/licenses at http://shop.mysql.com Давим CTRL+D, и выйдя в свой сеанс запускаем сервер Mysql: sudo /etc/rc.d/rc.mysqld start Скрипт советовал нам сменить пароль для суперпользователя базы данных, не станем пренебрегать столь мудрым советом. /usr/bin/mysqladmin -u root password 'наш_новый_пароль' Для тех кто хочет использовать хранилище на движке InnoDB, в секцию [mysqld] файла /etc/my.cnf надо добавить: default-table-type=innodb и перезапустить сервер. Теперь таблицы в базах будут создаваться используя хранилище InnoDB. Также стоит убрать ремарки со строк описывающих конфигурацию InnoDB в /etc/my.cnf. Теперь у нас есть база данных и Веб сервер. Дальнейшая установка в основном выполняется в интерактивном режиме, через браузер. В адресной строке нашего любимого браузера наберем: http://ip_нашего_сервера и получим такую картину: Выбираем Русский язык и переходим к следующему экрану: Запускаем тесты и получаем сразу несколько ошибок. Из которых ни одной значительной нет, разве что вы собираетесь использовать кодировку UTF-8 для своего сайта, тогда в файле /etc/httpd/php.ini надо убрать ремарку с параметра mbstring_func_overload = 7 Дальше выбираем Continue to the Header Admin и приступаем к конфигурированию файла header.inc.php, но предварительно создадим его: sudo touch /var/www/htdocs/header.inc.php Этот файл должен быть доступен на чтение — запись только пользователю из-под которого работает веб сервер. sudo chown apache:apache /var/www/htdocs/header.inc.php sudo chmod 600 /var/www/htdocs/header.inc.php Указываем пути к файлам Веб сервера, указываем имя логин пользователя который может редактировать файл header.inc.php, и его пароль. Если надо разрешаем доступ к этому файлу только с определенных хостов/сетей. Включаем шифрования при доступе к этому файлу. Если вы планируете несколько доменов то ставим «Да» в полеDomain select dox on login. Дальше конфигурируем будущую базу данных нашего сервера: Указываем типа нашей базы данных, порт, имя базы, имя пользователя у которого будут полные права на базу, его пароль, пользователь который будет админом доменов и его пароль. Давим write, и получаем сообщение, что файл header.inc.php успешно создан: Продолжаем: Дальше вводим учетные данные пользователя который имеет право редактировать домен: Получаем сообщение что база данных egroupware не существует, как видим тут есть четкие инструкции, что надо делать чтоб ее создать. Можно из консоли, а кому лень, можно прямо из браузера. Для этого надо только ввести пароль суперпользователя базы данных в поле DB root password, что мы сделаем и жмем create database: Скрипт отработал без ошибок, база создана, жмем Re-Check My Installation: Нам говорят, что база работает, но приложения не установлены, жмем установить, и после того как скрипт наполнит таблицы содержимым снова жмем Re-Check My Installation: Для выгрузки бэкапов нужны папки за пределами Веб сервера, а именно: /var/lib/default/files и /var/lib/default/backup Читать и писать в эти папки должен только пользователь apache, создаем все нужное и раздаем права: sudo mkdir /var/lib/default sudo mkdir /var/lib/default/files sudo mkdir /var/lib/default/backup sudo chown -R apache:apache /var/lib/default/ sudo chmod -R 740 /var/lib/default/ После этого обновляем страницу в нашем браузере и больше ругани не наблюдаем, переходим к редактированию нашей конфигурации: Тут ничего трогать вроде не надо. Дальше заполняем важные поля: имя вашего сервера, адрес IMAP/POP3 сервера, протокол по которому буде происходить обмен, включают ли учетные записи доменную часть или нет, адрес SMTP сервера, домен, порт SMTP сервера. Дальше указываем где хранятся логины и пароли пользователей, я выбрал авторизацию через домен Windows. Логины будут храниться в базе данных, а пароли будут браться из AD. Дальше указываю учитывать регистр символов в логине и пароле, и создавать пользователя автоматически при совпадении учетных данных при первом логине пользователя, иначе никто не сможет зайти в первый раз и пользователей придется создавать вручную. Дальше указываем ip контроллера домена и название нашего домена. Записываем нашу конфигурацию и создаем админскую учетную запись: Собственно заполняем анкету, два раза вводим пароль и не забываем поставить галку для управления всеми установленными приложениями, записываем изменения. И давим Назад к логину пользователя. Вводим админские учетные данные и начинаем работать. Для работы не требуется никакой программный клиент, нужен только браузер. Если все же клиент нужен, то стандартный Kontact из KDE полностью поддерживает работу с eGroupware, для аутглюка есть синхронизаторы. Но к сожалению они работают крайне криво . Винить разработчиков в этом язык не поворачивается, аутглюк продукт закрытый. Данные пользователей вытаскиваются из AD автоматически, т.е чем больше вы там данных храните тем больше полей будет заполнено в вашей адресной книге. Сервер наделен богатым функционалом, но и недостатков к сожалению тоже не мало. Самый большой это то, что русифицировано далеко еще не все, но работа в этом направлении не прекращается. Тем более в сервер встроена система управления контентом и вы можете вручную русифицировать то, что именно вам нужно. Basmach 29.09.2007