さきバニネットワークだよ〜ん

mailサーバー
 

1.qmailの入手

はじめに、qmailを選んだ理由は、sendmailに比べてセキュリティーや設定のしやすさ、MailBox形式ではなく、
MailDir形式であることで管理がしやすい点など、これからは、qmailのユーザーのほうが多くなるだろうという
予想で決めました。

次のファイルををダウンロードします。
ucspi-tcp-0.88.tar.gz (tcpserver) http://cr.yp.to/ucspi-tcp/install.html
checkpassword-0.90.tar.gz      http://cr.yp.to/checkpwd/install.html
qmail-1.0.3.tar.gz             http://www.jp.qmail.org/djb/qmail.html
qmail-date-localtime.patch.gz     http://ftp.sg.freebsd.org/pub/FreeBSD/ports/local-distfiles/sada/

日本語のページです。         http://www.jp.qmail.org

2.解凍・コンパイル・インストール

ダウンロードしたファイルは、圧縮されていますので、コマンドラインから以下の手順で解凍して、インストールします。/usr/localにダウンロードしたとして記述します。

1)準備
rootで行ってください。
# mkdir /var/qmail    インストールするqmailのディレクトリーを作成します。
(標準でここですので変更しないこと)
# chmod 755 /var/qmail パーミッション変更します。

# groupadd -g 1000 nofiles   ここで設定されるnofilesのグループIDを覚えておきます。    
# useradd -g nofiles -u 2001 -d /var/qmail/alias -s /bin/false alias 
ID(-g 1000 -u 2001等)も入れておいたほうがあとで楽かもしれません。
# useradd -g nofiles -u 2002 -d /var/qmail -s /bin/false qmaild   
ここで設定されるqmaildのユーザーIDを覚えておきます。
# useradd -g nofiles -u 2003 -d /var/qmail -s /bin/false qmaill   
# useradd -g nofiles -u 2004 -d /var/qmail -s /bin/false qmailp
# groupadd -g 500 qmail
# useradd -g qmail -u 2005 -d /var/qmail -s /bin/false qmailq    
# useradd -g qmail -u 2006 -d /var/qmail -s /bin/false qmailr
# useradd -g qmail -u 2007 -d /var/qmail -s /bin/false qmails

2)インストール
qmailのインストール
# cd /usr/local             ディレクトリーに移動します。
# tar xvfz qmail-1.03.tar.gz   解凍します。
# gunzip -v qmail-date-localtime.patch.gz
解凍したqmail-date-localtime.patchをqmail解凍ディレクトリーにコピーします。
# cp qmail-date-localtime.patch /usr/local/qmail-1.03
# cd /usr/local/qmail-1.03   解凍ファイルのあるディレクトリーに移動します。
# patch -p1 < qmail-date-localtime.patch
   ローカルタイムパッチをあてます。

# su
# make setup check       cコンパイラーでコンパイルし、ファイルをインストールします。
*注意 失敗する場合(Redhat Linux 9)は
qmail-1.03ディレクトリーのerror.hファイル内の次の部分を修正します。
extern int errno; → #include <errno.h>

tcpserverのインストール
# cd /usr/local             ディレクトリーに移動します。
# tar xvfz ucspi-tcp-0.88.tar.gz   tarで解凍します。
# cd /usr/local/ucspi-tcp-0.88   解凍ファイルのあるディレクトリーに移動します。
# make       cコンパイラーでコンパイルします。(開発環境が必要です。)
# su         スーパーユーザーになったほうがよいかもしれません。
# make setup check   コンパイルしたファイルをインストールします。
# exit
*注意 失敗する場合上記参照

checkpasswordのインストール
# cd /usr/local             ディレクトリーに移動します。
# tar xvfz checkpassword-0.90.tar.gz   tarで解凍します。
# cd /usr/local/checkpassword-0.90   解凍ファイルのあるディレクトリーに移動します。
# make       cコンパイラーでコンパイルします。(開発環境が必要です。)
# su         スーパーユーザーになったほうがよいかもしれません。
# make setup check   コンパイルしたファイルをインストールします。
*注意 失敗する場合上記参照


3.ファイルの設定

# ./config-fast s-ip.net   設定ファイルのセットをします。(s-ip.netは自ドメイン)

