Mailman - The GNU Mailing List Management System Copyright (C) 1998,1999,2000 Free Software Foundation, Inc. 59 Temple Place - Suite 330, Boston, MA 02111-1307, USAこれは Mailman 2.0beta5 の INSTALL を菊地@高知大が和訳したものです. 誤訳があるかもしれないので,必ず原本(英文)を参照してください.
このファイルには Mailman のインストール方法が載っています. Mailman は標準の GNU autoconf ソフトウェアを使って設定されます. まず最初に,以下のセクションで概説されているようにシステムを セットアップしてください.その後,Mailmanソフトウェアを設定し インストールしてください.
http://www.python.org/を訪ねてください.
セキュリティ向上のために用いられている wrapper プログラムを構築する ためには ANSI C コンパイラーが必要です. GNUのCコンパイラ gcc 2.8.1 以降のバージョンでうまくいきます.Gcc を取って来るには,
http://www.gnu.org/を訪ねてください.
Mailman ソフトウェアのインストールの前に,特定のユーザとグループを 追加登録することでシステムの準備をする必要があります.
% cd $prefix
% chgrp mailman .
% chmod a+rx,g+ws .
のようにします.(訳注:root 権限が必要かもしれません)
このセクションのステップを実行するには root になる必要はありません. 自分自身の login でやるか,普段ソフトウェアのインストールに使っている アカウントでやってください.
けれども,目的のインストールディレクトリに書きこみ許可があることを 確認しておいてください.また,そのファイルシステムに setgid ファイルを 作る許可も必要です.(NFS やその他の ファイル・マウントでは setgid の設定を禁止することができます)
% cd mailman-<version>
% ./configure
そして,'make install' を走らせます.以下の configure のオプションが Mailman の
カスタマイズに使うことができます.
これは高度にシステム依存であり,正しい値を知っておく必要があります. というのは,グループIDがmail wrapper プログラムにコンパイルされて セキュリティを高めるからです.Sendmail を使っているシステムでは, sendmail.cf に "DefaultUser" を使って sendmail プロセスの gid が 設定されています.(もし,コメントアウトされていたら,それでも デフォルトを示しているかもしれません)
(訳注:私はこれを知るために,/etc/aliases に abc: "|touch /tmp/abc" というのを入れてみました.mail abc でメールを送ってみると, /tmp/abc ができています.ls -l で見たら,結果は other でした. 結局,デフォルトでよかったんだ.)
この値は Web サーバの設定に依存します.正しい値を知っておく必要があります. というのは,グループIDがCGI wrapper プログラムにコンパイルされて セキュリティを高めるからです.これが違っていると Mailman CGI スクリプトは 動きません.
もし Apache を使っていれば,httpd.conf に書かれている `Group' オプション の値をチェックしてください.
設定ファイル (httpd.conf) に書き加える行は以下のようなものになるはずです. (もちろん,$prefix のところは実際の絶対パスディレクトリにしてください)
Exec /mailman/* $prefix/cgi-bin/*
又は,
ScriptAlias /mailman/ $prefix/cgi-bin/
詳しくは,自分が使っている Webサーバの説明書を読んでください.
$prefix/Mailman/mm_cfg.py にロゴのベースディレクトリを書いた行を 追加してください.例えば:
IMAGE_LOGOS = '/images/'
IMAGE_LOGOS のデフォルト値は '/icons/' です.Defaults.py.in に
書かれたコメントを呼んでください.
例えば Apache の場合:
Alias /pipermail/ $prefix/archives/public/
詳しくは,ご利用の Web サーバの説明書を調べてください.
また,このディレクトリでシンボリックリンクをたどることが
できるように Web サーバを設定してください.でないと,Pipermail の
書庫にアクセスできません.Apache のユーザは FollowSymLinks オプションを
調べてください.
Webサーバを再起動してください.
% su - mailman
% cd $prefix/cron
% crontab crontab.in
(訳注:「とりあえずパスワード覚書の送信はしないしー」とか言ってここを
省略することはできません.実は,全ての受信メールの処理が
cron で起動されているのです.さらに SMTPでメールを送信する場合にはそれも
cron 起動です.)
もし,sendmail を使っていなければ,ご自分の使っているメール配送プログラムの 説明書を読んでこれに相当する別名設定をしてください.
- root になります.
- あなたのメールアドレスが fred@flintstone.com であったとすると, 以下の行を /etc/aliases に追加します.
mailman: fred@flintstone.com mailman-owner: mailman- Sendmailのバージョンによっては 'newaliases' コマンドを手動で実行 する必要があります.
mm_cfg.py の変数設定は $prefix/Mailman/Defaults.py にあるものを 上書きします.Mailman の制御に使われる変数のリストを知るには そのファイルを参照してください.自分のサイトのために変更したいと思う 項目があれば mm_cfg.py に追加してください (Defaults.py は編集しない こと).
インストールの過程では mm_cfg.py を上書きしないようになっています. ですから,このファイルに加えた変更は保存されます. また,インストールしたときに自動的に生成される mm_cfg.py は $prefix/Mailman/mm_cfg.py.dist にコピーされます.ですから, 何か新しい有益な変更点や示唆についてはここをチェックしてください.
注意:HOME_DIR や MAILMAN_DIR を変更してはいけません. configure スクリプトで自動的に設定されます.
% $prefix/bin/mmsitepass <your-site-password>
個人ユーザやメーリングリスト管理者のパスワードが
必要なところはどこでも,このパスワードを使うことができます.
つまり,必要なときにはいつでもサイト管理者の権限で調整ができるということです.
あなたのマシンでの syslog の所在はマシンによって変わります./var/log/maillog にあるかもしれません./var/log/sylog の可能性もあります.多くのマシンでは /var/log の代わりに /adm/log に syslog ファイルが住み着いています.
もし,エラーに遭遇したら,エラーレポートを mailman-users@python.org に 送ってください.その中には 問題を起こしたとき,あなたが何をやったか 説明を入れてください.また,syslog から関係する行をコピーしてください. また,あなたのオペレーティングシステムと Pythonのバージョンの情報も 入れてください. (訳注:もちろん英語です.)
| 問題: | Mailman の Webページが全て 404 File not found エラーになります. |
|---|---|
| 解決法: |
Web サーバの設定で Mailman の CGI コマンドを正しく扱える
ように設定できていません.以下を確認:
|
| 問題: | Mailman の Webページが全て "Internal Server Error" になります. |
| 解決法: |
間違った GID または UIDを使って CGIスクリプトを実行しようと
している可能性があります.syslog をチェックしてください.
例えば,以下のような行があったら,
Attempt to exec script with invalid gid 51, expected 99Mailman を再インストールしなければなりません. インストールのセクションで書かれたようにして $CGI_CGI を 51に指定してください. (訳注: ログは Web サーバの error_log に出ているかもしれません. 再インストールは ./configure --with-cgi-gid=51 ... と make install でできるはずです.他に問題が無ければですが.) |
| 問題: | メールをリストに送ったら,リストが見つからないというメールを 受け取りました. |
| 解決法: | 多分,システムの alias データベースに必要な alias を 追加していなかったのでしょう.alias は newlist コマンド を実行したときに出てきます.もし実際に追加していたら, newaliases を実行して alias データベースを更新していなかった のかもしれません.上のセクション5をもう一度読んでください. |
| 問題: | リストにメールを送ったら,"unknown mailer error" が 帰ってきました. |
| 解決法: |
メールシステムで間違った GID または UIDを使っている可能性が
あります.syslog をチェックしてください.次のような
行があったら,
Attempt to exec script with invalid gid 51, expected 99Mailman を再インストールしなければなりません. インストールのセクションで書かれたようにして $MAIL_CGI を 51に指定してください.Postfix については次の問題も 見てください,デフォルトではこのような問題が発生します. (訳注:エラーメールの中に書かれているかもしれません. ./configure --with-mail-gid=51 ... make install で 修正します) |
| 問題: | 私は Postfix を MTA に使っています.そして, mail wrapper プログラムは GIDが違っていると不平を log に残します. |
| 解決法: |
Postfix の main.cf 設定ファイル内に,
"alias_maps" という名前で,
Postfix 用に別の aliases ファイルを作ってください.
ファイルは mailman のホームディレクトリのどこか
あるいはどこでも mailman が書きこめるところに置いてください.
mailman ユーザになって Postfix の "postalias" コマンド
を alias file について実行します.
% postalias <the alias file>さらに,mailman で, % python -c'import os; print os.getgid()'を実行します.これで mailman プログラム が mail wrapper 実行の際に 使うべき グループ ID が出力されます. これを "thegid" としましょう.次のようにして mailman を再構築してください. % ./configure --with-mail-gid=thegid |
| 問題: | リストにメールを送ると, "sh: wrapper not available for sendmail programs" というメールが帰ってきます. |
| 解決法: | あなたのシステムでは sendmail restricted shell が使われて います.メール wrapper ($prefix/mail/wrapper) から smrsh で実行が許可されているディレクトリへシンボリックリンクを 張る必要があります.一般的にこのディレクトリは /var/admin/sm.bin, /usr/admin/sm.bin 又は /etc/smrsh などに設定されています. Debian linux ではシステムは /usr/lib/sm.bin を作成 しますが,これは間違っています./usr/admin/sm.bin を 作ってそこへリンクを作成する必要があります. 注:newaliases が吐き出すどの alias も wrapper への 安全なリンクを指す必要があります. |
| 問題: | configure を呼び出すときに散らかしてしまいました. 掃除をして再インストールするにはどうしたらいいですか? |
| 解決法: |
% make clean % ./configure --with-the-right-options % make install |