ほぷしぃ

RedHatサーバインストール

Linux インストールmemo /  Apacheとmod_sslを使用してのSSL対応 /  JDKのインストール /  Tomcatのインストール /  PostgreSQLとANTのインストール /  qmailとメールサーバ /  tcpserverのインストール方法 /  RedHatについてのTips /  tarコマンドの使い方 /  一枚のNICに複数のIPを割り当てる方法 /  Linuxでのハードディスクの増設法

qmail1.03インストール

更新日:2005年11月09日

インストール準備

ソースファイルの準備

qmailで必要なファイルを準備する。今回パッチファイルが同封されているnetqmailを使用する。

qmail使用ディレクトリー作成

qmailがインストールされるディレクトリーを作成する。

# mkdir /var/qmail

qmail使用グループ&ユーザ作成

qmailでを管理する、グループ&ユーザを作成する。

# groupadd nofiles
# useradd -g nofiles -d /var/qmail/alias -s /bin/false alias
# useradd -g nofiles -d /var/qmail -s /bin/false qmaild
# useradd -g nofiles -d /var/qmail -s /bin/false qmaill
# useradd -g nofiles -d /var/qmail -s /bin/false qmailp
# groupadd qmail
# useradd -g qmail -d /var/qmail -s /bin/false qmailq
# useradd -g qmail -d /var/qmail -s /bin/false qmailr
# useradd -g qmail -d /var/qmail -s /bin/false qmails

コンパイル環境の確認(Solarisの場合のみ)

ccが/usr/ucb/ccを参照するためコンパイルできない。そのため標準でインストールされるgccを使用できるようにする。

# mv /usr/ucb/cc /usr/ucb/cc.org
# ln -s /opt/sfw/bin/gcc /usr/ucb/cc

後、コンパイル環境のPATH2つ(/usr/ucb、/usr/ccs/bin)が設定されているか確認し、設定されていな場合PATHを設定する。

# PATH=$PATH:/usr/ccs/bin:/usr/ucb
# export PATH

インストール qmail

ファイルの展開

ダウンロードした各種ファイルを作業ディレクトリにコピーし展開する。
例:/usr/local/SOURCES

$ cd /usr/local/SOURCES
$ tar zxvf netqmail-1.05.tar.gz

パッチ処理

展開したディレクトリに移り、netqmailパッチおよびLocalTime対応のパッチを当てる。

$ cd netqmail-1.05
$ ./collate.sh
$ cd netqmail-1.05
$ patch -p1 < ../../qmail-date-localtime.patch
$ patch -p1 < ../../qmail-103.patch
$ patch -p1 < ../../big-todo.103.patch

コンパイル

展開したディレクトリでコンパイルする。

# make setup check
※”警告: `main' の戻り値の型が `int' ではありません”が出力されるが無視する。

コンパイルが成功した場合、各ファイルは/ver/qmail以下にインストールされる。

環境設定

メールサーバを環境に合う設定ファイルを自動作成する。

本サーバがDNSに設定がされている場合
# ./config

本サーバがDNSに設定がされていない場合
# ./config-fast xxxx.co.jp
Your fully qualified host name is xxxx.co.jp
Putting sindbad.ne.jp into control/me...
Putting ne.jp into control/defaultdomain...
Putting ne.jp into control/plusdomain...
Putting sindbad.ne.jp into control/locals...
Putting sindbad.ne.jp into control/rcpthosts...
Now qmail will refuse to accept SMTP messages except to sindbad.ne.jp.
Make sure to change rcpthosts if you add hosts to locals or virtualdomains!

※尚、今回ドメイン名でのメールアカウントのため、ホスト名は記述しない。
qmailの設定ファイルは/var/qmail/control以下に保存されるようになっており、
主な設定ファイルは以下のようになっています。
 defaultdomain : toなどにドメイン名が省略された場合、補完されるドメイン名
 locals : 受信するホスト名・ドメイン名(qmail-sendが利用)
 rcpthosts : 受信するホスト名・ドメイン名(qmail-smtpdが利用)
 me : サーバのホスト名

qmail用の管理用に最低限のエイリアスを作成する。

# cd /var/qmail/alias
# touch .qmail-postmaster .qmail-mailer-daemon .qmail-root
# chmod 644 .qmail*
# /var/qmail/bin/maildirmake Maildir

メールアカウントを追加した際に自動的にディレクトリ"~Maildir"が作成できるように、"/etc/skel"に"Maildir"を作成する。

# cd /etc/skel
# /var/qmail/bin/maildirmake Maildir

自動起動スクリプトを新規に作成する。
尚、今回はMaildirでの保存形式にする。
例:Linuxでbash対応
ファイル:/etc/init.d/qmaild

#!/bin/bash
# Using splogger to send the log through syslog.
# Using qmail-local to deliver messages to ~/Mailbox by default.
# Source function library.
. /etc/init.d/functions
[ -f /var/qmail/bin/qmail-start ] || exit 0
PATH=/var/qmail/bin:$PATH
RETVAL=0
start() {
  echo -n $"Start Up qmail: "
  qmail-start ./Maildir/ splogger qmail &
  return $RETVAL
}
stop() {
  echo -n $"Shutting down qmail: "
  killproc qmail-send
  return $RETVAL
}
restart() {
  stop
  start
}
case "$1" in
 start)
 start
 ;;
 stop)
 stop
 ;;
 restart)
 restart
 ;;
 *)
 echo $"Usage: $0 {start|stop|restart}"
 exit 1
esac
exit $?

自動起動スクリプトにリンクする。

# cd /etc/rc.d/rc0.d
# ln -s ../init.d/qmaild K88qmail
# cd /etc/rc.d/rc1.d
# ln -s ../init.d/qmaild K88qmail
# cd /etc/rc.d/rc2.d
# ln -s ../init.d/qmaild S88qmail
# cd /etc/rc.d/rc3.d
# ln -s ../init.d/qmaild S88qmail

sendmailがインストールされている場合、sendmailのプロセス停止と起動 起動スクリプトを編集する。 と、ともにオリジナルのsendmailをqmailのsendmailと入替える。

# mv /usr/sbin/sendmail /usr/sbin/sendmail.org
# ln -s /var/qmail/bin/sendmail /usr/sbin/sendmail

qmailのpopインストール

ソースファイルの準備

popで必要なファイルを準備する。
checkpassword-0.90.tar.gz

ファイルの展開

ダウンロードした各種ファイルを作業ディレクトリにコピーし展開する。
例./usr/local/SOURCES

$ cd /usr/local/SOURCES
$ tar zxvf checkpassword-0.90.tar.gz

コンパイル

展開したディレクトリでコンパイルする。

$ cd checkpassword-0.90
# make setup check

コンパイルが成功した場合、"checkpassword"ファイルは"/bin"以下にインストールされる。

環境設定

tcpserverの設定で説明する。

次のページへ ページのトップへ 次のページへ