Vine Linux インストール & 設定メモ
■ VINE LINUX インストール & 設定メモ ■
--Vine Linux install & Configuration Memo--
 
 
●トップページ
 
●研究員紹介
●研究所規則
●著作権・免責・リンク
●掲示板
●アクセス解析
●お問い合わせ
●更新情報
 
仕事関連

▼お仕事のご依頼

執筆、取材、講演のお問い合わせはこちらからお願いします。

▼広告のご依頼

MM-Labo.com内への広告のご希望はこちらからお願いします。

サーチ


サイト内を検索
WWW全体を検索

Powered By Google

 


qmailのインストール及びその設定(daemontoolsを用いたプロセスの監視)

[daemontoolsのインストール]

daemontoolsは、D.J.Bernstein氏によって作成された各種デーモンの

起動管理及びログ収集を行うツール群です。

/usr/local/src以下に

daemontools-***.tar.gz

がダウンロードされていると思いますので、展開しインストールを行いましょう。

ダウンロードされたファイルが、daemontools-0.70.tar.gzである場合

# cd /usr/local/src

# tar zxvf daemontools-***.tar.gz

# cd daemontools-***

# make

# make setup check

でインストールは完了です。

ダウンロードされたファイルがdaemontools-0.76.tar.gzである場合、

# cd /usr/local/src

# tar zxvf daemontools-***.tar.gz

# cd admin/daemontools-***

# package/install

でインストールは完了です。

[Redhat Linux 9の場合](※必要ない人は読み飛ばしてください)

Redhat Linux 9では、glibcのアップグレードに伴い、そのままではコンパイルできなくなっています。

daemontools-0.76の場合、解凍したdaemontools-***内のsrcディレクトリに移動し、その中にあるerror.hを開き、ファイル先頭の次の部分を表示してください。

/*---

#ifndef ERROR_H

#define ERROR_H

extern int errno;

(以下省略)

---*/

上記ファイル中

extern int errno

の部分のせいでエラーが起きています。

そこで、上記ファイルextern int errno;の部分を次のように書き換えてください

/*---

#ifndef ERROR_H

#define ERROR_H

#include <errno.h>

(以下省略)

---*/

以上の修正が終わったら、daemontools-***ディレクトリに戻り、インストールを行ってください。

以上の作業をすることにより、Redhat Linux9でもインストールが可能になります。

daemontoolsのバージョンが0.70である場合

# ./rts > rts.out

# cmp rts.out rts.exp

でテストを行います。何も出力されなければインストールは成功です。

バージョンが0.76の場合、上記コマンドがないようですので

インストール時に上記コマンドが実行されている気がします。

更に、上記に加えタイムスタンプの確認を行います。

下記コマンドを実行してください。

0.76では、commandというディレクトリに移動すれば下記コマンドは存在するはずです。

出力の左と右で時間が同じであれば問題ありません。

# date | ./tai64n | ./tai64nlocal

# date | sh -c './multilog t e 2>&1' | ./tai64nlocal

0.70では、svscan用にディレクトリを作成する必要があります。

# mkdir /service

# chmod 755 /service

0.76ではインストールの時点で自動作成されるようです。

上記まで作業が進んだらsvscanを起動するための起動スクリプトを作ってみましょう。

まずはLINUXの場合です。

[LINUXの場合]

LINUXの場合には/etc/rc.d/init.dの下にsvscanという起動スクリプトを作りましょう。

(daemontools-0.76の場合、自動的に起動されるので、このファイルを作る必要はありません。)

スクリプトの内容は以下のようにします。

#!/bin/sh # # svscan Start svscan.

# CopyRight: TAKIZAWA Takashi

# chkconfig: 345 99 50

# description: svscan starts and monitors a collection of services.

# see http://cr.yp.to/daemontools.html

# processname: svscan

# pidfile: /var/run/svscan.pid

# service directory: /service

# Source function library.

. /etc/rc.d/init.d/functions

export PATH="/usr/local/bin:$PATH"

SVDIR=/service

case "$1" in

start)

echo -n "Starting svscan: "

exec env - PATH="/usr/local/bin:/usr/bin:/bin" SVDIR="$SVDIR" \

csh -cf 'svscan $SVDIR &; echo $! > /var/run/svscan.pid'

RETVAL=$? # Sorry, I don't catch exit code of svscan.

echo

[ $RETVAL -eq 0 ] && touch /var/lock/subsys/svscan

;;

stop)

echo -n "Stopping svscan: "

killproc svscan

RETVAL=$?

svc -dx $SVDIR/*

svc -dx $SVDIR/*/log

