Знакомство с Open WebMail.

О необходимости наличия доступа к корпоративной почте через веб-интерфейс я задумался в первые же дни долгожданного отпуска. Конечно, существуют и бесплатные почтовые сервисы с доступом через http, но такой вариант меня не устраивал. Несколько исправил ситуацию ssh + mutt, но возможность воспользоваться такой связкой бывает не всегда. Поэтому уже через несколько дней после выхода из отпуска, на моем винчестере лежал свежескаченный дистрибутив одного из вариантов такого веб-интерфейса - Open WebMail (http://www.openwebmail.com/).

[Андрей Маркелов (www.markelov.net)]

Знакомство с Open WebMail.


Впервые опубликованно в журнале "Системный администратор" N5/2004

О необходимости наличия доступа к корпоративной почте через веб-интерфейс я задумался в первые же дни долгожданного отпуска. Конечно, существуют и бесплатные почтовые сервисы с доступом через http, но такой вариант меня не устраивал. Несколько исправил ситуацию ssh + mutt, но возможность воспользоваться такой связкой бывает не всегда. Поэтому уже через несколько дней после выхода из отпуска, на моем винчестере лежал свежескаченный дистрибутив одного из вариантов такого веб-интерфейса - Open WebMail (http://www.openwebmail.com/). По большому счету, выбор пал на Open WebMail в виду его ориентированности на работу с очень большими объемами почтовых сообщений. Как раз акцент в сторону больших объемов объемов входящей корреспонденции - это то, что отличает Open WebMail от других подобных систем, например, от Neomail - "предка" рассматриваемого пакета.

К его достоинствам можно отнести следующее:

  • лицензия GPL, разумеется;
  • наличие встроенного клиента SSH, планировщика и функции WebDisk;
  • фильтры почтовых сообщений;
  • поддержка разнообразных Unix-like систем и работающих на них почтовых систем;
  • поддержка SSL;
  • функции экспорта/импорта, облегчающие миграцию с почтовых клиентов;
  • русскоязычный интерфейс.

Проект развивается с 2001 года. Язык программирования - Perl. За основу, как написано на сайте, взят Neomail 1.14.

В этой статье я опишу базовую установку и настройку системы, плюс кратко расскажу, как выглядит работа Open WebMail с точки зрения пользователя. В качестве платформы я использовал Red Hat Linux и sendmail, но, как я уже говорил, Вы можете использовать и другие POSIX-системы.

Для нормальной работы веб-интерфейса требуются Apache с разрешенным выполнением скриптов cgi, и Perl минимум версии 5.005. Обратите внимание, что Open WebMail работает через Suidperl, что обеспечивает большую безопасность работы. Поскольку все данные компоненты ставятся практически в любом дистрибутиве Linux "из коробки", я не буду заострять на них дальнейшее внимание. Кроме того, необходимы следующие пакеты:

  • CGI.pm-2.74.tar.gz - библиотека Perl5 для написания WWW CGI - скриптов
  • MIME-Base64-2.12.tar.gz - модуль кодирования/декодирования по RFC 2045-MIME
  • libnet-1.0901.tar.gz - перловый API для поддержки приложений клиент/сервер
  • libiconv-1.9.1.tar.gz - пакет для динамической конвертации символов
  • Text-Iconv-1.2.tar.gz - интерфейс программирования на Perl для работы с предыдущим пакетом

Все вышеперечисленные архивы можно скачать по адресу http://openwebmail.com/openwebmail/download/packages/. В целом, при описании процесса инсталляции я буду придерживаться документации, входящей в состав дистрибутива. Предварительно сделаю замечание, что для установки перловых модулей можно воспользоваться и оболочкой CPAN, осуществляющим загрузку и установку модулей с сайта http://www.cpan.org/. Но мы пойдем по "пути командной строки".

MIME-Base64, CGI.pm и libnet ставятся следующим образом:

tar -zxvf <имя_архива>.tar.gz
cd
perl Makefile.PL
make
make install

Когда Вы будите давать команду perl Makefile.PL для пакета libnet, на предложение скрипта обновить конфигурацию, необходимо ответить отказом. Т.е. на единственный задаваемый Вам вопрос во время отработки скрипта нажать "n" и клавишу "Enter"

Libiconv ставиться следующим образом:

tar -zxvf libiconv-1.9.1.tar.gz
cd libiconv-1.9.1
./configure
make
make install

И наконец, займемся последним архивом - Text-Iconv-1.2:

tar -zxvf Text-Iconv-1.2.tar.gz
cd Text-Iconv-1.2
Правим Makefile.PL:
'LIBS'         => ['-L/usr/local/lib -liconv'],
'INC'          => '-I/usr/local/include',

Далее продолжаем из командной строки:

perl Makefile.PL
make
make test
make install

Если предпоследняя команда отработала неудачно, проверьте, правильно ли Вы отредактировали Makefile.PL. В крайнем случае, можно будет переименовать uty/iconv.pl.fake в shares/iconv.pl, и попробовать собрать openwebmail без поддержки iconv.

Теперь можно перейти непосредственно к установке Open WebMail. При описании я буду ориентироваться на Red Hat Linux:

cd /var/www
tar -zxvBpf openwebmail-2.30.tgz
mv data/openwebmail html/
rmdir data

Идем в каталог cd /var/www/cgi-bin/openwebmail/etc. Переименовываем auth_unix.conf.default в auth_unix.conf, открываем его в редакторе и указываем:

passwdfile_encrypted  '/etc/shadow'
passwdmkdb  'none'

Далее правим файл openwebmail.conf:

mailspooldir  '/var/spool/mail'
ow_htmldir    '/var/www/html/openwebmail'
ow_cgidir     '/var/www/cgi-bin/openwebmail'

Как видно, здесь мы просто указываем каталог где хранится почта находящаяся в обработке и системо-зависимые каталоги веб-сервера Apache. Почта на сервере храниться в формате mbox.

При желании здесь же можно изменить подпись, добавляемую к письму. Теперь осталось последнее действие. Запускаем инициализацию:

/var/www/cgi-bin/openwebmail/openwebmail-tool.pl -init

Во время инициализации Вам будет задан вопрос о необходимости сообщения разработчикам об установке Open WebMail.

На этом основные действия по установке пакета закончены. Теперь Вы можете зайти на сервер, и посмотреть, что в итоге получилось. Для приглашения к авторизации необходимо набрать в адресной строке браузера:

http://<сервер>/cgi-bin/openwebmail/openwebmail.pl

Так же можно передавать имя и пароль сразу:

http://<сервер>/cgi-bin/openwebmail/openwebmail.pl?loginname=USER password=PASS

В последнем случае, не забудьте, что эта ссылка сохраняется в "истории" Вашего браузера.

По умолчанию Вы попадаете в папку "Входящие". В верхней строке последовательно расположены двенадцать иконок: создание нового сообщения, просмотр и создание иерархии папок, настройка фильтров, получение почты, поиск, обновление экрана, переход в органайзер, запуск SSH-терминала, настройки и выход. Под панелью с иконками расположена строка с напоминаниями о запланированных событиях. Под ней - элементы интерфейса, позволяющие изменять сортировку, копировать и перемещать файлы, а также форма поиска.

Интерфейс программы достаточно простой и интуитивно понятный, так что я не вижу смысла его подробно описывать. Более наглядное представление о нем Вы можете получить на приведенных в журнале рисунках. "В действии" Вы можете ознакомится с работающим сервером по адресу http://www.postman.net/.

Андрей Маркелов.

Статья взята с сайта www.markelov.net.

[ опубликовано 14/07/2004 ]

Андрей Маркелов (www.markelov.net) - Знакомство с Open WebMail.   Версия для печати