TOPページ
 
what's new Linuxサーバ構築記 自己紹介 リンク集
 
Linuxトップへ戻る
ノートPCにPlamoLinuxをインストール
  (1)はじめに
  (2)インストール
  (3)各種設定ファイルの変更
  (4)各種アプリケーションのインストール
1.Dynamic-DNS
2.Webサーバ
3.qmail
4.tcpserver
5.POP3
6.POP before SMTP
7.IMAP
8.fetchmail
9.NTPサーバ
10.Webメール
11.FTPサーバ(ProFTPD)
12.PHP4
13.PostgreSQL
14.Procmail
  (5)HDDを追加
 

■ノートPC ARMADAにPlamoLinuxをインストール

(4) 各種アプリケーションのインストール

3.qmail

Plamoにはデフォルトでsendmailが起動するようになっていますが、sendmailはセキュリティホールがよく発見され、その都度パッチを当てるのが、個人サーバとしては苦痛なので、MTAにはqmailを採用することにしました。

自分のサーバにMTAを入れることで、DYDNSで取得したドメインでのメール送信ができるようになるはずです。本当は、IMAP4をインストールしたいのですが、まずは、POPで様子を見ることにしました。

POP3サーバーには、qmail-pop3dを使用し、Linux標準のinetd+TCPWrapeersをtcpserverに置き換える方向で作業を進めます。


 


◆インストール


まずqmail-1.03のソースとパッチを下記より取得します。

ftp://ftp.jp.qmail.org/qmail/qmail-1.03.tar.gz
ftp://ftp.nlc.net.au/pub/unix/mail/qmail/qmail-date-localtime.patch

※qmail-date-localtime.patchは、ヘッダの日付・時間情報をローカルタイムにするパッチです。

ダウンロードしたら、/usr/local/srcの下にコピーし、展開してパッチを当てます。

 
     
  # tar xvfz qmail-1.03.tar.gz
# cd qmail-1.03/
# patch -p1 < ../qmail-date-localtime.patch
 
     
  展開されたフォルダ中のINSTALLファイルをさらっと読んで作業の手順だけでも確認しておきます。次にインストール先のディレクトリを作り、必要なユーザーとグループの登録を行います。詳細な手順はINSTALL.idsに書いてあります。

とりあえず今回は/varの下に入れることにし、下記の順でコマンドを入力して作成します。
 
     
  # mkdir /var/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

# make setup
# make check
# ./config

 
     
  で、家のサーバは前述の通り、ダイナミックDNSサービスを使用しているので、
通常のレンタルサーバーなどと違い、MXレコードの設定ができません。
なので、./config実行時に下記のエラーが出てしまいます。
 
     
  Your hostname is armada.
hard error
Sorry, I couldn't find your host's canonical name in DNS.
You will have to set up control/me yourself.
 
     
  ということで、./configにオプションを設定して回避します。
 
     
  # ./config-fast kwr.no-ip.com
 
     
  本当は、
./config-fast armada.kwr.no-ip.com

だとは思いますが、実際に外部に対して公開しているのはルータで、ルータ宛てにきたパケットをarmadaにPortForwardしているに過ぎないので、受け取るべきはルータということで設定します。


◆設定ファイル

ここまでで、制御ファイルの格納場所 /var/qmail/control ができました。
この control 以下の設定ファイルで配送を制御します。
その設定ファイルを編集します。

defaultdomain にはFQDNホスト名を設定します(この場合のFQDNはkwr.no-ip.com)。これは、toヘッダにドメイン名が省略された場合、補完されるドメイン名として使用されるためです。
 
     
  kwr.no-ip.com
 
     
  me には自サーバのFQDNを設定します。ここでは自マシンのFQDNとします。
 
     
  armada.kwr.no-ip.com
 
     
  locals、rcpthosts 共に下記に設定します。
 
     
  localhost
kwr.no-ip.com
armada.kwr.no-ip.com
 
     
  この設定ですと、LAN内とarmada以外からのSMTPを使用したメールの送信ができないことになりますが、実際にこの設定だと家の外から接続した際にメールが送信できないので不便です。かといって、SMTPのRELAYをオープンにするとSPAMの中継に使用されてしまう可能性が非常に高いので(前の会社でやられたことがある)、それはしたくはありません。

