Хто стукає у двері до мене ... »
«Хто стукає у двері до мене ...»
Огляд системи управління списками розсилок 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
Тепер задаємо пароль адміністратора сайту. Він знадобиться для створення публічних списків розсилки.
Створюємо список розсилки
Я не буду детально описувати інтерфейс адміністратора і настройки списків, оскільки всі параметри забезпечені цілком зрозумілими описами російською мовою.