Хто стукає у двері до мене ... »

«Хто стукає у двері до мене ...»
Огляд системи управління списками розсилок GNU Mailman

Програма володіє великим списком можливостей. Ось деякі з них:

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

Перш ніж приступити до установки, ознайомимося з вимогами до системи, на яку ставиться Mailman:

  • Природно, повинен бути присутнім поштовий сервіс. Mailman працює з Sendmail, Postfix, Exim і qmail. На моїй тестовій системі стояв Sendmail, тому на нього і буду орієнтуватися в описі.
  • Веб-сервер з підтримкою CGI / 1.1 API.
  • GCC 2.8.1 або вище.
  • Інтерпретатор Python, на якому, власне, і написана система (з невеликими шматочками коду на C). Підтримуються версії 2.1 і вище.

tar -xvf mailman.tar

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

У дистрибутивах, що грунтуються на Red Hat Linux це робиться однією командою:

Тепер створюємо директорію, в яку буде встановлений Mailman і даємо на неї права:

chgrp mailman / usr / local / mailman

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

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

/ Configure --with-cgi-gid = apache --with-mail-gid = mail

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

Скрипт повинен видати повідомлення про те, що проблем з правами не виявлено.

Далі, даємо команду exit, і вже під користувачем root правимо httpd.conf, додавши туди рядки:

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

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

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

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

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

service httpd restart

Створюємо службовий «site-wide» -список під назвою mailman:

Тепер, згідно з інструкціями, виданими після відпрацювання команди, додаємо в / 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:

ln -s / usr / local / mailman / mail / mailman mailman

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

crontab -u mailman crontab.in

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

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

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

Створюємо список розсилки

Я не буду детально описувати інтерфейс адміністратора і настройки списків, оскільки всі параметри забезпечені цілком зрозумілими описами російською мовою.