ということで、POP before SMTPの仕組みを後ほど設定することにします。


◆Alias設定、sendmailとの置き換え、起動確認
など

次にAliasとして、管理者関係のアカウントの設定を行います。
 
     
  # cd /var/qmail/alias
# touch .qmail-postmaster .qmail-mailer-daemon .qmail-root
# chmod 644 ~alias/.qmail*
 
     
  sendmail との置き換えを行います。
まず sendmail を kill にて停止します。
続いてBOOT時にsendmailが立ち上がらないように、/etc/rc.d/rc.Mを修正します。
 
     
  ここから下をコメントにする。
# Start the sendmail daemon:
#if [ -x /usr/sbin/sendmail ]; then
# echo "Starting sendmail daemon (/usr/sbin/sendmail -bd -q15m)..."
# /usr/sbin/sendmail -bd -q15m
#fi
 
     
  mail コマンドやCGIスクリプトなどで直接 /usr/lib/sendmail を使用する事も多いので、
qmail の sendmailラッパーで置き換えます。
 
     
  # cd /usr/sbin
# mv sendmail sendmail.org
# chmod 0 sendmail.org
# ln -s /var/qmail/bin/sendmail /usr/sbin/sendmail
 
     
  起動スクリプトをコピーします。
 
     
  # cp /var/qmail/boot/home /var/qmail/rc
 
     
  qmailを起動します。
 
     
  # /var/qmail/rc &
 
     
  ただし、このままではmbox形式のままなので、後ほどMaildir形式で動くように設定を直します。
さらに、ちゃんとプロセスが起動しているかを確認します。
 
     
  # ps -ax | grep qmail
として、下記の様に5個のプロセスが起動していればOKです。
2212 ttyp0 S 0:00 qmail-send
2213 ttyp0 S 0:00 splogger qmail
2214 ttyp0 S 0:00 qmail-lspawn ./Mailbox
2215 ttyp0 S 0:00 qmail-rspawn
2216 ttyp0 S 0:00 qmail-clean
 
     
  配送のテストをします。
 
     
  # echo to: root@kwr.no-ip.com | /var/qmail/bin/qmail-inject
 
     
  これで、空のメールが/var/qmail/alias/ Mailbox ファイルに格納されます。
内容を確認して問題なければOKです。


次に外部配送の確認をします。
 
     
  # echo to: ****@*********.com | /var/qmail/bin/qmail-inject
 
     
  これで、指定したメールアドレスまでメールがきていれば問題ナシです。


◆Maildir形式への設定

先ほどの起動スクリプトのままではmbox形式のままなので、Maildir形式で保存するように設定を変更します(INSTALL.maildir参照)。
/var/qmail/rc ファイルの内容を下記に修正します。
 
     
  qmail-start ./Mailbox splogger qmail

qmail-start ./Maildir/ splogger qmail
 
     
  続いて、管理者用のアカウントのスプールの保存形式から変更します。
これはrootで作業します。
 
     
  # cd /var/qmail
# /var/qmail/bin/maildirmake ~alias/Maildir
# chown -R alias /var/qmail/alias/Maildir
 
     
  続いて、各ユーザの格納用のディレクトリを作成します。
これはrootではなく、それぞれのユーザーで作業します。
 
     
  # /var/qmail/bin/maildirmake $HOME/Maildir
# echo ./Maildir/ > ~/.qmail
 
     
  qmailを再起動します。
ここまでで、再度配送が行われているかを確認します。
それぞれ作成した ./Maildirの中のnewフォルダにファイルが作成されていればOKです。
 


おまけ

コマンドの日本語マニュアルなどはここから! http://www.jp.qmail.org/q103/


戻る

 

 Last Update 2001/12/20

推奨ブラウザは Internet Explorer 4.5 以上および Netscape Navigator 4.5以上です。
スタイルシートとJavaScriptを有効にして、800×600以上の解像度でご覧ください。
webmaster@kwr.no-ip.com