«Кто стучится в дверь ко мне…». Обзор системы поддержки списков рассылок GNU MAILMAN::Журнал СА7.2004
www.samag.ru
Льготная подписка для студентов      
Поиск   
              
 www.samag.ru    Web  0 товаров , сумма 0 руб.
E-mail
Пароль  
 Запомнить меня
Регистрация | Забыли пароль?
О журнале
Журнал «БИТ»
Подписка
Где купить
Авторам
Рекламодателям
Магазин
Архив номеров
Вакансии
Контакты
   

Jobsora

ЭКСПЕРТНАЯ СЕССИЯ 2019


  Опросы

Какие курсы вы бы выбрали для себя?  

Очные
Онлайновые
Платные
Бесплатные
Я и так все знаю

 Читать далее...

1001 и 1 книга  
28.05.2019г.
Просмотров: 1826
Комментарии: 2
Анализ вредоносных программ

 Читать далее...

28.05.2019г.
Просмотров: 1887
Комментарии: 1
Микросервисы и контейнеры Docker

 Читать далее...

28.05.2019г.
Просмотров: 1446
Комментарии: 0
Django 2 в примерах

 Читать далее...

28.05.2019г.
Просмотров: 1066
Комментарии: 0
Введение в анализ алгоритмов

 Читать далее...

27.03.2019г.
Просмотров: 1636
Комментарии: 1
Arduino Uno и Raspberry Pi 3: от схемотехники к интернету вещей

 Читать далее...

Друзья сайта  

Форум системных администраторов  

sysadmins.ru

 «Кто стучится в дверь ко мне…». Обзор системы поддержки списков рассылок GNU MAILMAN

Архив номеров / 2004 / Выпуск №7 (20) / «Кто стучится в дверь ко мне…». Обзор системы поддержки списков рассылок GNU MAILMAN

Рубрика: Администрирование /  Электронная почта

АНДРЕЙ МАРКЕЛОВ

«Кто стучится в дверь ко мне…»
Обзор системы поддержки списков рассылок GNU Mailman

Нет, это, конечно, не милиция (надеюсь, вы не используете знания, полученные со страниц журнала, в целях, противоречащих вашему местному законодательству). Речь пойдет об открытом программном продукте, предназначенном для создания собственных списков рассылки – Mailman (в переводе с англ. – почтальон)

Сей продукт расположился в глобальной паутине по адресу http://www.list.org. Mailman распространяется в соответствии с General Public License. Используется в своих рассылках такими маститыми IT-компаниями, как Red Hat, Apple Computer, Dell Computers и большим числом GNU-проектов, включая The XFree86 Project, Samba, Exim, XEmacs. Со списком сайтов, где используется рассматриваемый продукт, можно ознакомиться по ссылке http://www.list.org/inthenews.html.

Программа обладает обширным списком возможностей. Вот некоторые из них:

  • Управление списками, подпиской и пользовательской конфигурацией через веб-интерфейс.
  • Модерирование рассылок, поддержка открытых и закрытых списков рассылки, фильтров.
  • Поддержка архивов списков рассылки.
  • Автоответчик.

Прежде чем приступить к установке, ознакомимся с требованиями к системе, на которую ставится Mailman:

  • Естественно, должен присутствовать почтовый сервис. Mailman работает с Sendmail, Postfix, Exim и qmail. На моей тестовой системе стоял Sendmail, поэтому на него и буду ориентироваться в описании.
  • Веб-сервер с поддержкой CGI/1.1 API.
  • GCC 2.8.1 или выше.
  • Интерпретатор Python, на котором, собственно, и написана система (с небольшими кусочками кода на C). Поддерживаются версии 2.1 и выше.

