 |
 |
| |
■ノート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ヘッダにドメイン名が省略された場合、補完されるドメイン名として使用されるためです。 |
| |
|
| |
me
には自サーバのFQDNを設定します。ここでは自マシンのFQDNとします。 |
| |
|
| |
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を起動します。 |
| |
|
| |
ただし、このままでは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/
|
 |
|