Mailman

Mailman は電子メール会議およびe-ニュースレターリストを管理するためのフリーソフトウェアです。Mailmanはwebに統合されており、ユーザがアカウントを管理しリストオーナーがリストを管理することを簡単にします。Mailman は内蔵の書庫、自動バウンス処理、コンテントのフィルタリング、ダイジェストの配送、スパムのフィルターなどをサポートします。

Mailman は狂っています。このページは思ったとおりにインストール、設定、実行するための選択肢を与えることに焦点を当てるために使われます。mailmanは狂っているので、これはNGINXの背後のMailmanソフトウェアをセットアップをする最も一般的で最も良くサポートする方法を示すでしょう。

レシピ

server {
    listen XXX.XXX.XXX.XXX:80;
    server_name lists.DOMAIN.TLD;
    root /usr/lib;

    location = / {
        rewrite ^ /mailman/listinfo permanent;
    }

    location / {
        rewrite ^ /mailman$uri?$args;
    }

    location = /mailman/ {
        rewrite ^ /mailman/listinfo permanent;
    }

    location /mailman/ {
        include proxy_params;
        proxy_pass http://127.0.0.1/;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }

    location /cgi-bin {
        rewrite ^/cgi-bin(.*)$ $1 permanent;
    }

    location /images/mailman {
        alias /var/lib/mailman/icons;
    }

    location /pipermail {
        alias /var/lib/mailman/archives/public;
        autoindex on;
    }
}

CGI

これを動作するには、CGI処理を利用可能にする必要があるでしょう。これをするためのガイドは少しだけですが、私は"できれば"その痛みを引き受けます。

ここでは、thttpdを使っています。設定ファイルを編集し、それをこれに正確に合致させます。

/etc/thttpd/thttpd.conf:

host=127.0.0.1
port=80
dir=/usr/lib/cgi-bin/mailman
nochroot
user=www-data
cgipat=/**
throttles=/etc/thttpd/throttle.conf
logfile=/var/log/thttpd.log

URLから /cgi-bin/ を除去

/usr/lib/mailman/Mailman/mm_cfg.py を編集し、以下のパラメータを変更します。

DEFAULT_URL_PATTERN = 'http://%s/mailman/'
PRIVATE_ARCHIVE_URL = '/mailman/private'

認証の修正

adminインタフェース内でクリックをするたびに認証をしなければならない問題に陥った場合は、URLを変更したのかも知れません。Apacheあるいはそれ以外の何かからNGINXに移設している場合に、これは起こるかも知れません。You can either try to match what you were using previously by manipulating the location blocks and thttpd config so the /mailman or the /cgi-bin/mailman will be passed to mailman. 他の選択肢は以下のコマンドを実行することです。

while read list stuff; do withlist -l -r fix_url "$list"; done < <(list_lists)

これはキャッシュをクリアし、再び正常にアクセスできるようにするでしょう。

inserted by FC2 system