File last modified 2002/11/10 16:41
過去のページはこちらsendmail-8.9.3
qmaillのインストールとセットアップ
IMAP・POPサーバーのインストールとセットアップ
qmailのインストールとセットアップ
solaris8にはsendmailが標準で入っていますが、sendmailのかわりにqmailでmailサーバーを構築します。
qmailホームディレクトリ作成
ルートユーザーになりqmailのホームディレクトリを作成します。
# mkdir /var/qmail
qmailユーザーとグループ作成
同じくルートユーザにて、qmail用ユーザーとグループを作成します。
# groupadd nofiles
# useradd -g nofiles -d /var/qmail/alias alias
# useradd -g nofiles -d /var/qmail qmaild
# useradd -g nofiles -d /var/qmail qmaill
# useradd -g nofiles -d /var/qmail qmailp
# groupadd qmail
# useradd -g qmail -d /var/qmail qmailq
# useradd -g qmail -d /var/qmail qmailr
# useradd -g qmail -d /var/qmail qmails
qmailインストール
以下の場所等からqmail-1.03本体とパッチを入手します。
ftp://ftp.jp.qmail.org/qmail/qmail-1.03.tar.gz qmail本体
ftp://ftp.nlc.net.au/pub/unix/mail/qmail/qmail-date-localtime.patch ローカルタイムパッチ
http://www9.jp.qmail.org/qmail-smtpd-relay-reject不正中継防止パッチ
適当な場所にダウンロードしたファイル2つを置き、展開後、パッチを当てます。
$ tar xvzf qmail-1.03.tar.gz
$ cd qmail-1.03
$ patch -p1 < ../qmail-date-localtime.patch
$ patch -p1 < ../qmail-smtpd-relay-reject
コンパイルにgccを使っているので、conf-cc、conf-ldファイルの cc を gcc に変更します。
conf-cc 一行目
cc -O2 を
gcc -O2 に変更
conf-ld 一行目
cc -s を
gcc -s に変更
ルートになりインストールします
$ su
# make setup check
以下のコマンドにて設定ファイルのセットをします
# ./config-fast
/var/qmail/controlに設定ファイルが作成されます。
| defaultdomain |
|
ドメイン名省略時、補完されるドメイン名 |
| locals |
|
qmail-sendが利用するホスト名・ドメイン名 |
| rcpthosts |
|
qmail-smtpdが利用するホスト名・ドメイン名 |
| me |
|
サーバのFQDN |
mailサーバーのFQDNがmail.b-dash.netの場合でも、メールアドレスを
例えば、user@mail.b-dash.netではなくuser@b-dash.netとしたい場合は
defaulthostというファイルを作りb-dash.netと記述します |
エイリアスの設定
# cd /var/qmail/alias
# touch .qmail-postmaster .qmail-mailer-deamon .qmail-root
# chmod 644 .qmail-postmaster .qmail-mailer-deamon .qmail-root
例えばroot宛メールをuserに転送したい場合は
.qmail-rootに
&user
と記述します。
メールスプールの設定(Maildir形式)
ここではメールスプールをMaildir形式します。
ユーザーホームディレクトリにて
$ /var/qmail/bin/maildirmake Maildir
$ echo ./Maildir/ > .qmail
起動スクリプト編集
ルートになりサンプルファイルをコピー
# cp /var/qmail/boot/home /var/qmail/rc
/var/qmail/rcのqmail-startの行を変更
qmail-start ./Mailbox splogger qmail ←変更前
qmail-start ./Maildir/ splogger qmail ←変更後
sendmailを止める
# /etc/init.d/sendmail stop
# mv /usr/lib/sendmail /usr/lib/sendmail.org
# chmod 0 /usr/lib/sendmail.org
# ln -s /var/qmail/bin/sendmail /usr/lib/sendmail
# chmod 0 /bin/mail
起動用スクリプト
システム起動時にqmailが起動するようにスクリプトを作成します。
/etc/init.d/qmail
#!/bin/sh
QMAIL=/var/qmail
PID=`/usr/bin/ps -e | /usr/bin/grep qmail-se | /usr/bin/sed -e 's/^ *//' -e 's/ .*//'`
case "$1" in
'start')
if [ -f $QMAIL/rc ] ; then
echo "qmail server starting."
/bin/csh -cf "$QMAIL/rc &" > /dev/console 2>&1 &
fi
;;
'stop')
if [ ! -z "$PID" ] ; then
/usr/bin/kill -TERM $PID
fi
;;
*)
echo "Usage: /etc/init.d/qmqil { start | stop }"
;;
esac
exit 0
スクリプトをランレベル毎に実行されるようハードリンクを作ります
# chmod 744 /etc/init.d/qmail
# ln /etc/init.d/qmail /etc/rc0.d/K57qmail
# ln /etc/init.d/qmail /etc/rc1.d/K57qmail
# ln /etc/init.d/qmail /etc/rc2.d/S88qmail
sendmailが起動されぬようS88sendmailをリネーム
# mv /etc/rc2.d/S88sendmail /etc/rc2.d/_S88sendmail
IMAP・POPサーバーのインストールとセットアップ
次にpop3サーバーとIMAPサーバーをインストールします。
UW-IMAPはMaildir形式には対応していませんが、拡張パッチが出ていますので、それを使う事にします。
以下のサイトより入手できます。
WU-IMAPDてんこもり拡張パック
http://www.gentei.org/%7Eyuuji/software/imapext/
2001/09/16現在のバージョンファイル
imap-2001.RC1-qmav.2.tar.gz
この拡張パック。機能がほんとにてんこもりなのですが、うちでは表からPOP3を使わないので
LAN内では生POP使用することにします。
展開して、コンパイルします。Solaris+gccの場合、makeオプションはgsoになります(その他の場合はMakefile参照のこと)
$ tar xvzf imap-2001.RC1-qmav.2.tar.gz
$ cd imap-2001.RC1-qmav.2.tar.gz
$ make gso
コンパイル後、手動でインストールします。インストール先は/usr/local/sbinにします。
ディレクトリがない場合は作成しておきます。
$ su
# /usr/sbin/install -c /usr/local/sbin -m
755 -u root -g root imapd/imapd
# /usr/sbin/install -c /usr/local/sbin -m 755 -u root -g root ipopd/ipop2d
# /usr/sbin/install -c /usr/local/sbin -m
755 -u root -g root ipopd/ipop3d
# cp src/imapd/imapd.8c /usr/local/man/man8/imapd.8
# cp src/ipopd/ipopd.8c /usr/local/man/man8/ipopd.8
別件ですが、PHPインストール時に必要なライブラリなどをコピーしておきます
# cd c-client
# cp c-client.a /usr/local/lib/libc-client.a
# cp c-client.h rfc822.h utf8.h mail.h linkage.h mail.h osdep.h misc.h
rfc822.h smtp.h nntp.h \
env_unix.h fs.h ftl.h nl.h tcp.h flocksim.h imap4r1.h env.h /usr/local/include
tcp_wrappers_7.6のインストール(inetd使用の場合)
(以下の例はTCPWrapperを使っていますので、インストールメモを参照)
ただしデーモンに環境変数を渡せるようにSTYLE=-DPROCESS_OPTIONSをつけてmakeします
# CC=gcc REAL_DAEMON_DIR=/usr/sbin STYLE=-DPROCESS_OPTIONS make sunos5
hosts.allowの設定
/etc/hosts.allowに以下の行を挿入します。
tcp-env : localhost 192.168.0.0/255.255.255.0 : setenv = RELAYCLIENT
tcp-env : ALL : ALLOW
ipop3d : localhost 192.168.0.0/255.255.255.0 : setenv = RELAYCLIENT : setenv = INTRANET
ipop3d : ALL : ALLOW
てんこもり拡張パックではipop3d起動時に環境変数INTERNETを与えることにより、生POPを使うようになります。
この設定でLAN内からの接続要求には生POPが使えるようになります。
inetd.confの設定
/etc/inet/inetd.confに以下の行を追加します。
imap stream tcp nowait root /usr/local/sbin/tcpd /usr/local/sbin/imapd
pop3 stream tcp nowait root /usr/local/sbin/tcpd /usr/local/sbin/ipop3d
smtp stream tcp nowait qmaild /usr/local/sbin/tcpd /var/qmail/bin/tcp-env /var/qmail/bin/qmail-smtpd
inetdの再起動
# ps -ef |grep inet
root 170 1 0 Nov 23 ? 0:00 /usr/sbin/inetd
-s -t
# kill -HUP 170
うまく行かない時は、/var/qmail/controlのファイルや、hosts.allowを確認してください。
|