どんとこい!PC情報

RedHat(サーバインストール)

 

qmailとメールサーバ

qmail1.03インストール

更新日:2005年11月09日
インストール準備
ソースファイルの準備

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

  • netqmail-1.05.tar.gz
    ※ダウンロード先:http://qmail.org/netqmail/

  • qmail-date-localtime.patch ※ヘッダー日付のローカル化
    ※ダウンロード先:http://mirror.averse.net/pub/FreeBSD/ports/local-distfiles/sada/
  • qmail-103.patch ※DNSオーバーパケット対応化
    ※ダウンロード先:http://www.ckdhr.com/ckd/qmail-103.patch
  • big-todo.103.patch ※高速MTA化(queue/todo/の階層化)
    ※ダウンロード先:http://www9.jp.qmail.org/top.html
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"以下にインストールされる。

/lib/libc.so.6: could not read symbols: Bad value
collect2: ld はステータス 1 で終了しました
make: *** [checkpassword] エラー 1

が発生した場合には、error.hの修正を行う。

extern int errno;
#include  <- 追加

環境設定

tcpserverの設定で説明する。

コメントの投稿


画像の中に見える文字を入力してください。

トラックバックURL

http://www.isl.ne.jp/cgi-bin/mt/mt-tb.cgi/1239

サイト内検索

twitterTwitter

最新ブログ記事

2014年05月07日

BeagleBoardを使ってみる

BaegleBoardでLinuxをブートする

2011年10月12日

WindowsXPの見た目をWindows7風に変更

カレンダー表示をカスタマイズする

2011年09月14日

WindowsXPの見た目をWindows7風に変更

ウィンドウを半透明化する

2011年09月14日

WindowsXPの見た目をWindows7風に変更

Windows7風にカスタマイズ

2011年05月11日

WindowsXPの見た目をWindows7風に変更

使用ソフト概要説明

アクセスランキング

人気のコンテンツをご紹介!

1位

どんとこいPC情報

CD/DVDの仕組み CD編

3位

どんとこいPC情報

CD/DVDの仕組み DVD

4位

どんとこいPC情報

CD/DVDの仕組み DVD±R

ISL 情報戦略研究所

pagetopこのページの先頭へ戻る