echo

[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/svscan

;;

status)

status svscan

RETVAL=$?

;;

restart|reload)

$0 stop

$0 start

RETVAL=$?

;;

*)

echo "Usage: $0 {start|stop|status|restart|reload}"

exit 1

esac

exit $RETVAL

上記のようにすることで、

/etc/rc.d/init.d/svscan start:起動

/etc/rc.d/init.d/svscan stop:停止

/etc/rc.d/init.d/svscan restart:再起動

などが可能になります。

[FreeBSDの場合]

FreeBSDでは/etc/rc.d/init.dのようなフォルダは存在しないようです。

daemontools HOW-TO:

http://www.emaillab.org/djb/daemontools/daemontools-howto.html

daemontoolsに関するマニュアルの邦訳である

http://www.emaillab.org/djb/tools/daemontools/svscan.html#boot

によれば、BSD形式の起動スクリプトは

BSD システム上では、

env - PATH=/usr/local/bin:/usr/sbin:/usr/bin:/bin csh -cf 'svscan /service &'

を /etc/rc.local に加え、リブートしてください。

だそうですので、/etc/rc.localに上記を追加しましょう。

なお、daemontools-0.76では、インストール時点で

csh -cf '/command/svscanboot &'

のような記述が、rc.localに追加されるようです。

さて、上記作業が終わったらsvscanを起動してみましょう。

[LINUXの場合]

/etc/rc.d/init.d/svscan start

でsvscanが起動されるはずです。

[FreeBSDの場合]

0.70の場合、

# env - PATH=/usr/local/bin:/usr/sbin:/usr/bin:/bin csh -cf 'svscan /service &

で起動がされると思います。(これはちょっと不明です。)

0.76の場合、

# csh -cf '/command/svscanboot &'

で起動が行われるようです。

# ps aux | grep svscan

とすると

root 62102 0.0 0.3 892 396 p0 S 5:55PM 0:00.01 svscan /service

のようにsvscanが/serviceを監視していることが分かるでしょう。

それでは、smtpやpopをこれによって監視することにしてみましょう。

[共通の設定]

まず、ログ管理ユーザとして「qmaillog」,「smtplog」,「pop3log」を追加することにしましょう。

[LINUX系OSの場合]

# useradd -g qmail -d /var/qmail -s /bin/false qmaillog

# useradd -g qmail -d /var/qmail -s /bin/false smtplog

# useradd -g qmail -d /var/qmail -s /bin/false pop3log

[FreeBSDの場合]

# pw useradd qmaillog -g qmail -d /var/qmail -s /nonexistent

# pw useradd smtplog -g qmail -d /var/qmail -s /nonexistent

# pw useradd pop3log-g qmail -d /var/qmail -s /nonexistent

一応、上記では

qmaillog:「qmail用」

smtplog:「tcpserverによって起動する qmail-smtpd用」

pop3log:「tcpserverによって起動するpop3用」

としました。

qmailを自動起動するために、まず設定用ディレクトリを作成します。

# mkdir /var/qmail/services

# mkdir /var/qmail/services/qmail

# chmod +t /var/qmail/services/qmail

# mkdir /var/qmail/services/qmail/log

$ chown qmaillog:qmail /var/qmail/services/qmail/log

ログをとるためには、設定ディレクトリにスティッキービットが

たっていないといけないようです。

daemontoolsによって起動されるのは、/serviceの中にあるrunと

いう名前のスクリプトです。

そこで、設定ディレクトリ直下(/var/qmail/services/qmail/run)には

サービスの起動ファイル、

ログディレクトリ直下(/var/qmail/services/qmail/log/run)には

ログの起動ファイルをおくことにします。

まず、/var/qmail/services/qmailの下にrunという起動スクリプトを作りましょう。

スクリプトの中身は次のようにします。

ここで、コピーする時には最後に空白などをあけないようにしましょう。

==> /var/qmail/services/qmail/run <==

#!/bin/sh

exec env - PATH="/var/qmail/bin:$PATH" \

qmail-start ./Maildir/ splogger qmail

ログはmultilogというコマンドで取ります。

==> /var/qmail/services/qmail/log/run <==

#!/bin/sh

exec /usr/bin/env - PATH="/usr/local/bin" \

setuidgid qmaillog multilog t ./main

setuidgidコマンド(daemontools)によって、ログユーザーを qmaillog にして、

multilogでログを ./main ディレクトリ以下に書き込むという設定になります。

上記二つのファイルをqmaillogの所有にし、chmodで実行権限を

700にしておきましょう。

