|
14-9.Mailman |
2007年8月22日 |
メーリングリストはグループや会などの連絡用に大変便利です。 メーリングリストサーバーとしてMailmanを導入します。 |
quickmlというメーリングリストサーバーもありますが、手軽すぎるのも心配です。
...で以前と同じくMailmanを入れることにしました。
http://mm.tkikuchi.net/ を参考にMailmanインストールを開始します。
インストール前準備
http://mm.tkikuchi.net/mailman-install/index.html
を参考に、ほとんどそのとおり。
pythonが入っていなければインストールします。
今回はOSをフルインストールしたのでpython-2.4.4-0vl1が入っています。
mailmanのユーザとグループ、ついでにホームディレクトリを作成します。
前のサーバーに合わせてuid=112, gid=112、/home/mailmanとしました。
インストールディレクトリを作成します。
/usr/local/mailmanをつくり、グループIDをmailmanにしsetgidビットをセットしておきます。(インストールマニュアルに書いてあるとおり。)
#mkdir /usr/local/mailman
#cd /usr/local/mailman
#chgrp mailman .
#chmod a+rx,g+ws .
そして今回は現行サーバーのMailman Mailing listのデータを引き継がなくてはならないので、現行サーバーの/usr/local/mailmanの中身をそっくり新しく作った/usr/local/mailmanにバックアップコピーしておきます。
インストール
最新版は2.1.9とのことですが、日本語版ではないらしいのでやめておきます。
ダウンロードしたファイルを/home/mailmanに置いてユーザmailmanで展開。
$tar zxvf mailman.tar.gz
mailman-2.1.7というフォルダができます。
$cd mailman-2.1.7
例によって真っ先にREADMEを読みます。...英語でよくわからなかった。
configureします。
$./configure --with-cgi-gid=apache --with-mail-gid=mailman
すぐに終ってpython-develがないよとエラー表示が出ます。...入れてなかった!
python-develをインストールします。
再度configureすると今度はcheckingやcreatingメッセージと最後にconfiguration completed at Mon Aug ... 2007と出て完了。
makeします。
$make
待つこと2、3分、make完了。
インストールします。rootになる必要はありません。
$make install
/usr/local/mailmanを覗いてみるといっぱいフォルダができていました。
インストールのチェックをします。
$cd /usr/local/mailman
$bin/check_perms
....: ディレクトリのパーミッションは02775でなければいけません
というメッセージがいっぱい出ます。
(自分でディレクトリを作ったくせに何だ??)
修正!
$bin/check_perms -f
修正してるようです。
再度 $bin/check_perms をやると今度はWarningがひとつだけ。
Private archive directory is other-executable (o+x). ...
/usr/local/mailman/archives/privateのパーミッションをo-xに修正。
$chmod o-x archives/private
再度 $bin/check_perms で今度は問題ありませんとだけ出て完璧。
以上でインストールは終わり。
Apacheの設定
/usr/local/mailman/iconsの中のファイルをapacheのhttpd.confに定義されたAlias /icons/ のフォルダ(/var/www/icons かな?)にコピーします。
以下をhttpd.confに追加します。
#mailmanのための設定
ScriptAlias /mailman/ "/usr/local/mailman/cgi-bin/"
<Directory /usr/local/mailman/cgi-bin/>
AllowOverride None
# cgiを許す
Options +ExecCGI
Order allow,deny
Allow from all
</Directory>
Alias /pipermail/ "/usr/local/mailman/archives/public/"
<Directory /usr/local/mailman/archives/public/>
AllowOverride None
Options FollowSymLinks Indexes
Order allow,deny
Allow from all
</Directory>
postfixの設定
#mailmanのaliasesデータベースをalias_mapsに追加
alias_maps = hash:/etc/postfix/aliases, hash:/user/local/mailman/data/aliases
#バーチャルドメイン配送、転送の指定
virtual_alias_maps = mysql:/etc/postfix/mysql/mysql_virtual_alias_maps.cf,
hash:/usr/local/mailman/data/virtual-mailman
#luser_relay = ... (無効化)
#mailmanを使うのに必要な設定を最後に追加
owner_request_special = no
以下はこのように設定してあるはずだがいちおう確認
recipient_delimiter = +
unknown_local_recipient_reject_code = 550
mydestination = $myhostname, localhost.$mydomain
myorigin = $myhostname
append_dot_mydomain = no
Mailmanの設定
http://hatuka.nezumi.nu/repos/mailman-Defaults.py.in-ja/MAIN/Defaults.py.in?view=markup&pathrev=18
がたいへん参考になります。
まずMailmanの設定ファイル /usr/local/mailman/Mailman/mm_cfg.py を編集します。
1行目と2行目を以下のようにしておきます。
# -*- python -*-
# -*- coding:euc-jp -*-
これによりコメントに日本語が使えます。
#サーバー環境設定
DEFAULT_SERVER_LANGUAGE = 'ja'
MTA = 'Postfix'
#メーリングリストに使うドメイン
POSTFIX_STYLE_VIRTUAL_DOMAINS = {'iroribata.net', '....'}
#ホスト名の設定
DEFAULT_URL_HOST = 'iroribata.net'
DEFAULT_EMAIL_HOST = 'mail.iroribata.net'
add_virtualhost(DEFAULT_URL_HOST, DEFAULT_EMAIL_HOST)
その他、/usr/local/mailman/Mailman/Defaults.pyの中から、好みに応じて変更する部分をこの mm_cfg.pyに書き加えます。
#メーリングリスト一覧を非公開にする
DEFAULT_LIST_ADVERTISED = No
など
起動設定
#cp scripts/mailman /etc/init.d/mailman
#chkconfig --add mailman
cron設定
$su -
#cd /usr/local/mailman/cron
#crontab -u mailman crontab.in
crontabファイルが /var/spool/cronに作成されます。
サイトパスワード登録
#cd /usr/local/mailman
#bin/mmsitepass (パスワード)
でサイト管理者のパスワードを登録。