Mailman

Mailman - это программа с открытыми кодами для управления дискуссиями, ведущимися через электронную почту, и рассылками электронных новостных сообщений. Многие открытые списки рассылок (включая все на Ubuntu mailing lists) используют Mailman, в качестве программы управления почтовыми списками. Это мощное приложение, при этом его легко установить и поддерживать.

Установка

Mailman предоставляет веб-интерфейс для администраторов и пользователей. То есть, ему необходим сервер Апач (apache) с поддержкой mod_perl. Mailman использует внешний почтовый сервер для отправки и получения электронной почты. Он отлично взаимодействует со следующими почтовыми серверами:

  • Postfix

  • Exim

  • Sendmail

  • Qmail

Мы рассмотрим как установить mailman, веб-сервер apache и почтовый сервер Exim. Если вы хотите установить mailman для другого почтового сервера, пожалуйста, обратитесь к разделу ссылки.

Apache2

Чтобы установить apache2 см. Установка HTTPD.

Exim4

Для установки Exim4, выполните следующие команды в окне терминала:

sudo apt-get install exim4
sudo apt-get install exim4-base
sudo apt-get install exim4-config

После установки exim4, его конфигурационные файлы будут помещены в католог /etc/exim4. По умолчанию, в Ubuntu файлы конфигурации exim4 разделены на несколько различных файлов, но вы можете управлять этим, изменяя значение следующей переменной в файле /etc/exim4/update-exim4.conf:

  • dc_use_split_config='true'

Mailman

Для инсталляции Mailman выполните следующую команду в строке терминала:

sudo apt-get install mailman 

Она копирует файлы, необходимые для установки, в каталог /var/lib/mailman. Плюс, устанавливает скрипты CGI в каталог /usr/lib/cgi-bin/mailman. А также создает линукс пользователя list и линукс группу list. Этот пользователь будет владельцем процесса mailman.

Конфигурация

Данный раздел подразумевает, что у вас уже установлены: mailman, apache2 и exim4. Теперь вам нужно только настроить их.

Apache2

После установки apache2, добавьте следующие строки в файл /etc/apache2/apache2.conf:

Alias /images/mailman/ "/usr/share/images/mailman/"
Alias /pipermail/ "/var/lib/mailman/archives/public/"

Mailman использует apache2 для исполнения своих CGI-скриптов. CGI скрипты mailman-а установлены в каталоге /usr/lib/cgi-bin/mailman. То есть его url-адрес будет http://hostname/cgi-bin/mailman/. Чтобы изменить это, вы можете отредактировать файл /etc/apache2/apache2.conf.

Exim4

После установки Exim4, сервер Exim может быть запущен из командной строки терминала при помощи:

sudo /etc/init.d/exim4 start

Для того, чтобы mailman работал с exim4, вам необходимо настроить exim4. Как замечено ранее, по умолчанию exim4 использует множество конфигурационных файлов различных типов. Для получения более подробной информации, обратитесь к веб-странице Exim. Для запуска mailman, нам нужно добавить новый файл настроек к следующим типам конфигураций:

  • Основное

  • Передача почты

  • Маршрутизатор

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

Основное

Все настроечные файлы основного типа хранятся в каталоге /etc/exim4/conf.d/main/. Создайте новый файл 04_exim4-config_mailman и добавьте в него следующее:

# start
# Home dir for your Mailman installation -- aka Mailman's prefix
# directory.
# On Ubuntu this should be "/var/lib/mailman"
# This is normally the same as ~mailman
MM_HOME=/var/lib/mailman
#
# User and group for Mailman, should match your --with-mail-gid
# switch to Mailman's configure script. Value is normally "mailman"
MM_UID=list
MM_GID=list
#
# Domains that your lists are in - colon separated list
# you may wish to add these into local_domains as well
domainlist mm_domains=hostname.com
#
# -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
#
# These values are derived from the ones above and should not need
# editing unless you have munged your mailman installation
#
# The path of the Mailman mail wrapper script
MM_WRAP=MM_HOME/mail/mailman
#
# The path of the list config file (used as a required file when
# verifying list addresses)
MM_LISTCHK=MM_HOME/lists/${lc::$local_part}/config.pck
# end

Передача почты