# cp /var/qmail/boot/home /var/qmail/rc 単純にhomeファイルをrcにしてコピーします。
その際、ちゃんと中身までコピーされたか確認してください。

# cd /var/qmail/alias       エイリアスの設定です。ディレクトリーに移動します。
# touch .qmail-postmaster    空ファイルの作成、最低限の設定です。
# touch .qmail-mailer-daemon
# touch .qmail-root


# chmod 644 /var/qmail/alias/.qmail* パーミッションの設定です。
それぞれのエイリアスファイルに転送先(登録アカウントユーザー名)を書きます。

maildir形式の設定
エディターで/var/qmail/rcのqmail-startの行を以下のように書き換えます。
qmail-start ./Maildir/ splogger qmail &

新規アカウントを作ったとき、自動でmaildirが作成されるようにします。
# /var/qmail/bin/maildirmake /etc/skel/Maildir
# echo ./Maildir/ > /etc/skel/.qmail


通常は、変えなくても良いと思いますが、コントロールファイルの確認
/var/qmail/control/locals   ローカル配信のアドレスです。
/var/qmail/control/rcphosts ローカルと同じアドレスです。
/var/qmail/control/me     ローカルと同じアドレスです。

外部に配信する設定、smtp接続の許可
/var/qmail/control/tcprules.txt   の編集をします。ファイルが無ければ作ってください。
以下は、ファイルの中身です。
192.168.1. :allow,RELAYCLIENT=""   ローカルの192.168.1.の0から255まで許可する設定です。
:allow                      smtpの許可です。
RELAYCLIENT=""を書いておくと /var/qmail/control/rcpthostsを無視して転送できるホストを指定できます。

このテキストファイルからtcprules.datを作成します。
# cd /var/qmail/control
# tcprules tcprules.dat tcprules.tmp < tcprules.txt


4.起動ファイルの設定

ブートスクリプト(/etc/rc.d/rc.local)にエディターで以下を追加します。

# Start qmail
/bin/csh -cf /var/qmail/rc &

# Start pop3d
/usr/local/bin/tcpserver 0 110 /var/qmail/bin/qmail-popup s-ip.net /bin/checkpassword /var/qmail/bin/qmail-pop3d Maildir &
1行で書いてください。

# Start smtpd
/usr/local/bin/tcpserver -x /var/qmail/control/tcprules.dat -u 2002 -g 1000 0 smtp /var/qmail/bin/qmail-smtpd &
1行で書いてください。-u 2002は、qmaildのユーザーID
                          -g 1000は、nofilesのグループIDで、アカウント設定で変わります。


5.ゲストアカウントの登録

使用できるユーザー(仮にbanira)とグループ(qmailuser)をコマンドラインから登録します。
rootで行います。

# groupadd -g 2001 qmailuser    グループを登録します。
# useradd -u 5001 -g 2001 -c coment -d /usr/local/qmail/vanira -s /bin/nologin vanira
       -u 5001      ユーザーIDを入力します。
       -g 2001      グループIDを入力します。
       -c coment    補足説明が必要な場合入力します。
       -d /usr/local/qmail      ホームディレクトリーのパスを入力します。
       -s /bin/nologin  シェルを指定します。なにもしないシェルでいいです。
       vanira        ユーザー名を入力します。

# su                 スーパーユーザーになります。
# passwd vanira          でユーザーvaniraのパスワードを入力します。
  New password:*********       できるだけ半角英数字で8文字以上入力します。
  Retype new password:*********  もう一度入力します。
  passwd: all authentication tokens updated successfully   で成功です。
ユーザーとグループの削除は、以下です。
# userdel -r vanira
# groupdel qmailuser


6.クライアントの設定

通常のPOP3認証でログオンします。
受信メール POP3・・・s-ip.net
受信メールサーバーのアカウントは、vanira (仮に)
パスワードは、********
セキュリティーで保護されたパスワードで認証ログインは、しません。
これだけでメールの受信ができます。


最後に、セキュリティー対策から、APOP認証にしたほうが良いですが、対応するメーラーが少ない
ということで今回は、使用していません。

smtp認証は、次回記載予定。



     

2002年3月20日
2004年4月18日更新