Я проверял установку системы на дистрибутиве White Box Enterprise Linux 3 (http://www.whiteboxlinux.org), который является версией Red Hat Enterprise Linux 3, заново собранной из свободно доступных исходников.

В моем случае интеграция «почтальона» производилась с веб-сервером Apache. Далее в статье будет дан необходимый минимум сведений, достаточный для установки Mailman и создания своего собственного списка рассылки.

Установка

Скачиваем с сайта проекта либо с одного из зеркал архив mailman.tar.gz. Последняя версия «почтальона» на момент написания статьи была 2.1.5. Конечно, можно было бы найти и поставить Mailman из rpm-файла. Так было бы проще, но, учитывая, что не все читатели используют системы на основе менеджера пакетов rpm, рассмотрим установку из исходных текстов. Разархивируем скачанный файл в каталог /tmp.

gunzip mailman.tar.gz

tar –xvf mailman.tar

Для дальнейших действий требуются полномочия супервизора. Создаем пользователя mailman, являющегося членом группы mailman.

В дистрибутивах, основывающихся на Red Hat Linux это делается одной командой:

useradd mailman

Теперь создаем директорию, в которую будет установлен Mailman и даем на нее права:

mkdir /usr/local/mailman

chgrp mailman /usr/local/mailman

chmod a+rx,g+ws /usr/local/mailman

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

cd /tmp/mailman-2.1.5/

./configure --with-cgi-gid=apache --with-mail-gid=mail

make install

Теперь проверим корректность разрешений на файлы при помощи специального скрипта, входящего в пакет:

cd /usr/local/mailman

./bin/check_perms

Скрипт должен выдать сообщение о том, что проблем с правами не обнаружено.

Далее, даем команду exit, и уже под пользователем root правим httpd.conf, добавив туда строчки:

ScriptAlias /mailman/ /usr/local/mailman/cgi-bin/

Alias /pipermail/ /usr/local/mailman/archives/public

<Directory “/usr/local/mailman/archives/public/”>

    AddDefaultCharset Off

</Directory>

 

Таким образом, мы предписываем Apache, что из указанного каталога разрешается выполнять CGI-скрипты, создаем алиас для /archives/public/ и выключаем для этого каталога кодировку «по умолчанию».

Потом копируем логотипы Mailman, Python, GNU Logo в доступное вашему веб-серверу место, и не забываем перезапустить сам веб-сервер:

cp /usr/local/mailman/icons/* /var/www/icons

service httpd restart

Создаем служебный «site-wide»-список под названием mailman:

./bin/newlist mailman

По запросу вводим mail ведущего список и пароль (на этот адрес будет выслано письмо с подтверждением и указанным паролем).

Теперь, согласно инструкциям, выданным после отработки команды, добавляем в /etc/aliases псевдонимы (в качестве примера был создан список под именем test):

test: "|/usr/local/mailman/mail/mailman post test"

test-admin: "|/usr/local/mailman/mail/mailman admin test"

test-bounces: "|/usr/local/mailman/mail/mailman bounces test"

test-confirm: "|/usr/local/mailman/mail/mailman confirm test"

test-join: "|/usr/local/mailman/mail/mailman join test"

test-leave: "|/usr/local/mailman/mail/mailman leave test"

test-owner: "|/usr/local/mailman/mail/mailman owner test"

test-request: "|/usr/local/mailman/mail/mailman request test"

test-subscribe: "|/usr/local/mailman/mail/mailman subscribe test"

test-unsubscribe: "|/usr/local/mailman/mail/mailman unsubscribe test"

Если ваш Sendmail идет с включенной по умолчанию опцией smrsh, ограничивающей исполнение скриптов через MTA (а в случае использования дистрибутивов, не базирующихся на Red Hat Linux, это именно так), то вам необходимо в каталоге /etc/smrsh/ создать симлинк на mailman:

cd /etc/smrsh/

ln –s /usr/local/mailman/mail/mailman mailman

Следующий шаг – создание списка периодически выполняемых задач при помощи crontab (например, оповещение администратора о запросах на включение пользователей в список рассылки):

cd /usr/local/mailman/cron

crontab –u mailman crontab.in

cd ..

Теперь запустим демона вручную, а на будущее добавим возможность автоматического старта после перезагрузки сервера. Команды для дистрибутивов, поддерживающих chkconfig, следующие:

./bin/mailmanctl start

cp scripts/mailman /etc/init.d/mailman

chkconfig –add mailman

Проверьте правильность выставленных значений переменных DEFAULT_EMAIL_HOST и DEFAULT_URL_HOST в файле ./Mailman/Defaults.py. Они должны содержать полное имя вашего почтового и веб-сервера.

Далее применяем шаблон сайта (его можно было предварительно отредактировать, но мы все оставим по умолчанию). Шаблон содержит практически все настройки системы, и хорошо задокументирован. При первой, тестовой установке я предлагаю его не изменять, так как с настройками можно «поиграться» и через веб-интерфейс. Так будет намного нагляднее.

./bin/config_list –I data/sitelist.cfg mailman

Теперь задаем пароль администратора сайта. Он понадобится для создания публичных списков рассылки.

./bin/mmsitepass

Если в процессе конфигурирования у вас что-то пойдет не очень гладко, рекомендую просмотреть FAQ по адресу: http://www.python.org/cgi-bin/faqw-mm.py?req=index. Также обратите внимание на логи «почтальона», ведущиеся в каталоге /usr/local/mailman/logs/, и возможные блокировки в /usr/local/mailman/loсks/.

Создаем список рассылки

Теперь у нас все готово для создания первого списка рассылки. Идем по ссылке: http://сервер.домен.ru/mailman/create, и заполняем поля: имя списка, пароль, почтовый ящик владельца, язык. В самом последнем поле вводим пароль администратора сайта, который мы задавали командой mmsitepass.

После успешного создания списка вам придет письмо с подтверждением, и будет доступна ссылка: http://сервер.домен.ru/mailman/admin/имя_списка, по которой можно вызвать интерфейс администратора. А по http://сервер.домен.ru/mailman/listinfo/имя_списка можно подписаться на список. Также по http://сервер.домен.ru /mailman/listinfo приведен общий перечень всех списков рассылки, существующих на сайте. Естественно, в нем пока присутствует только один элемент.

Рисунок 1

Протестировать новый список, предварительно подписавшись на него, можно, отправив письмо на адрес имя_списка@сервер.домен.ru.

Я не буду подробно описывать интерфейс администратора и настройки списков, поскольку все параметры снабжены вполне понятными описаниями на русском языке.


Комментарии отсутствуют

Добавить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

               Copyright © Системный администратор

Яндекс.Метрика
Tel.: (499) 277-12-41
Fax: (499) 277-12-45
E-mail: sa@samag.ru