 | Настройка списков рассылки
Что делает Majordomo?
Программа управления списками рассылки [менеджер списков рассылки] -- это, в основном, локальное расширение программы транспортировки почты (mail transport program -- MTA), например Sendmail. В основном, MTA работают в системах, предоставляющих менеджеру списков рассылки набор адресов, и менеджер изменяет, обрабатывает и, возможно, переотправляет получаемые им сообщения. Некоторые сообщения, получаемые менеджером списков рассылки предназначены для размещения в самом списке рассылки (возможно, ему потребуется проверить разрешение на запись в список(-ки)). Другими сообщениями являются управляющие сообщения, меняющие свойства списка рассылки, такие как настройки конкретного подписчика. Менеджер списков рассылки не выполняет доставку почты самостоятельно, а перекладывает эту функцию на поддерживающую его MTA.
Как указывалось во введении к данному учебнику, Majordomo в настоящий момент не является промышленным стандартом для списков рассылки. Более того, наилучшим выбором для вновь создаваемых списков рассылки вероятно является Mailman. Однако, Majordomo все еще достаточно функционален и установлен на множестве старых систем, которые продолжают работать без проблем (иногда они поддерживают списки, рабатающие уже много лет).
При выборе версии Majordomo нужно учесть одну тонкость. Несколько лет назад было начато переписывание приложения Majordomo 1.x, под названием Majordomo2. К сожалению, оно провалилось, даже не достигнув стадии релиза. Поскольку Majordomo2 (бета-версия) не рекомендуется к использованию на большом количестве систем, то Majordomo 1.9.5 -- это самый последний стабильный выпуск и потому именно он рассматривается в этом учебнике.
Установка Majordomo
Вы можете получить архив с программным обеспечением Majordomo на сайте Majordomo (смотри ссылку в Ресурсах).
После распаковки файла с именем вроде majordomo-1.94.5.tgz обязательно внимательно прочитайте файл INSTALL. Вы должны следовать всем инструкциям, описанным в нем, чтобы получить хорошо работающую систему Majordomo. Сборка системы обычно производится следующим образом make; make install -- шаги для большинства установок из исходных текстов, также как и make install-wrapper. Установка может и должна осуществить самопроверку при помощи команды вродеcd /usr/local/majordomo-1.94.5; ./wrapper config-test (make install выводит детали в виде сообщения).
Перед сборкой Majordomo измените Makefile, а также создайте и/или измените majordomo.cf. В качестве отправной точки для второго из указанных файлов вы можете скопировать из исходного дистрибутива файл sample.cf. В файле Makefile, прописано несколько переменных среды, но наиболее критична и важна из них, вероятно, W_GROUP. Это числовой gid группы к которой будет относиться Majordomo, почти всегда это группа "daemon". На большинстве систем gid для daemon равен 1, но все же следует проверить это, использовав следующее:
$ id daemon
uid=1(daemon) gid=1(daemon) groups=1(daemon)
Среди других переменных файла MakefilePERL содержащая путь к интерпретатору, и W_HOME содержащая путь установки Majordomo.
Ваш новый файл majordomo.cf также следует отредактировать перед тем как выполнить make install. Переменные Perl, которые необходимо будет изменить находятся в основном ниже заголовка файла. Обязательно измените $whereami и $homedir, а также проверьте другие, чтобы убедиться в верности их значений.
Говорим Sendmail использовать Majordomo
На последнем шаге установки нужно убедить Sendmail общаться с Majordomo. Внутри файла /etc/sendmail.cf имеются строки похожие на:
OA/path/to/majordomo/majordomo.aliases
Если для создания конфигурационных файлов Sendmail вы используете процессор M4, то можете использовать строки вроде этой:
define(`ALIAS_FILE',`/etc/aliases,/path/to/majordomo/majordomo.aliases')
Пример majordomo.aliases содержит несколько образцов переменных:
Листинг 1. Пример majordomo.aliases
majordomo: "|/usr/test/majordomo-1.94.5/wrapper majordomo"
majordomo-owner: you
owner-majordomo: you
test: "|/usr/test/majordomo-1.94.5/wrapper resend -l test test-list"
test-list: :include:/usr/test/majordomo-1.94.5/lists/test
owner-test: you
test-owner: you
test-request: you
|
Это, конечно же, необходимо отредактировать в соответствии с вашими настройками. В частности "you" означает имя администратора списков (который не обязательно является администратором всей системы).
Создание нового списка Majordomo
В примере настройки, приведенном выше создается список с именем "test" для адресатов "test-owner", "test-request" и так далее, управляющих списком. При реальном использовании, вы, возможно, захотите иметь списки с другими именами. Для того, чтобы сделать это, выполните следующее:
- Переместитесь в каталог $listdir, как определено в majordomo.cf.
- Создайте файлы my-list-name и my-list-name.info (отредактируйте соответственно); выполните для них
chmod, установив права доступа равными 664. Последний файл содержит начало списка.
- Создайте несколько псевдонимов в вашем файле majordomo.aliases, следуя шаблону примера "test" -- например, "foo-owner", "foo", "foo-request" и тому подобное.
- Выполните запрос к
subscribe, unsubscribe, signoff, и так далее, для членов списка.
- Создайте архивный каталог в месте, указанном переменными
$filedir и $filedir_suffix.
- Создайте подкаталог дайджестов [digest subdirectory] внутри $digest_work_dir. Используйте то же имя для списка дайджестов [digest list] (например: test-digest).
- Убедитесь, что владельцем всего является пользователь majordomo, группа majordomo, и может изменяться владельцем и группой (другими словами, права доступа равны 664 для файлов и 775 для каталогов).
- Выполните команды
config <listname> <listname>admin для Majordomo. Это заставит его создать стандартные конфигурационные файлы для списка, и отправит их вам обратно.
 |
|  |