Virtual mail
server + majordomo + mhonarc によるメーリングリストの構成
1.
name serverにvirtual hostを設定
(1) named.confにゾーンを追加
zone
"zenjiken.jp" {
type master;
file "zenjiken.zone";
};
(2)
順引きゾーン定義ファイルを作成
$TTL 3600
@ IN SOA
ns.mirai.com. postmaster.mirai.com.
(
2003032801
10800
3600
3600000
86400 )
IN MX 10 ns.psyche-niigata.jp.
IN NS ns.mirai.com.
IN NS ns.psyche-niigata.jp.
www.zenjiken.jp.
IN A 219.163.118.2
smtp IN CNAME www.zenjiken.jp.
pop IN CNAME
www.zenjiken.jp.
2.
virtual serverの構成
SMTP serverとしてsendmailを用います。
(1) /etc/mail/local-host-namesにvirtual hostを記述
(2) /etc/mail/virtusertable を編集
virtualname@virtualserver realname@realserver
……….
(3)
virtusertableからデータベースファイルを作成
makemap hash
/etc/mail/virtusertable.db < /etc/mail/virtusertable
3.
aliases.majordomoの編集
(1)
必要な行を追加
owner-zenjiken: motoi
owner-zenjiken-digest: owner-zenjiken
owner-zenjiken-outgoing: owner-zenjiken
owner-zenjiken-digest-outgoing: owner-zenjiken
zenjiken-approval: owner-zenjiken
zenjiken-digest-approval: owner-zenjiken
zenjiken: "|/usr/local/majordomo/wrapper
sequencer -l zenjiken -n -h ns.psyche-niigata.jp zenjiken-outgoing"
zenjiken-digest: zenjiken
zenjiken-outgoing: :include:/usr/local/majordomo/lists/zenjiken, "|/usr/local/majordomo/wrapper
archive -a -m -f
/usr/local/majordomo/lists/zenjiken.archive/zenjiken.archive","|/usr/local/majordomo/wrapper
digest -r -C –l zenjiken-digest zenjiken-digest-outgoing", zenjiken-mhonarc
zenjiken-digest-outgoing: :include:/usr/local/majordomo/lists/zenjiken-digest
zenjiken-request: "|/usr/local/majordomo/wrapper
majordomo -l zenjiken"
zenjiken-digest-request: "|/usr/local/majordomo/wrapper
majordomo -l zenjiken-digest"
zenjiken-mhonarc:
"|/usr/local/bin/nkf -ms|/usr/local/majordomo/wrapper mhonarc -add –quiet –outdir
/usr/local/www/data/zenjiken/zenjiken-ML -rcfile /usr/local/majordomo/.mhonarc"
owner-zenjiken-mhonarc: owner-zenjiken
(2)
newaliasesを発行
4.
メーリングリストに必要なファイルを/usr/local/majordomo/listsに作成
ファイル |
種類 |
パーミッション |
備考 |
ML |
File |
664 |
リストファイル |
ML-digest |
File |
664 |
|
ML-digest.archive |
Dir |
755 |
|
ML-digest.config |
File |
660 |
(注) |
ML.archive |
Dir |
755 |
|
ML.config |
File |
660 |
(注) |
ML.seq |
File |
644 |
“1”を書き込んでおく |
(注)テンプレートからリスト名などを変更して作成
5.
mhonarcがメールをアーカイブするディレクトリを作成
mkdir /usr/local/www/data/ML/ML
6.
mhonarcのrcfileを作成(例:/usr/local/majordomo/.mhonarc)
<!-- Japanese config -->
<NOMAILTO>
<!-- file name of main index page -->
<IDXFNAME>
index.html
</IDXFNAME>
<!-- ignore headers -->
<EXCS>
reply-to
in-reply-to
sender
subject
</EXCS>
<!-- title of main index page -->
<TITLE>
全児研メーリングリスト
(by Date)
</TITLE>
<!-- title of thread page -->
<TTITLE>
全児研メーリングリスト
(by Thread)
</TTITLE>
<!-- in late order -->
<REVERSE>
<!-- Date Index Page -->
<IdxPgBegin>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML//EN">
<HTML>
<HEAD>
<META
HTTP-EQUIV="Content-Type" CONTENT="text/html;
charset="sjis-jp">
<TITLE>$IDXTITLE$</TITLE>
</HEAD>
<BODY>
<HR NOSHADE>
<TABLE WIDTH="100%" CELLPADDING="0">
<TR ALIGN="CENTER">
<TD>[<A HREF="$PG(FIRST)$">First
Page</A>]</TD>
<TD>$PGLINK(PREV)$</TD>
<TD><STRONG>Page $PAGENUM$ of
$NUMOFPAGES$</STRONG></TD>
<TD>$PGLINK(NEXT)$</TD>
<TD>[<A HREF="$PG(LAST)$">Last
Page</A>]</TD>
</TR>
</TABLE>
<HR NOSHADE>
<H1>$IDXTITLE$</H1>
<UL>
全児研メーリングリスト
</UL>
</IdxPgBegin>
<!-- Index page -->
<LiTemplate>
<LI><STRONG>$SUBJECT$</STRONG>
<UL><LI><EM>Date</EM>:
$DATE$</LI></UL>
</LI>
</LiTemplate>
<!-- Index page config -->
<ListBegin>
<HR>
<UL>
</ListBegin>
<!-- Remove ":72" because default is "$SUBJECTNA:72$"
for Message Page -->
<MsgPgBegin>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML//EN">
<HTML>
<HEAD>
<TITLE>$SUBJECTNA$</TITLE>
<LINK REV="made"
HREF="mailto:$FROMADDR$">
<META
HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-2022-jp">
</HEAD>
<BODY>
</MsgPgBegin>
<!-- Message Page config -->
<TopLinks>
<HR NOSHADE>
$BUTTON(PREV)$
$BUTTON(NEXT)$
[<A HREF="$IDXFNAME$#$MSGNUM$">Date
Index</A>]
<HR NOSHADE>
</TopLinks>
<!-- Message Page config -->
<BotLinks>
<UL>
$PREVLINK$
$NEXTLINK$
<BR>
<BR>
<LI><A HREF="index.html">
<STRONG>Main Index</STRONG></A></LI>
</LI>
</UL>
</BotLinks>
<!-- NO display Follow and NO Reference -->
<NOFOLREFS>
<!-- Expire more than 1 month -->
<EXPIREAGE>
0
</EXPIREAGE>
<!-- Multi page Date index ON -->
<MULTIPG>
<!-- Num of page for MULTIPG -->
<IDXSIZE>
20
</IDXSIZE>
<TimeZones>
JST:-0900
</TimeZones>