Mailman
メール関連
Mailman とは
Mailman はいわゆる ML を構築するためのアプリケーションです。
会員、リストオーナーに対しての管理用インターフェースが Web ベースで提供されているので、管理が大変便利です。
その他様々な機能がありますが、多すぎて使いこなせていません(/o\)
インストール
バージョン 2.1.5 の例です。
Mailman は Python によって書かれていますので、Python がインストールされていない場合、または Python が古い場合には、Python をインストールします。
また、gettext のバージョンが古いとダメな場合があるので、その時には gettext もインストールします。
さて、準備ができたらまず、Mailman の実行ユーザを作成します。
※ディレクトリとかは好みで。
# useradd mailman -d /home/mailman # ln -s /home/mailman /usr/local/mailman # chmod a+rx,g+ws /home/mailman
以下、mailman
ユーザにて作業を行います。
Mailman は Mailman 本体と Mailman-2.1.5 ジャンボ修正パッチ、python email パッケージ用パッチ(2004/02/07) なるものからなっており、これらをまず 国際化 Mailman に関する日本語情報から取得します。
取得したらアーカイブを解凍して、ジャンボ修正パッチを適用します。
% gzip -dc mailman-2.1.5.tar.gz | tar xvf - % cd mailman-2.1.5 % patch -p0 < ../mailman-2.1.5+patch.20040516
次に configure を実行します。
--with-cgi-gid, --with-mail-gid は重要なので Web サーバ、メールサーバの設定を確認してから設定を行います。
% ./configure --with-cgi-gid=webgroup --with-mail-gid="nofiles"
configure が終了したら make してインストールします。
(何故か messages/fr で失敗するので messages/Makefile を編集して fr を除く)
% make % make install
Mailman ではパーミッション等の確認および設定を行うコマンドがありますので、以下のような感じで設定を行います。
% cd /usr/local/mailman % bin/check_perms % bin/check_perms -f
ここまでで Mailman のインストールは完了なのですが、Python の修正のため、python email パッケージ用パッチ(2004/02/07) を適用します。
このパッチはインストール後でないとダメらしいです。
% cd pythonlib % patch -p0 < ../src/email.patch.20040207
設定
基本的には、付属の INSTALL の通りということで(/o\)
qmail を使用すると mailman
リストに配送時に gid 関連でエラーが出ます。
このため、/etc/passwd の mailman
のホームディレクトリを /nonexistent 等、存在しないディレクトリに設定し、.qmail-mailman*
の設定を /var/qmail/alias で行う必要があります。
新規 ML 作成手順
まず、管理サイトの新規作成にアクセスします。
次に、下記の項目等を設定し、「リストを作成する」ボタンをクリックします。
・ リストの名前
・ リスト管理者アドレスの初期設定
・ 初期リストパスワード
・ 初期パスワードの確認
・ リスト作成者の認証パスワード
管理者宛に新規作成メールが届いていることを確認します。
sendmail を使っているのであれば、このメール中に書いてあるものをそのまま /etc/aliases に追加し、newaliases を実行すればOKです。
qmail を使用している場合は、それなりの変換が必要です。
例えば以下のような感じ。
echo "|/usr/local/mailman/mail/mailman post all" > .qmail-all echo "|/usr/local/mailman/mail/mailman admin all" > .qmail-all-admin echo "|/usr/local/mailman/mail/mailman bounces all" > .qmail-all-bounces echo "|/usr/local/mailman/mail/mailman confirm all" > .qmail-all-confirm echo "|/usr/local/mailman/mail/mailman join all" > .qmail-all-join echo "|/usr/local/mailman/mail/mailman leave all" > .qmail-all-leave echo "|/usr/local/mailman/mail/mailman owner all" > .qmail-all-owner echo "|/usr/local/mailman/mail/mailman request all" > .qmail-all-request echo "|/usr/local/mailman/mail/mailman subscribe all" > .qmail-all-subscribe echo "|/usr/local/mailman/mail/mailman unsubscribe all" > .qmail-all-unsubscribe
その他
リストの削除。
% rmlist list1
アーカイブも削除してよいのであれば -a を指定します。
alias は自動的に削除されないので、手動で削除します。