メーリングリストサーバー構築(Postfix+Mailman編)

最終更新日: 2007.12.15

<<トップページ <<新着情報 <<質問掲示板 <<アンケート <<サイト内検索 <<ダウンロード <<管理人へメール <<Fedoraで自宅サーバー構築

■概要

FedoraApacheでも利用されているメーリングリストサーバーであるMailmanを使用してメーリングリストサーバーを構築する。

メールサーバーWebサーバーWebサーバー間通信内容暗号化が構築済であること

vpopmailを導入している場合はvpopmail用メールアカウント&メーリングリスト管理システム導入(Postfix+qmailadmin)を参照


■Mailmanインストール

[root@linux ~]# groupadd mailman ← mailmanグループ追加

[root@linux ~]# useradd -c "GNU Mailman" -s /sbin/nologin -M -g mailman mailman ← mailmanユーザ追加

[root@linux ~]# mkdir /usr/local/mailman ← mailmanインストールディレクトリ作成

[root@linux ~]# chown mailman. /usr/local/mailman ← mailmanインストールディレクトリ所有者変更

[root@linux ~]# chmod a+rx,g+ws /usr/local/mailman ← mailmanインストールディレクトリパーミッション変更

[root@linux ~]# cd /tmp/ ← /tmpディレクトリへ移動

[root@linux tmp]# wget http://mm.tkikuchi.net/mailman.tar.gz ← mailmanダウンロード
--18:13:02--  http://mm.tkikuchi.net/mailman.tar.gz
           => `mailman.tar.gz'
mm.tkikuchi.net をDNSに問いあわせています... 133.97.166.52
mm.tkikuchi.net[133.97.166.52]:80 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 6,482,726 [application/x-tar]

100%[=================================================>] 6,482,726    599.94K/s    ETA 00:00

18:13:13 (591.55 KB/s) - `mailman.tar.gz' saved [6,482,726/6,482,726]

[root@linux tmp]# tar zxvf mailman.tar.gz ← mailman展開

[root@linux ~]# cd mailman-* ← mailman展開ディレクトリへ移動

[root@linux mailman-2.1.6]# su mailman -s "/bin/bash" -c "./configure --with-cgi-gid=apache" ← configure

[root@linux mailman-2.1.6]# su mailman -s "/bin/bash" -c "make" && make install ← インストール

[root@linux mailman-2.1.6]# cd /usr/local/mailman/ ← mailmanインストールディレクトリへ移動

※システムの文字コードがUTF-8の場合、Poderosaのエンコーディングをeuc-jpにする

[root@linux mailman]# ./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 の権限で実行してください

[root@linux mailman]# ./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の場合、PoderosaのエンコーディングをUTF-8に戻す

[root@linux mailman]# cd ← ホームディレクトリへ移動

[root@linux ~]# rm -rf /tmp/mailman-*/ ← mailman展開ディレクトリ削除

[root@linux ~]# rm -f /tmp/mailman.tar.gz ← ダウンロードした展開前mailman削除

■Mailman設定

(1)Mailman設定
[root@linux ~]# vi /usr/local/mailman/Mailman/mm_cfg.py ← mailman設定ファイル編集
##################################################
# Put YOUR site-specific settings below this line.
以下を追加
DEFAULT_URL_HOST = 'centossrv.com' ← Webサーバー名を指定
DEFAULT_EMAIL_HOST = 'centossrv.com' ← メールサーバー名を指定
add_virtualhost(DEFAULT_URL_HOST, DEFAULT_EMAIL_HOST) ← 追加
MTA = 'Postfix' ← メールサーバー指定
DEFAULT_SERVER_LANGUAGE = 'ja' ← 日本語化
DEFAULT_URL_PATTERN = 'https://%s/mailman/' ← Webインタフェースをhttps=SSLにする
DEFAULT_LIST_ADVERTISED = No ← メーリングリスト一覧を非公開にする
OWNERS_CAN_DELETE_THEIR_OWN_LISTS = Yes ← メーリングリストをWeb上から削除可能にする
DEFAULT_SUBJECT_PREFIX = "[%(real_name)s:%%d] " ← 件名に記事b付加する
DEFAULT_REPLY_GOES_TO_LIST = 1 ← 返信先を投稿者ではなくリストにする
DEFAULT_NEW_MEMBER_OPTIONS = 258 ← 投稿した本人にはメールを送らないようにする
DEFAULT_GENERIC_NONMEMBER_ACTION = 2 ← 非会員からのメールには拒否応答

※システムの文字コードがUTF-8の場合、Poderosaのエンコーディングをeuc-jpにする

[root@linux ~]# /usr/local/mailman/bin/mmsitepass パスワード ← メーリングリストサーバー管理パスワード設定
パスワードを変更しました.

※システムの文字コードがUTF-8の場合、PoderosaのエンコーディングをUTF-8に戻す

[root@linux ~]# crontab -u mailman /usr/local/mailman/cron/crontab.in ← mailmanCRON設定

(2)aliases設定
[root@linux ~]# /usr/local/mailman/bin/genaliases ← aliasesファイル作成

