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

最終更新日: 2017.05.24

<<トップページ <<新着情報 <<逆引き集 <<リンク集 <<サイト内検索 <<メルマガ <<Scientific Linuxで自宅サーバー構築 <<Fedoraで自宅サーバー構築

■概要

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

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


■Mailmanインストール

yumでインストールされるMailmanはバージョンが古いので、ソースからインストールする。
[root@centos ~]# yum -y install python-devel ← Mailmanインストールに必要なpython-develをインストール

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

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

[root@centos ~]# usermod -d /usr/local/mailman mailman ← mailmanユーザーホームディレクトリ変更

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

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

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

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

[root@centos tmp]# wget http://ftp.gnu.org/gnu/mailman//mailman-2.1.13.tgz ← mailmanダウンロード

※最新版のURLはダウンロードページで確認すること

[root@centos tmp]# tar zxvf mailman-2.1.13.tgz ← mailman展開

[root@centos tmp]# chown -R mailman. mailman-* ← mailman展開先ディレクトリ所有者変更

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

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

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

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

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

[root@centos 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@centos 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@centos mailman]# cd ← ホームディレクトリへ移動

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

[root@centos ~]# rm -f /tmp/mailman-2.1.13.tgz ← ダウンロードしたmailmanを削除

■Mailman設定

(1)Mailman設定
[root@centos ~]# vi /usr/local/mailman/Mailman/mm_cfg.py ← mailman設定ファイル編集
##################################################
# Put YOUR site-specific settings below this line.
以下を追加
DEFAULT_URL_HOST = 'centossrv.jp' ← Webサーバー名を指定
DEFAULT_EMAIL_HOST = 'centossrv.jp' ← メールサーバー名を指定
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@centos ~]# /usr/local/mailman/bin/mmsitepass パスワード ← メーリングリストサーバー管理パスワード設定
パスワードを変更しました.

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

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

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

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

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

[root@centos ~]# 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@centos ~]# /etc/rc.d/init.d/postfix restart ← Postfix再起動
Shutting down postfix:                                     [  OK  ]
Starting postfix:                                          [  OK  ]

(3)Webサーバー設定
[root@centos ~]# vi /etc/httpd/conf.d/mailman.conf ← mailman用webサーバー設定ファイル新規作成
【CentOS7の場合】
ScriptAlias /mailman/       /usr/local/mailman/cgi-bin/
<Directory /usr/local/mailman/cgi-bin/>
    SSLRequireSSL
    AllowOverride None
    Options ExecCGI
    Require all granted
</Directory>
Alias   /pipermail/     /usr/local/mailman/archives/public/
<Directory /usr/local/mailman/archives/public/>
    Options Indexes MultiViews FollowSymLinks
    AllowOverride None
    Require all granted
</Directory>

【CentOS6の場合】
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@centos ~]# cp /usr/local/mailman/icons/* /var/www/icons/ ← mailman用ロゴファイルを所定ディレクトリへコピー

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

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

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

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

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

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

■Mailman起動

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

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

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

[root@centos ~]# chkconfig mailman on ← mailman自動起動設定

■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-2017 fallenangels, All rights reserved.
ご自由にリンクしてください(連絡は不要です)
本ページへのご意見・ご要望、誤字・脱字・リンク切れ等のご連絡はこちらからお願いします