Все настроечные файлы, принадлежащие к типу транспортировка, хранятся в каталоге /etc/exim4/conf.d/transport/. Создайте новый файл 40_exim4-config_mailman и добавьте в него следующее:

  mailman_transport:
   driver = pipe
   command = MM_WRAP \
               '${if def:local_part_suffix \
                     {${sg{$local_part_suffix}{-(\\w+)(\\+.*)?}{\$1}}} \
                     {post}}' \
               $local_part
    current_directory = MM_HOME
    home_directory = MM_HOME
    user = MM_UID
    group = MM_GID

Маршрутизатор

Все настроечные файлы, принадлежащие к типу роутер, хранятся в каталоге /etc/exim4/conf.d/router/. Создайте новый файл 101_exim4-config_mailman и добавьте в него следующее:

  mailman_router
   driver = accept
   require_files = MM_HOME/lists/$local_part/config.pck
   local_part_suffix_optional
   local_part_suffix = -bounces : -bounces+* : \
                       -confirm+* : -join : -leave : \
                       -owner : -request : -admin
   transport = mailman_transport
[Внимание]

Порядок основных и транспортных файлов настроек не важен. Однако, порядок файлов настроек роутера должен быть сохранен. Конкретно этот файл по порядку должен быть до файла 200_exim4-config_primary. Оба этих файла содержат одинаковый тип информации. Первый из них будет определен как предшественник. Для получкения более полной информации, обратитесь к секции ссылки.

Mailman

После установки mailman, для его запуска воспользуйтесь командой:

sudo /etc/init.d/mailman start

Теперь вам нужно создать основной список рассылки. Воспользуйтесь для этого следующей командой:

sudo /usr/sbin/newlist mailman
  Enter the email address of the person running the list: bhuvan at ubuntu.com
  Initial mailman password:
  To finish creating your mailing list, you must edit your /etc/aliases (or
  equivalent) file by adding the following lines, and possibly running the
  `newaliases' program:
  mailman: "|/var/lib/mailman/mail/mailman post mailman"
  mailman-admin: "|/var/lib/mailman/mail/mailman admin mailman"
  mailman-bounces: "|/var/lib/mailman/mail/mailman bounces mailman"
  mailman-confirm: "|/var/lib/mailman/mail/mailman confirm mailman"
  mailman-join: "|/var/lib/mailman/mail/mailman join mailman"
  mailman-leave: "|/var/lib/mailman/mail/mailman leave mailman"
  mailman-owner: "|/var/lib/mailman/mail/mailman owner mailman"
  mailman-request: "|/var/lib/mailman/mail/mailman request mailman"
  mailman-subscribe: "|/var/lib/mailman/mail/mailman subscribe mailman"
  mailman-unsubscribe: "|/var/lib/mailman/mail/mailman unsubscribe mailman"

  Hit enter to notify mailman owner...

  # 

Мы настроили exim на распознавание всех сообщений от mailman. Таким образом, не обязательно создавать новые записи в файле /etc/aliases. Если вы внесли какие-либо изменения в конфигурационные файлы, пожалуйста, удостоверьтесь, что вы перезапустили соответствующие службы до того, как перейдете к следующему разделу.

Администрирование

Мы предполагаем, что у вас установка по умлочанию. Файлы cgi сценариев mailman'а расположены в каталоге /usr/lib/cgi-bin/mailman/. Mailman предоставляет возможность администрирования с помощью веб интерфейса. Для доступа к этой странице, откройте в своем браузере следующий адрес:

http://hostname/cgi-bin/mailman/admin

Н аэтом экране появится список расслке по умолчанию, mailman. Если вы щелкните мышкой на имени списка рассылки, у вас будет запрошен пароль. Если вы введете правильный пароль, у вас появится доступ к изменению административных настроек списка рассылки. Вы можете создать новый список рассылки с помощью утилиты командной строки (/usr/sbin/newlist). Также вы можете создать новый список рассылки с помощью веб интерфейса.

Пользователи

Mailman предоставляет пользователю веб-интерфейс. Для доступа к этой странице, перейдите в браузере на следующий url:

http://hostname/cgi-bin/mailman/listinfo

На этом экране появится созданный при установке список рассылки "mailman". Если щёлкнуть на на названии списка рассылки, появится форма регистрации. Для подписки на этот список можно ввести Ваш почтовый адрес, имя (не обязательно) и пароль. После этого Вам будет отправленно электронной почтой приглашение. Чтобы подписаться на список рассылки, следуйте инструкциям, содержащимся в этом приглашении.

Ссылки

GNU Mailman - руководство по установке

HOWTO - Совместное использование Exim 4 и Mailman 2.1