# chown qmaillog:qmail /var/qmail/services/qmail/run

# chmod 700 /var/qmail/services/qmail/run

# chown qmaillog:qmail /var/qmail/services/qmail/log/run

# chmod 700 /var/qmail/services/qmail/log/run

各種デーモンは、svscanのチェックディレクトリである /service にリンクを

張ることで監視下におけるようになります。

# ln -s /var/qmail/services/qmail /service/qmail

実際に監視を開始する時は、

# svc -u /service/qmail

などとすれば監視が始まるでしょう。

[daemontoolsによるsmtpの起動]

基本的にはqmailのときと同じです。

設定ディレクトリは /var/qmail/services/smtpd、ログユーザーはsmtplog としています。

# mkdir /var/qmail/services/smtpd

# chmod +t /var/qmail/services/smtpd

# mkdir /var/qmail/services/smtpd/log

# chown smtplog:qmail /var/qmail/services/smtpd/log

/var/qmail/services/smtpd/runとして起動スクリプトを書きましょう。

==> /var/qmail/services/smtpd/run <==

#!/bin/sh

exec /usr/local/bin/tcpserver -v -u qmaildのUID -g nofilesのGID \

-x /var/qmail/control/tcprules.dat \

0 smtp /var/qmail/bin/qmail-smtpd 2>&1

ログはやはりmultilogで取ります。

==> /var/qmail/services/smtpd/log/run <==

#!/bin/sh

exec /usr/bin/env - PATH="/usr/local/bin" \

setuidgid smtplog multilog t ./main

上記二つのファイルをsmtplogの所有にし、chmodで実行権限を

700にしておきましょう。

# chown smtplog:qmail /var/qmail/services/smtpd/run

# chmod 700 /var/qmail/services/smtpd/run

# chown smtplog:qmail /var/qmail/services/smtpd/log/run

# chmod 700 /var/qmail/services/smtpd/log/run

各種デーモンは、svscanのチェックディレクトリである /service にリンクを

張ることで監視下におけるようになります。

# ln -s /var/qmail/services/smtpd /service/smtpd

実際に監視を開始する時は、

# svc -u /service/smtpd

などとすれば監視が始まるでしょう。

[daemontoolsによるpopの起動]

やはり基本的にはqmailのときと同じです。

設定ディレクトリは /var/qmail/services/pop3、ログユーザーはpop3log としています。

# mkdir /var/qmail/services/pop3

# chmod +t /var/qmail/services/pop3

# mkdir /var/qmail/services/pop3/log

# chown pop3log:qmail /var/qmail/services/pop3/log

==> /var/qmail/services/pop3/run <==

#!/bin/sh

exec /usr/local/bin/tcpserver -v 0 pop3 \

/var/qmail/bin/qmail-popup \

自ホストのFQDN /bin/check_apop_pop \

/var/qmail/bin/qmail-pop3d Maildir 2>&1

ログはやはりmultilogで取ります。

==> /var/qmail/services/pop3/log/run <==

#!/bin/sh

exec /usr/bin/env - PATH="/usr/local/bin" \

setuidgid pop3log multilog t ./main

上記二つのファイルをpop3logの所有にし、chmodで実行権限を

700にしておきましょう。

# chown pop3log:qmail /var/qmail/services/pop3/run

# chmod 700 /var/qmail/services/pop3/run

# chown pop3log:qmail /var/qmail/services/pop3/log/run

# chmod 700 /var/qmail/services/pop3/log/run

各種デーモンは、svscanのチェックディレクトリである /service にリンクを

張ることで監視下におけるようになります。

# ln -s /var/qmail/services/pop3 /service/pop3

実際に監視を開始する時は、

# svc -u /service/pop3

などとすれば監視が始まるでしょう。

5秒以内でにサービスがスタートされるので、psなどで確認しましょう。

以下のようなコマンドでも確認できます。

daemontoolsのマニュアルの邦訳に各コマンドの使用法が書いてあります。

http://www.emaillab.org/djb/tools/daemontools/top.html

# svstat /service/qmail

/service/qmail: up (pid 624) 1215 seconds

# svstat /service/qmail/log

/service/qmail/log: up (pid 629) 1218 seconds

# svstat /service/smtpd

/service/smtpd: up (pid 613) 1223 seconds

# svstat /service/smtpd/log

/service/smtpd/log: up (pid 632) 1225 seconds

# svstat /service/pop3

/service/pop3: up (pid 633) 1232 seconds

# svstat /service/pop3/log

/service/pop3/log: up (pid 636) 1234 seconds

きちんと設定していない場合、0 secondsから1 secondsでの再起動を繰り返します。

