qmail のディレクトリを作成.
# mkdir /var/qmail
qmail ユーザ,グループを追加.
http://www.jp.qmail.org/q103/jinstall/install.ids.html に加筆:
Linux(shadow), Solaris # groupadd -g gid nofiles # useradd -g nofiles -d /var/qmail/alias -u uid alias # useradd -g nofiles -d /var/qmail -u uid qmaild # useradd -g nofiles -d /var/qmail -u uid qmaill # useradd -g nofiles -d /var/qmail -u uid qmailp # groupadd -g gid qmail # useradd -g qmail -d /var/qmail -u uid qmailq # useradd -g qmail -d /var/qmail -u uid qmailr # useradd -g qmail -d /var/qmail -u uid qmails
Debian では,このうちいくつかのユーザ,グループはインストール時に作られる.具体的には,ユーザ alias とグループ nofiles 以外は,Debian インストール時に入るようだ.そこで,ユーザ alias とグループ nofiles を追加する.これらは,システムユーザ・グループなので,gid, uid は 100-999 を使う(詳細は Debian Policy Manual - The Operating System).特に 1000-29999 は gate-system が使用するので,使わない.また,alias, qmaild, qmaill, qmailp は,グループ nofiles に属すべきとあるが,nobody に属しているため変更する.
あるいは,deluser, delgroup で Debian インストール時に作られるこれらのユーザ・グループを一旦消してからこれ(上)に従えばよい.ただし,Debian Policy Manual - The Operating System には反することになる.Debian インストール時に作られる UID/GID = 0-99 のユーザ・グループは,どの Debian システムでも同一とされているからである.
ftp://ftp.jp.qmail.org/qmail/qmail-1.03.tar.gz を取得.展開.できたディレクトリ(qmail-1.03/)に移って,コンパイル.
# make # make man # make setup # make check
まず,自ホスト名を設定する.qmail-1.03.tar.gz を展開してできたディレクトリ(qmail-1.03/)に移る.
# ./config
このスクリプトは,ホスト名を DNS 検索する.以下の内容が書き込まれる.
/var/qmail/control/defaultdomain ep.sci.hokudai.ac.jp
/var/qmail/control/locals localhost
blue.ep.sci.hokudai.ac.jp
/var/qmail/control/me blue.ep.sci.hokudai.ac.jp
/var/qmail/control/plusdomain ac.jp
/var/qmail/control/rcpthosts localhost
blue.ep.sci.hokudai.ac.jp
yellow によって,ep.sci.hokudai.ac.jp の MX を向けられている場合,「別ホストあてのメイルも受け取りたい」に従って作業する.
# echo ep.sci.hokudai.ac.jp >> /var/qmail/control/locals # echo ep.sci.hokudai.ac.jp >> /var/qmail/control/rcpthosts
また,「ホスト名を隠したい」に従って,ドメイン部のないアドレスにつけるホスト名を設定する.
# echo ep.sci.hokudai.ac.jp >> /var/qmail/control/defaulthost # chmod 644 /var/qmail/control/defaulthost
そのほかに,以下を設定.
# echo 10000000 >> /var/qmail/control/databytes # chmod 644 /var/qmail/control/databytes
# echo 259200 >> /var/qmail/control/queuelifetime # chmod 644 /var/qmail/control/queuelifetime
これら制御ファイルの効果は,qmail-showctl コマンド(マニュアルは http://www.jp.qmail.org/q103/jman8/qmail-showctl.html にある)で確認できる.
# cd /var/qmail/alias # echo '&kyoma@cosmos.sci.hokudai.ac.jp' > .qmail-root # echo '&root' > .qmail-postmaster # echo '&root' > .qmail-mailer-daemon # echo '&root' > .qmail-bin # echo '&root' > .qmail-daemon # echo '&root' > .qmail-games # echo '&root' > .qmail-ingres # echo '&root' > .qmail-nobody # echo '&root' > .qmail-system # echo '&root' > .qmail-toor # echo '&root' > .qmail-uucp # echo '&root' > .qmail-usenet # echo '&root' > .qmail-anonymous # echo '&root' > .qmail-mail # echo '&root' > .qmail-www # echo '&root' > .qmail-dns # echo '&root' > .qmail-ftp # echo '&root' > .qmail-news # chmod 644 .qmail-*以上により,postmaster,mailer-daemon,bin,daemon,games,ingres,nobody,system,toor,uucp,usenet,anonymous,mail,www,dns,ftp,news あてのメールは,root に転送され,root あてのメールは kyoma@cosmos.sci.hokudai.ac.jp に転送される.詳細は,dot-qmail(5).
法人ユーザ作成後は,例えば以下のように変更すべきである.
.qmail-root &blue
&red
&gate
.qmail-postmaster &blue
.qmail-mailer-daemon &blue
.qmail-mail &blue
.qmail-www &red
.qmail-dns &yellow
.qmail-ftp &green
.qmail-news &white
/etc/profile の PATH= の行に,/var/qmail/bin を加える.例えば以下のようにする.
PATH="/usr/local/bin:/usr/bin:/bin:/var/qmail/bin"
export PATH
/etc/csh.cshrc には以下のように書く.
setenv PATH /usr/local/bin:/usr/bin:/bin:/var/qmail/bin
MANPATH="/usr/man:/usr/local/man:/usr/bin/man:/var/qmail/man"
export MANPATH
/etc/csh.cshrc に以下を書き加える.
setenv MANPATH /usr/man:/usr/local/man:/usr/bin/man:/var/qmail/man
MAIL="$HOME/Mailbox"
MAILDROP="$HOME/Mailbox"
export MAIL MAILDROP
/etc/csh.cshrc に以下を書き加える.
setenv MAIL $HOME/Mailbox
setenv MAILDROP $HOME/Mailbox
なお,各ユーザのホームディレクトリのパーミッションは 755 でないと,メール配送時にエラーが出るらしい.
# cp /var/qmail/boot/home /var/qmail/rc # csh -cf '/var/qmail/rc &'qmail は起動する.qmail-send, splogger qmail, qmail-lspawn, qmail-rspawn, qmail-clean を ps で確認.
ブート時に qmail を走らせるようにするため,以下のことを行う.
/etc/inittab, /etc/init.d/rc がブートスクリプトに関わっている.
/etc/init.d/qmail に,以下を書く.
csh -cf '/var/qmail/rc &'
root に実行許可を出しておく.
# chmod 755 /etc/init.d/qmail
/etc/rc[2-5].d/ の下に,これへのリンクを置く. この数字(2-5)は RUNLEVEL に対応する.2-5 はマルチユーザモード, 0 は halt,1 は single user mode, 6 は reboot に対応する.
# cd /etc/rc2.d/ # ln -s ../init.d/qmail S80qmail # ls -al S80qmail lrwxrwxrwx 1 root root 15 S80qmail -> ../init.d/qmail # cd /etc/rc3.d/ (以下同様)このリンクの名前の S に続く2桁の数字(80)が,起動のタイミングを決定する. reboot して,qmail デーモン群の起動を ps で確認.
ローカル配送テスト1:自分に送ってみる.kyoma は自分のユーザ名に変える.
% echo to: kyoma | /var/qmail/bin/qmail-inject~kyoma/Mailbox にメールが送られることを確認.
ローカル配送テスト2:存在しない宛先に送ってみる.
% echo to: nonexistent | /var/qmail/bin/qmail-injectバウンスメールが ~kyoma/Mailbox に送られることを確認.
リモート送り出しテスト:他のホスト上のアカウントへ送ってみる.
% echo to: kyoma@cosmos.sci.hokudai.ac.jp | /var/qmail/bin/qmail-inject
exim のブートスクリプトは,/etc/init.d/exim で, これに /etc/rc{2-5}.d/S20exim, /etc/rc{1,6}.d/K20exim からリンクが張られている.これを無効にする.
# chmod 000 /etc/init.d/exim # mv /etc/init.d/exim /etc/init.d/exim.bakまた,cron から呼び出される処理も無効にする. /etc/cron.daily/exim の先頭のほうに
# by TOYODA Eizi, 1999-09-22. We need not exim.
if [ ! -f /etc/exim.conf ]; then
exit 0
fi
と書き足す.これで /etc/cron.daily/exim は無効になり,いずれ
/etc/exim.conf を使って設定を行った暁には本当に動作するだろう
(豊田,1999/09/22).
以下は,文献 4, 5 の通りの「sendmail 置き換え」作業.
# chmod 000 /usr/lib/sendmail # chmod 000 /usr/sbin/sendmail # mv /usr/lib/sendmail /usr/lib/sendmail.bak # mv /usr/sbin/sendmail /usr/sbin/sendmail.bak # ln -s /var/qmail/bin/sendmail /usr/lib/sendmail # ln -s /var/qmail/bin/sendmail /usr/sbin/sendmail最後にリンクを張ったのは,「qmail の "sendmail" wrapperを MUA から使えるようにする」ため. /usr/lib/sendmail は,cron や gate-system がメールを出すのに使うので,リンクを張るのを忘れないこと.
smtp stream tcp nowait qmaild /var/qmail/bin/tcp-env
tcp-env /var/qmail/bin/qmail-smtpd
これを有効にするため,inetd に HUP を送る.
# kill -HUP xxxxxxxx: ps ax で調べた /usr/sbin/inetd のプロセス番号
$ cd checkpw-0.50/ $ make # su # make setup checkを実行.
/bin/checkapoppw ができる.
pop-3 stream tcp nowait root
/var/qmail/bin/qmail-popup qmail-popup
blue.ep.sci.hokudai.ac.jp /bin/checkapoppw
/var/qmail/bin/qmail-pop3d Maildir
余談:はじめ,この行の最初を "pop3" と書いてしまったのだが,メールクライアントから apop でメールを読もうとすると「サーバが応答しない」旨のエラーが出た.そこで,/etc/services を見ると,
pop-3 110/tcp # POP version 3
pop-3 110/udp
とあったので,/etc/inetd.conf の pop の行の最初を "pop3" から "pop-3" に書き換えたところ,うまくいった,
MAILDIR="$HOME/Maildir/" export MAILDIR
etenv MAILDIR $HOME/Maildir/をそれぞれ追加する.
各ユーザごとに,~/Maildir を作成する.
$ /var/qmail/bin/maildirmake ~/Maildir~/Maildir への配送を qmail に指示する.
$ echo ./Maildir/ > ~/.qmail $ chmod 600 ~/.qmail.qmail のパーミッションは,600 か 644.要は,実行許可が出ていないこと, オーナー以外に書き込みが許可されていないこと,が要求される.
$ echo 'APOPPASSWORD' > ~/Maildir/.password $ chmod 600 ~/Maildir/.passwordこの中身(ここでは,APOPPASSWORD)が,apop でメールを読むときの認証パスワードとなる.
blue の外のホストから,apop 対応メーラー(例.eudora-J1.3.8.8r6 for Macintosh)を用いて,apop サーバを blue に指定して,blue 上の自分のアカウントあてに届いたメールを読んでみる.
Maildir に対応させるパッチ ftp://ftp.win.ne.jp/pub/network/mail/qmail/imap4maildir-pre.tar.gz を取得・展開.
imap4maildir-pre/README に従って,パッチをあてる. 要点は以下.
$ cp imap4maildir-pre/maildir.c imap-4.6.BETA/src/osdep/unix/
$ cp imap4maildir-pre/maildir.h imap-4.6.BETA/src/osdep/unix/
指定位置に Maildir ドライバをコピーする.
$ vi imap-4.6.BETA/src/osdep/unix/Makefile
編集する.編集結果は以下.強調は追加部.
...(前略)
DEFAULTDRIVERS=maildir imap nntp pop3 mh mx mbx tenex mtx mmdf unix news phile
...(中略)
BINARIES=mail.o misc.o newsrc.o smanager.o osdep.o utf8.o siglocal.o \
dummy.o pseudo.o netmsg.o flstring.o fdstring.o \
rfc822.o nntp.o smtp.o imap4r1.o pop3.o \
unix.o mbox.o mbx.o mmdf.o tenex.o mtx.o news.o phile.o mh.o mx.o maildir.o
...(中略)
# Dependencies
...(中略)
utf8.o: mail.h misc.h osdep.h utf8.h
maildir.o: mail.h misc.h osdep.h maildir.h dummy.h
...(後略)
$ vi imap-4.6.BETA/src/c-client/mail.h
編集する.編集結果は以下.強調は追加部.
...(前略)
/* Entry in the message cache array */
typedef struct message_cache {
...(中略)
unsigned long user_flags; /* user-assignable flags */
unsigned long data1; /* needed for maildir driver */
} MESSAGECACHE;
...(後略)
続いて,imap-4.6.BETA/README に従って,コンパイルを行う.
$ cd imap-4.6.BETA/
imap-4.6.BETA/Makefile を見ると,
# The following plaintext login types are defined:
# afs AFS authentication database
# dce DCE authentication database
# md5 MD5 database (must also have md5 as an authenticator)
# nul no plaintext authentication (note: this will break some secure
# authenticators -- don't use without checking first!!)
# std system standard (typically passwd file), determined by port
PASSWDTYPE=std
とあるので,
PASSWDTYPE=md5
に書き換える.imap-4.5/docs/md5.txt には,MD5 を用いた認証について書かれている.これによれば,この認証方式はパケット盗聴に対してセキュアだそうだ.PASSWDTYPE=std としてコンパイルした場合,imap 認証にはログインに使うパスワードと同じ物が用いられる.これはアンセキュア!
$ make slx
su になって,
# cp imap-4.5/imapd/imapd /usr/local/sbin/imapd
imap2 143/tcp # Interim Mail Access Proto v2
imap2 143/udp
があることを確認.
/etc/inetd.conf に以下の一行を加える.余談:はじめ,imap-4.5/docs/BUILD に従ってプロトコル名を "imap" としていたのだが,うまく動作しなかった."imap2" に改めたのは,/etc/services にそう表記されていたため.
imap2 stream tcp nowait root /usr/local/sbin/imapd imapd
inetd に HUP を送る.
# kill -HUP xxxxxxxx: inetd のプロセス番号.
# CRAM-MD5 authentication database
# Entries are in form <user><tab><password>
# Lines starting with "#" are comments
kyoma xxxxxxxx
ユーザ名と imap 用パスワードの間は tab で区切るとされている.
# chmod 400 /etc/cram-md5.pwd
スクリプトは以下.これを,/etc/cron.daily/imappwdbg とした.パーミッションは,755.
#!/usr/bin/perl
#Kyoma TAKAHASHI 1999.7.9
# 1999.10.02
#Thanks for Toyoda's help.
$chmodbin = '/bin/chmod';
$imappwdb = '/etc/cram-md5.pwd';
$userpwfile = 'Maildir/.password';
system "$chmodbin 600 $imappwdb";
open(DBFILE,"> $imappwdb");
print DBFILE '# CRAM-MD5 authentication database',"\n";
print DBFILE '# Entries are in form <user><tab><password>',"\n";
print DBFILE '# Lines starting with "#" are comments',"\n";
print DBFILE "\n";
while (($user,$passwd,$uid,$gid,$quota,$comm,$gcos,$dir) = getpwent) {
if ( $uid >= 1000 ) {
if ( $uid <= 29999 ) {
open(PWFILE,"< $dir/$userpwfile");
$pass = '';
$pass = $_ while(<PWFILE>);
chop($pass);
close(PWFILE);
if($pass ne '') {
open (GATEUS,"/usr/local/bin/gate-user-show $user |");
while () { if (/type/) { ($typeq) = /type: (.*)/; } }
close (GATEUS);
if ( $typeq eq 'person' ) {
print DBFILE $user;
print DBFILE "\t";
print DBFILE $pass;
print DBFILE "\n";
}}
}}
}
close(DBFILE);
system "$chmodbin 400 $imappwdb";
より頻繁にこのデータベースを更新するために,以下を行う.
$ sudo -s # whoami root # crantab -e Edit. # crontab -l 50 8-20 * * * /etc/cron.daily/imappwdbg
パソコンのメールソフトを使ってメールを利用するユーザは多いと考えられることから,blue が smtp 要求を受けるべきは,1) blue にあるアカウント宛のメール,2) 地惑内のホスト(サブドメイン取得後なら,*.ep.sci.hokudai.ac.jp か)からのメール,であろう.
qmail の FAQ 5.4「特定のクライアントにだけリレーとして使わせたい」(文献 1)に従って作業を行う.この FAQ では,tcpserver をつかうやり方と,tcp-wrappers を使うやり方の二つが述べられている.tcpserver の導入によって,同時に多くの smtp 要求を受け付けられ,接続の記録が取れるようになる(文献 2)という利点から,tcpserver を使うことにする.
su になって,/etc/inetd.conf 中の smtp の行をコメントアウト(行頭に # を付す)して,inetd に HUP を送る.これによって,qmail-smtpd が inetd から呼び出されなくなる.
ftp://ftp.jp.qmail.org/qmail/ucspi-tcp-0.84.tar.gz を取得.展開.
付属ドキュメントに従ってインストール.
% make # make setup check
qmaild の UID,nofiles の GID を確認した上で,
# tcpserver -u xxxx -g yyyy 0 smtp /var/qmail/bin/qmail-smtpd &xxxx: qmaild の UID. yyyy: nofiles の GID.
inetd から qmail-smtpd を呼び出していたときと同様の受信テストを行い,inetd から tcpserver への移行の成否を確認する.
qmail と同様に,ブート時に起動するようにする.
/etc/init.d/tcpserver に,以下を書き(仮),root に実行許可を出す.
#!/bin/sh # # smtp /usr/local/bin/tcpserver -u xxxx -g yyyy 0 smtp /var/qmail/bin/qmail-smtpd &
/etc/rc[2-5].d/ の下に,これへのリンクを置く.
lrwxrwxrwx 1 root root 19 S80tcpserver -> ../init.d/tcpserver
133.87.52.40:allow,RELAYCLIENT=""
127.:allow,RELAYCLIENT=""
続いて,
# tcprules /etc/tcp.smtp.cdb /etc/tcp.smtp.tmp < /etc/tcp.smtpを実行./etc/tcp.smtp.cdb ができる.
tcpserver 起動スクリプト /etc/init.d/tcpserver の起動行に -x /etc/tcp.smtp.cdb を追加する. これは,データベースファイル /etc/tcp.smtp.cdb を参照させるための設定.
また,接続の記録を取るために,tcpserver 起動スクリプト /etc/init.d/tcpserver に -v オプションと,splogger への受け渡しを追加する.編集結果は以下となる.
/usr/local/bin/tcpserver -v -x /etc/tcp.smtp.cdb -u xxxx -g yyyy 0 smtp \ /var/qmail/bin/qmail-smtpd 2>&1 | /var/qmail/bin/splogger smtpd 3 &xxxx: qmaild の UID. yyyy: nofiles の GID.
blue を reboot する.tcpserver の起動を確認.
先ほど /etc/tcp.smtp に書いた IP アドレス(ここでは,133.87.52.40)を持つパソコンから,メーラー(例.eudora-J1.3.8.8r6)を使って,smtp サーバを blue に設定し,blue 以外の任意のホストにあるアカウント宛のメールを発信してみる.
/var/log/syslog に残るログは,以下のようなものとなる.確認.
Jul 8 18:06:15 blue smtpd: 931424775.300370 tcpserver: status: 1/40 Jul 8 18:06:15 blue smtpd: 931424775.301735 tcpserver: pid 185 from 133.50.133.146 Jul 8 18:06:15 blue smtpd: 931424775.326543 tcpserver: ok 185 blue.ep.sci.hokudai.ac.jp:133.87.45.26:25 skyblue.sci.hokudai.ac.jp:133.87.52.40::2064 Jul 8 18:06:15 blue smtpd: 931424775.862705 tcpserver: end 185 status 0 Jul 8 18:06:15 blue smtpd: 931424775.863054 tcpserver: status: 0/40
#!/usr/bin/perl
#Kyoma TAKAHASHI 1999.08.11
# 1999.09.09
# 1999.11.09
# list-2-tcp file
$add = ':allow,RELAYCLIENT=""';
$bottom = '127.';
$rulefile = shift;
open(RULEFILE,"> $rulefile");
while(<>) {
chop($ip = $_);
if($ip ne '') {
if(/[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+/) {
($_) = /([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+)/;
s/^0+//;
s/\.0+/\./g;
s/^\./0\./;
s/\.$/\.0/;
s/\.\./\.0\./g; s/\.\./\.0\./g;
print RULEFILE $_,$add,"\n";
}}
}
print RULEFILE $bottom,$add;
close(RULEFILE);
/usr/local/sbin/tcp_smtp_cdb を以下とする.root への実行許可を忘れずに. gate の ip データベース更新時には,gate-system によってこのスクリプトが呼び出される.
#!/bin/sh # Kyoma TAKAHASHI 1999.9.9 # 10.16 /usr/local/bin/gate-ip-show -f ip `/usr/local/bin/gate-ip-list stable` | /usr/local/sbin/list-2-tcp /etc/tcp.smtp && /usr/local/bin/tcprules /etc/tcp.smtp.cdb /etc/tcp.smtp.tmp < /etc/tcp.smtpgate-ip-show, gate-ip-list は,gate-system のプロダクツ.
# pop-3 /usr/local/bin/tcpserver -v -u 0 -g 0 0 pop-3 /var/qmail/bin/qmail-popup \ blue.ep.sci.hokudai.ac.jp /bin/checkapoppw /var/qmail/bin/qmail-pop3d \ Maildir 2>&1 | /var/qmail/bin/splogger pop3d 3 & # imap2 /usr/local/bin/tcpserver -v -u 0 -g 0 0 imap2 /usr/local/sbin/imapd \ 2>&1 | /var/qmail/bin/splogger imapd 3 &ログは,以下のようになる.
Jul 28 01:00:25 blue pop3d: 933091225.430984 tcpserver: status: 1/40 Jul 28 01:00:25 blue pop3d: 933091225.431641 tcpserver: pid 2535 from 133.50.133.146 Jul 28 01:00:25 blue pop3d: 933091225.439887 tcpserver: ok 2535 blue.ep.sci.hokudai.ac.jp:133.87.45.26:110 skyblue.sci.hokudai.ac.jp:133.87.52.40::2055 Jul 28 01:00:25 blue pop3d: 933091225.498577 tcpserver: end 2535 status 256 Jul 28 01:00:25 blue pop3d: 933091225.498914 tcpserver: status: 0/40 Jul 28 00:45:57 blue imapd: 933090357.824565 tcpserver: status: 1/40 Jul 28 00:45:57 blue imapd: 933090357.825841 tcpserver: pid 2394 from 133.50.133.134 Jul 28 00:45:57 blue imapd: 933090357.835252 tcpserver: ok 2394 blue.ep.sci.hokudai.ac.jp:133.87.45.26:143 geomacg.sci.hokudai.ac.jp:133.50.133.134::1030 Jul 28 00:46:57 blue imapd: 933090417.606449 tcpserver: end 2394 status 0 Jul 28 00:46:57 blue imapd: 933090417.606574 tcpserver: status: 0/40
ezmlm-0.53/INSTALL に従って作業.
% cd ezmlm-0.53/ % make % make man % su # make setup/usr/local/bin/ezmlm/ 以下の ezmlm のコマンドバイナリ群にパスを通す. qmail のコマンドにパスを通したのに習って.
以下,テストを行う.
% ezmlm-make ~/testlist ~/.qmail-testlist kyoma-testlist ep.sci.hokudai.ac.jp
メーリングリスト (ML) を作る.詳細は,ezmlm-make の man(日本語訳)を見よ.
% ezmlm-sub ~/testlist kyoma@ep.sci.hokudai.ac.jp
ML 主催者によって手動で購読者を追加する.詳細は,ezmlm-sub の man(日本語訳)を見よ.
% echo subject:testing | qmail-inject kyoma-testlist@ep.sci.hokudai.ac.jp
ML に投稿してみる.上で登録したアドレスにメールが届くか.
% qmail-inject kyoma-testlist-get.1@ep.sci.hokudai.ac.jp < /dev/null
投稿アーカイブから記事を取り出すコマンドを試す.記事が送られてくるか.
自動処理コマンドの詳細は http://www.jp.qmail.org/ezmlm/chart.html を見よ.
% qmail-inject kyoma-testlist-unsubscribe@ep.sci.hokudai.ac.jp < /dev/null
ML 参加者による自動登録抹消を試す.確認メールが送られてくるので,その指示に従う.
自動処理コマンドの詳細は http://www.jp.qmail.org/ezmlm/chart.html を見よ.
% ezmlm-list ~/testlist
ML 登録アドレス一覧を見る.上で行った登録抹消が行われているか.
詳細は,ezmlm-list の man(日本語訳)を見よ.
ezmlm-idx-0.32/INSTALL.idx に従って作業.
% mv ezmlm-idx-0.32/* ezmlm-0.53/ % cd ezmlm-0.53/ % patch < idx.patchcrontab のありかを調べる.
% which crontab /usr/bin/crontab/usr/bin にあれば先へ進む. 違う場所にある場合は,conf-cron にありかを書き込む.
MySQL(解説は http://www.mysql.com/)を使うか否かを決定.ここでは,使わないこととして,先に進む.使う場合には,この段階でやるべき作業がある.
% make clean
% make; make man
% make jp
使用言語を選ぶ.jp は日本語の意.
以下,テストを行う.
% chmod 755 ezmlm-test
% su
# adduser eztest
# exit
% su eztest
$ cd ezmlm-0.53/
新しくコンパイルした ezmlm-idx のコマンドバイナリ群にパスが通っているか確認.
$ ./ezmlm-test
テストが実行される.
$ exit
MySQL を使わない場合は,以下を実行.使う場合には,異なる作業が要る.
% make std % makeバイナリを /usr/local/bin/ezmlm/ にコピーする.手動でやっても良い.
% su # make setup再びテスト.
% su eztest
$ cd ezmlm-0.53/
/usr/local/bin/ezmlm/ 以下のコマンドバイナリ群にパスが通っているか確認.
$ ./ezmlm-test
テストが実行される.
$ exit
% su
# userdel eztest
# groupdel eztest
# rm -r ~eztest/
MUA を使えるようにする
○ im の設定
im は mew の下側で用いられます.
im は ~/.im が存在しない場合,/usr/lib/im/SiteConfig を見るので
このファイルを編集します.
# vi /usr/lib/im/SiteConfig
以下のコメントを外します.
Smtpservers=localhost # default server for SMTP
Imget.Src=local # default source of imget (local mailbox)
MBoxStyle=qmail # if folder style mbox of qmail is used
また以下の行を加える.
FromDomain=ep.sci.hokudai.ac.jp
ToDomain=ep.sci.hokudai.ac.jp
○ mh の設定
mh は mnews を始めとして多くの MUA で用いられています.
mh は sendmail 用になっているので,
qmail 用に設定をし直す必要があります.
実際には /usr/lib/mh/mtstailor を編集します.
# cd /usr/lib/mh/mtstailor
# vi /usr/lib/mh/mtstailor
以下のように編集します
mmdfldir:
mmdflfil: Mailbox
uucpldir:
uucplfil:
mmdelim1: \001\001\001\001\n
mmdelim2: \001\001\001\001\n
mmailid: 0
umincproc:
lockstyle: 0
lockldir:
hostable: /usr/lib/mh/hosts
sendmail: /usr/lib/sendmail
以下は一般ユーザ毎の設定
$ /usr/bin/mh/inc
各人のホームに .mh_profile が作られる.
また,~/Mailbox に配送されたメールを取りにいく.
inc コマンドにパスが通っていなかった.
mh を使う MUA は動くようになりました.