[root@linux ~]# chown mailman. /usr/local/mailman/data/aliases* ← aliasesファイル所有者変更

[root@linux ~]# chmod g+w /usr/local/mailman/data/aliases* ← aliasesファイルパーミッション変更

[root@linux ~]# vi /etc/postfix/main.cf ← postfix設定ファイル編集
# ALIAS DATABASE
#
# The alias_maps parameter specifies the list of alias databases used
# by the local delivery agent. The default list is system dependent.
#
# On systems with NIS, the default is to search the local alias
# database, then the NIS alias database. See aliases(5) for syntax
# details.
#
# If you change the alias database, run "postalias /etc/aliases" (or
# wherever your system stores the mail alias file), or simply run
# "newaliases" to build the necessary DBM or DB file.
#
# It will take a minute or so before changes become visible.  Use
# "postfix reload" to eliminate the delay.
#
#alias_maps = dbm:/etc/aliases
alias_maps = hash:/etc/aliases
↓
alias_maps = hash:/etc/aliases, hash:/usr/local/mailman/data/aliases ← mailmanのaliasesファイルを追加

[root@linux ~]# /etc/rc.d/init.d/postfix restart ← Postfix再起動
Shutting down postfix:                                     [  OK  ]
Starting postfix:                                          [  OK  ]

(3)Webサーバー設定
 [root@linux ~]# vi /etc/httpd/conf.d/mailman.conf ← mailman用webサーバー設定ファイル新規作成
ScriptAlias /mailman/       /usr/local/mailman/cgi-bin/
<Directory /usr/local/mailman/cgi-bin/>
    SSLRequireSSL
    AllowOverride None
    Options ExecCGI
    Order allow,deny
    Allow from all
</Directory>
Alias   /pipermail/     /usr/local/mailman/archives/public/
<Directory /usr/local/mailman/archives/public/>
    Options Indexes MultiViews FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>

[root@linux ~]# cp /usr/local/mailman/icons/* /var/www/icons/ ← mailman用ロゴファイルを所定ディレクトリへコピー

[root@linux ~]# /etc/rc.d/init.d/httpd reload ← webサーバー設定反映
httpd を再読み込み中:                                      [  OK  ]

■管理用メーリングリスト(mailman)作成

※システムの文字コードがUTF-8の場合、Poderosaのエンコーディングをeuc-jpにする

[root@linux ~]# /usr/local/mailman/bin/newlist mailman ← 管理用メーリングリスト(mailman)作成
リスト管理者のメールアドレスを入力してください: mailman-owner@centossrv.com ← mailmanメーリングリスト管理者メールアドレス応答
mailman の初期パスワード:  ← mailmanメーリングリスト管理パスワード応答(表示されない)
Enter を押して mailman の管理者にメール通知する... ← 空ENTER

[root@linux ~]# /usr/local/mailman/bin/config_list -i /usr/local/mailman/data/sitelist.cfg mailman ← mailmanメーリングリスト初期設定
標準でない値を修復: personalize

※システムの文字コードがUTF-8の場合、PoderosaのエンコーディングをUTF-8に戻す

■Mailman起動

[root@linux ~]# cp /usr/local/mailman/scripts/mailman /etc/rc.d/init.d/ ← mailman起動スクリプトを所定ディレクトリへコピー

[root@linux ~]# /etc/rc.d/init.d/mailman start ← mailman起動

[root@linux ~]# chkconfig --add mailman ← mailman自動起動設定

[root@linux ~]# chkconfig --list mailman ← mailman自動起動設定確認
mailman         0:off   1:off   2:on    3:on    4:on    5:on    6:off ← ランレベル2〜5のonを確認

■Mailman確認

※例としてtestというメーリングリストを作成する

(1)testメーリングリスト作成
https://サーバー名/mailman/createにアクセスする

「リストの名前」⇒test

「リスト管理者アドレスの初期設定」⇒リスト管理者メールアドレス

「初期パスワードを自動生成しますか?」⇒はい

「リスト作成者の認証パスワード」⇒メーリングリストサーバー管理パスワード

「リストを作成する」ボタン押下

※testメーリングリストの作成完了通知がリスト管理者メールアドレス宛に送信されてくる

(2)利用者向けtestメーリングリストの利用方法
https://サーバー名/mailman/listinfo/test参照

(3)管理者向けtestメーリングリストの利用方法
https://サーバー名/mailman/admin/test参照
※「リスト管理者パスワード」はリスト管理者メールアドレス宛に送られてきたメールに記載

(4)testメーリングリスト削除
https://サーバー名/mailman/rmlist/testにアクセスする

「リストのパスワード」⇒リスト管理者パスワード
※「リスト管理者パスワード」はリスト管理者メールアドレス宛に送られてきたメールに記載

「このリストを削除」ボタン押下




▲このページのトップへ戻る

LPIロゴ Copyright© 2005-2008 fallenangels, All rights reserved.
ご自由にリンクしてください(連絡は不要です)
本ページへのご意見・ご要望、誤字・脱字・リンク切れ等のご連絡はこちらからお願いします