以上で設定は終了です。外部からメールなどを送ってテストしてみましょう。

qmail メールサーバの構築 Expert UNIX Series Blackbook

qmail メールサーバの構築Expert UNIX Series

↑ご購入は、こちらからどうぞ。

内容(「BOOK」データベースより) qmailのインストールから、設定、運用まで、FreeBSDとLinuxの場合について、あますところなく解説。付属CD‐ROMにはFreeBSD、4.4‐RELEASEとqmailソースを収録。もっとも詳しいqmailの解説書。

内容(「MARC」データベースより) qmailのインストールから、設定、運用まで、FreeBSDとLinuxの場合について解説。付属CD-ROMにはFreeBSD 4.4-Releaseとqmailソースを収録。とても詳しい解説書。 (C) Amazon.co.jp

 

SendmailとqmailによるLinuxメールサーバー構築ガイド

SendmailとqmailによるLinuxメールサーバー構築ガイド

↑ご購入は、こちらからどうぞ。

内容(「BOOK」データベースより) 本書は主に、LinuxなどのUNIX系OSを使用してメールサーバー、つまりはインターネットメールシステムを構築しようとしているユーザーを対象としている。まずUNIX系OSにおいて一般的なメール転送エージェント、すなわちMTAであるsendmailについて解説している。後半では、最近注目を集めているqmailについて解説している。

内容(「MARC」データベースより) メール転送エージェントのsendmailや、最近注目を集めているqmailを用いて、メールサーバーのシステム構築から運用管理、セキュリティ対策までを自分で作るためのマニュアル。 (C) Amazon.co.jp

 

qmailで作る快適メールサーバー qmailのインストールから活用までを徹底解説

qmailで作る快適メールサーバー―qmailのインストールから活用までを徹底解説

↑ご購入は、こちらからどうぞ。

内容(「BOOK」データベースより) 安全・強固で使いやすいメールサーバー"qmail"の、はじめての完全解説書。次世代標準となったメールサーバーをはじめて完全解説。「Postfix」の解説を同時収録。

内容(「MARC」データベースより) ポストsendmail ナンバー1は、qmailで決まり! 安全・強固で使いやすい、次世代標準となったメールサーバーqmailのはじめての完全解説書。

(C) Amazon.co.jp

 

10日でおぼえるRed Hat Linux9 サーバ構築・管理入門教室【Red Hat LinuxインストールCD-ROM3枚付き】

↑ご購入は、こちらからどうぞ。

10日でおぼえるRed Hat Linux9 サーバ構築・管理入門教室 書評

出版社/著者からの内容紹介
TCP/IP理論を学びながらRed Hat Linuxで実践!

安全なサーバ運営のためには、OSの知識に加えて、TCP/IPの深い理解が不可欠。本書 は、これからサーバ管理をやろうという人が、ネットワーク理論も実際の管理もいっ ぺんにできるようになるサーバ管理入門書。通常概念的にしか理解されていな いTCP/IPやネットワーク、OSの概念をRed Hat Linuxを用いることで、より具体的な 操作として理解できるのが特徴。


 

apache辞典

↑ご購入は、こちらからどうぞ。

apache辞典 書評

わかりやすい3部構成!サーバー管理者必須の1冊!本書は、Webサーバーの定番、「Apache」を活用するためのリファレンスです。初心者でも安心して使える「基礎用語リファレンス」、用途に沿って使える「目的引きリファレンス」、豊富で複雑なディレクティブも網羅した「ディレクティブリファレンス」の3部構成で、基礎から応用まであらゆるApacheユーザーのニーズに応えます!1.3系/2.0系、UNIX/Windows対応。


 

UNIXコマンドリファレンスユーザー便利帳―UNIXコマンド徹底解説 Quick master (05)

↑ご購入は、こちらからどうぞ。

UNIXコマンドリファレンスユーザー便利帳―UNIXコマンド徹底解説 Quick master (05) 書評

 

サーチ:
Amazon.co.jpアソシエイト

DELLコンピュータ製品一覧

サイトにバナーを張るだけでできるまったく新しいチャリティー参加のカタチ


Vine Linux インストール & 設定 メモ Vine Linux 2.5 On Thinkpad X20
--Vine Linux install & Configuration Memo--


■トップページ ■研究員紹介 ■MM総合研究所規則 ■ 著作権・免責・リンクについて ■アクセス解析 ■お問い合わせ


Valid HTML 4.01!  Valid CSS!  MM-labo

Copyright(C) 2002 - Mitsuharu Matsumoto All rights reserved.