mailmanの導入(CentOS5)

python-develのインストール

mailmanのインストールに必要な為、python-develをインストールする。

yum -y install python-devel

mailmanグループ・ユーザの追加

# groupadd mailman
# useradd -c "GNU Mailman" -s /sbin/nologin -M -g mailman mailman

ホーディレクトリを変更する

# usermod -d /usr/local/mailman mailman

インストールディレクトリの作成

# mkdir /usr/local/mailman

パーミッション変更

# chown mailman. /usr/local/mailman
# chmod a+rx,g+ws /usr/local/mailman

mailmanのインストール

# cd /usr/local/src

ダウンロード

# wget http://mm.tkikuchi.net/mailman-2.1.13.tgz

展開、インストール。

# tar zxvf mailman-2.1.13.tgz
# chown -R mailman. mailman-2.1.13.tgz
# cd mailman-2.1.13.tgz
# su mailman -s "/bin/bash" -c "./configure --with-cgi-gid=apache"
# su mailman -s "/bin/bash" -c "make" && make install
# cd /usr/local/mailman/

ここで、システムの文字コードがUTF-8の場合は、 ターミナルの文字コードをeuc-jpにする。
パーミッション補正スクリプトを実行

# ./bin/check_perms -f

/usr/local/mailman/messages/zh_TW: ディレクトリのパーミッションは 02775 でなければいけません (修正中)
Warning: Private archive directory is other-executable (o+x).
         This could allow other users on your system to read private archives.
         If you're on a shared multiuser system, you should consult the
         installation manual on how to fix this.
問題があります: 59
修正するには -f オプションをつけて mailman か root の権限で実行してください


パーミッションの補正確認

# ./bin/check_perms ← パーミッションの補正確認
Warning: Private archive directory is other-executable (o+x).
         This could allow other users on your system to read private archives.
         If you're on a shared multiuser system, you should consult the
         installation manual on how to fix this.
問題ありません


ここで、システムの文字コードがUTF-8の場合は、 ターミナルのエンコーディングをUTF-8に戻す。

Mailmanの設定

エディタで/usr/local/mailman/Mailman/mm_cfg.py を開き、以下を追加。 (「mydomain.jp」はお使いのドメインに置き換えてください)

DEFAULT_URL_HOST = 'www.mydomain.jp'
DEFAULT_EMAIL_HOST = 'mydomain.jp'
add_virtualhost(DEFAULT_URL_HOST, DEFAULT_EMAIL_HOST)
DEFAULT_SERVER_LANGUAGE = 'ja'
DEFAULT_URL_PATTERN = 'https://%s/mailman/'
DEFAULT_LIST_ADVERTISED = Yes
OWNERS_CAN_DELETE_THEIR_OWN_LISTS = Yes
DEFAULT_SUBJECT_PREFIX = "[%(real_name)s:%%d] "
DEFAULT_REPLY_GOES_TO_LIST = 1 ← 返信先をリストにする
DEFAULT_GENERIC_NONMEMBER_ACTION = 2 ← 非会員からのメールに拒否応答する


ここで、システムの文字コードがUTF-8の場合は、 ターミナルの文字コードをeuc-jpにする。

# /usr/local/mailman/bin/mmsitepass

ここで、システムの文字コードがUTF-8の場合は、 ターミナルのエンコーディングをUTF-8に戻す。

# crontab -u mailman /usr/local/mailman/cron/crontab.in

WEBサーバーの設定

BASIC認証のユーザ・パスワードを設定する。

# htpasswd -c /etc/httpd/conf.d/mailman-pass


エディタで/etc/httpd/conf.d/mailman.conf を開きます。(無ければ新規作成) 以下を追加する。

ScriptAlias /mailman/ /usr/local/mailman/cgi-bin/
<Directory /usr/local/mailman/cgi-bin/>
    SSLRequireSSL
    AllowOverride None
    Options ExecCGI
    Order allow,deny
    Allow from all

    AuthType Basic
    AuthUserFile /etc/httpd/conf.d/mailman-pass
    AuthName "Enter password"
    Require valid-user
</Directory>

Alias /pipermail/ /var/local/mailman/archives/public/
<Directory /var/local/mailman/archives/public>
    Options Indexes MultiViews FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>


apacheをリロードする。

# /etc/rc.d/init.d/httpd reload

qmailとの連携

/etc/aliasesの設定を反映するfastforwardをインストールする。

# cd /usr/local/src
# wget http://cr.yp.to/software/fastforward-0.51.tar.gz
# tar zxvf fastforward-0.51.tar.gz

エラーを回避するため、error.hを下記のように編集する。

extern int errno;
    ↓
#include<error.h>

インストール

# make setup check

現在のnewaliasesを無効化

# chmod 0 /usr/bin/newaliases
# mv /usr/bin/newaliases /usr/bin/newaliases.bak

newaliasesコメンドをfastforwardに置き換える。

# ln -s /var/qmail/bin/newaliases /usr/bin/newaliases

/etc/aliasesのcdb形式データベースを作成する。

# newaliases

作成確認

# ll /etc/aliases.cdb

/etc/aliases.cdbをqmailが参照するように.qmail-defaultを設定する。

# echo "|/var/qmail/bin/fastforward -p -d /etc/aliases.cdb" > /var/qmail/alias/.qmail-default

管理用メーリングリストの作成

システムの文字がUTF-8の場合、ターミナルの文字コードをeuc-jpにする。

管理用メーリングリストを作成

管理用メーリングリスト「mailman」を作成する

# /usr/lib/mailman/bin/newlist mailman
Enter the email of the person running the list: user@domain.jp
Initial mailman password:
To finish creating your mailing list, you must edit your /etc/aliases (or
equivalent) file by adding the following lines, and possibly running the
`newaliases' program:

## mailman mailing list
mailman:              "|/usr/lib/mailman/mail/mailman post mailman"
mailman-admin:        "|/usr/lib/mailman/mail/mailman admin mailman"
mailman-bounces:      "|/usr/lib/mailman/mail/mailman bounces mailman"
mailman-confirm:      "|/usr/lib/mailman/mail/mailman confirm mailman"
mailman-join:         "|/usr/lib/mailman/mail/mailman join mailman"
mailman-leave:        "|/usr/lib/mailman/mail/mailman leave mailman"
mailman-owner:        "|/usr/lib/mailman/mail/mailman owner mailman"
mailman-request:      "|/usr/lib/mailman/mail/mailman request mailman"
mailman-subscribe:    "|/usr/lib/mailman/mail/mailman subscribe mailman"
mailman-unsubscribe:  "|/usr/lib/mailman/mail/mailman unsubscribe mailman"

Hit enter to notify mailman owner...


上記の指示通り、/etc/aliasesファイルに mailmanの設定を追加する。
追加後、newaliasesを実行してcdb形式データベースを作成する。

# newaliases

Mailmanの起動と、自動起動の設定

起動スクリプトのコピー

# cp /usr/local/mailman/scripts/mailman /etc/rc.d/init.d/

起動

# /etc/rc.d/init.d/mailman start

自動起動の設定

# chkconfig --add mailman
# chkconfig mailman on



トップ   編集 凍結解除 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2010-08-28 (土) 00:00:00 (3336d)