qmail,qmail-vidaのインストール方法や各種情報を公開

HOME


■初級者用メールサーバー構築法

1,qmail サーバー
2,qmail-vida を使用しての仮想ドメイン、仮想ユーザーを扱う
3,smtp認証で送信ホストを制限
4,Maildir 形式で受信
<ドメイン・ユーザーなどの前提>

ドメイン・・・noiri.net   所有ユーザー・・・pop

仮想ドメイン・・・hoge.com  所有ユーザー・・・vpop

作業フォルダ・・・/usr/local/src/

<インストールの前準備>

以下のデータを集めてくる

★プログラム本体
qmail-1.03.tar.gz
qmail-vida-0.53.tar.gz
checkpassword-0.90.tar.gz
ucspi-tcp-0.88.tar.gz

★各種パッチ
qmail-date-localtime.patch
qmail-glibc.patch
ucspi-tcp-glibc.patch
checkpassword-glibc.patch

上記ファイルを全て、/usr/local/src/以下に保存

ここまででやっと準備完了。いよいよインストール。。

<インストール>

1,まずはグループとユーザー作成(この通りに作成するべきです。。)


# groupadd vida
# useradd -g vida pop
# useradd -g vida -s /bin/false authdb
# useradd -g vida -s /bin/false qmailu
# groupadd nofiles
# 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
# useradd -g nofiles -d /var/qmail/alias -s /bin/false alias
# 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

 

2,プログラムの解凍します


# cd /usr/local/src
# tar xvfz qmail-vida-0.53.tar.gz
# tar xvfz qmail-1.03.tar.gz
# tar xvfz checkpassword-0.90.tar.gz
# tar xvfz ucspi-tcp-0.88.tar.gz

 

3,qmail-vida のパッチ当てます


# cd qmail-vida-0.53
# make patch
# make copy

※これだけで良いです。

 

4,qmail へローカルタイム用のパッチ当てます


# cd ../qmail-1.03
# patch -s -p1 < ../qmail-date-localtime.patch

 

5,qmailをこのままmakeするとRedHat9.0の場合はエラーが発生します。
 ここでも事前にパッチを当てます。以下のようなエラーです。

-------------------------------
<省略>
auto-str.c: 関数 `main' 内:
auto-str.c:17: 警告: `main' の戻り値の型が `int' ではありません
./load auto-str substdio.a error.a str.a
substdio.a(substdo.o)(.text+0x43): In function `allwrite':
: undefined reference to `errno'
collect2: ld はステータス 1 で終了しました
make: *** [auto-str] エラー 1
-------------------------------


# patch -s < ../qmail-glibc.patch
# make
# make man
# make setup check

 

6,qmailコントロール用の各種設定ファイルを作成


# ./config-fast noiri.net

※ここで noiri.net を指定します。すでに自前のDNSサーバーを立てているようでしたらFQDNの設定は必要ないです。これを実行すると、以下のディレクトリに下記ファイルが作成されます。

/var/qmail/controls/
me
defaultdomain
plusdomain
locals
rcpthosts

 

7,checkpassword-0.90のインストール


# cd ../checkpassword-0.90
# patch -s < ../checkpassword-glibc.patch
# make
# make setup check

※2行目のパッチ当てはRedHat9.0特有のmake時エラーを避けるためのものです。

 

8,tcpserver のインストール

tcpserverはucspi-tcpに含まれています。


# cd ../ucspi-tcp-0.88
# patch -s < ../ucspi-tcp-glibc.patch
# make
# make setup check

 

9,qmail-vida のインストール


# cd ../qmail-vida-0.53/src/vida/

※やはりここでもmake時のエラーが発生しますので次の流れで修正します。


# vi error.h

上から4行目の extern int errno

を、

#include <errno.h> に変更

以下、SAMPLEです。


#ifndef ERROR_H
#define ERROR_H

#include <errno.h>       ##←この行をこのように変更

extern int error_intr;
extern int error_nomem;
extern int error_noent;
extern int error_txtbsy;

上書き保存してmake です。


# make
# make setup check

 

10,authdb の作成(認証時のデータベース)です


# /var/qmail/bin/vida-pwdbinit

 

11,smtp認証せずに配信できるホストファイルを作成します


# vi /var/qmail/control/tcprules.txt

以下、SAMPLEです。


127.0.0.1:allow,RELAYCLIENT=""
192.168.1.:allow,RELAYCLIENT=""

新規保存して作成完了です。

 

12,上記で作成したファイルをtcpserver が読み込めるようコンパイルします

# cd /var/qmail/control/
# /usr/local/bin/tcprules tcprules.dat tcprules.tmp < tcprules.txt

 

13,起動ファイルの作成です


# vi /etc/rc.d/init.d/qmail

以下、SAMPLEです。メール送信される前にsmtp認証をするように設定されています。
緑文字の箇所だけ注意してください。


#!/bin/sh
#
# qmail This shell script takes care
# of starting and stopping qmail.
#
# chkconfig: 2345 80 30
# description: Starts and stops qmail.

# Source function library.
. /etc/rc.d/init.d/functions

# Source networking configuration.
. /etc/sysconfig/network

# Check that networking is up.
[ ${NETWORKING} = "no" ] && exit 0

#
HOST=noiri.net

# See how we were called.
case "$1" in
start)
echo -n "Starting qmail: "

# Using splogger to send the log through syslog.
exec env - PATH="/var/qmail/bin:$PATH" \
qmail-start ./Maildir/ splogger qmail &

# Start smtpd

exec env - ALLOWPLAIN="0.0.0.0" DOMAINOWNER="" \
/usr/local/bin/tcpserver -vHR -x /var/qmail/control/tcprules.dat 0 smtp \
/var/qmail/bin/qmail-smtpup $HOST \
/var/qmail/bin/checkpassword /var/qmail/bin/qmail-smtpd \
2>&1 | /var/qmail/bin/splogger smtpd 4 &

# Start pop3d

exec env - ALLOWPLAIN="0.0.0.0" DOMAINOWNER="" \
/usr/local/bin/tcpserver -vHR 0 110 \
/var/qmail/bin/qmail-popup $HOST \
/var/qmail/bin/checkpassword /var/qmail/bin/qmail-pop3d Maildir \
2>&1 | /var/qmail/bin/splogger popd 4 &

echo
touch /var/lock/subsys/qmail
;;
stop)
echo -n "Shutting down qmail: "
killproc qmail-send
killproc tcpserver
echo
rm -f /var/lock/subsys/qmail
echo ""
;;
restart)
echo -n "Restarting qmail: "
$0 stop
$0 start
echo "done."
;;
status)
status qmail
;;
flush_queue)
echo -n "Flush mail queue: "
killall -ALRM qmail-send
;;
*)
echo "Usage: qmail {start|stop|restart|status|flush_queue}"
exit 1
esac

exit 0

 

14,起動ファイルに実行権付与


# chmod 755 /etc/rc.d/init.d/qmail

 

15, ./Maildir/ と .qmail  が自動で作成されるように設定します


# /var/qmail/bin/maildirmake /etc/skel/Maildir
# echo "./Maildir/" > /etc/skel/.qmail

 

16,既にユーザーが登録されている場合の ./Maildir/ と .qmail ファイルの作成です

ここでは、hoge ユーザーを例にあげます


# /var/qmail/bin/maildirmake /home/hoge/Maildir
# chown -R hoge:hoge /home/hoge/Maildir/
# echo "./Maildir/" > /home/hoge/.qmail
# chown hoge:hoge /home/hoge/.qmail

 

17,alias の設定をします

ここでは、hoge ユーザー宛てに転送されるようになっています。

.qmail-*** というファイル名をこのディレクトリに設置することで***@noiri.net 宛てのメールはそのファイル内に指定されたアカウント宛てに転送されるようになります。

.qmail ファイルの使用例としては他にも二通りありますがこの説明は後述します。


# cd /var/qmail/alias
# echo '&root' > .qmail-postmaster
# echo '&root' > .qmail-mailer-daemon
# echo '&root' > .qmail-www-admin
# echo '&root' > .qmail-webmaster
# echo '&root' > .qmail-admin
# echo '&root' > .qmail-info
# echo '&hoge' > .qmail-root

※たとえば、.qmail-postmaster 宛て(postmaster@noiri.net)のメールは、&root になっていますので、root@noiri.net 宛てに転送されます。さらに、.qmail-root ファイルが存在するのでhoge@noiri.net へ最終的に転送される仕組みになっています。

ここに記されているアカウントは全て、hoge@noiri.net 宛てに届くということです。

 

18,sendmail をKILLします


# killall -HUP sendmail
# /usr/sbin/sendmail -q
# killall sendmail

 

19,その後用が無くなったsendmailの名前を変更してsやらxを削る


# chmod 0 /usr/sbin/sendmail
# mv /usr/sbin/sendmail /usr/sbin/sendmail.bak

 

20,sendmailの代わりにqmailが呼び出されるようにリンクを張る


# ln -s /var/qmail/bin/sendmail /usr/sbin/sendmail

 

ここまででとりあえずqmail他のインストールは完了です。
お疲れ様でした。。。

早速、起動してみたいと思います。

次へ

国際電話カードの激安サイトなら楽楽ショップ / SEO対策(検索エンジン対策)ならファーストアクセス / ネットのお得なショッピング紹介(マル9) / 内田樹を読む / 司馬遼太郎を読む / 恩田陸を読む / アルバイトJapan! / 中古 マンション 東京 / 新築 マンション 大阪 / 中古 一戸建て 名古屋 / 新築 一戸建て 福岡 / 土地 札幌 / ウェディング / 事務求人 / アルバイト求人 / パソコン求人 / 人材派遣求人 / あだち充作品リンク集 / 大相撲ファン / THE BEATLES FAN! / 楽天お買い物記録 / キャッシングの比較 / 比較サイト集 / 節税 / 東京 レストラン / 鍼灸 マッサージ / kawama.jp / shoulder.jp / キャッシング比較サイト / 海外ドラマDVD / 韓流ドラマDVD / キャッシング徹底比較 / 酸素、酸素発生器「ダイエットナビ」 / 口臭、体臭 / 制汗、消臭 / 痩身 / ボディケア / ボディソープ / 手荒れ、肌荒れ / ダイエット / 腰の痛み / 膝の痛み / 肩の痛み / 背中の痛み / ダイエットサプリ / 口臭、体臭、加齢臭 / 体臭、口臭 / 偏食、アトピー / 便秘 / 腰痛、リウマチ、関節炎 / 外国人研修生 / アルバイト / 中古マンション / 内祝い / フコイダン、fucoidan / フリーダイヤル転送 / もろみ黒酢 / ラパルレ / イサゴール / やずや 千年ケフィア / 黒にんにく / ヴァン・ベール / マカ 妊娠 / 霊芝 / 黄土パック / プラチナローラー / 在宅ワーク 求人 / 医学 求人情報 / 求人情報 比較 / コエンザイム / カルニチン / ターボセル / リポ酸 / ダイエット用品 / 顔 ダイエット / ダイエット 足 / お腹 ダイエット / ダイエット ミスパリ / FX 口座開設 / リフレクソロジスト / アロマテラピスト / 介護 予防 運動 指導 員 / 介護 事務 / 福祉 住 環境 コーディネータ / 調剤 報酬 請求 事務 / ガイド ヘルパー / 福祉 用具 専門 相談 員 / 手話 通訳 士 / カラー セラピスト / 心理 カウンセラー / 音楽 療法 士 / 整体 師 / ケア マネージャー / 言語 聴覚 士 / 義肢 装具 士 / 丸山伸也 公式ブログ /
SEOツミコ。ハク。コ・ィ・・ク・ツミコ。ヒ、ハ、鬣ユ・。。シ・ケ・ネ・「・ッ・サ・ケ / クスュ。「ツホスュ / タゥエタ。「セテスュ / チ鯀ネ / ・ワ・ヌ・」・ア・「 / ・ワ・ヌ・」・ス。シ・ラ / シケモ、。「ネゥケモ、 / ・タ・、・ィ・テ・ネ / ケ、ホトヒ、゚ / ノィ、ホトヒ、゚ / クェ、ホトヒ、゚ / ヌリテ讀ホトヒ、゚ / ・タ・、・ィ・テ・ネ・オ・ラ・ / クスュ。「ツホスュ。「イテホスュ / ・ヲ・ァ・ヌ・」・・ー / ツホスュ。「クスュ / ハミソゥ。「・「・ネ・ヤ。シ / ハリネ / ケトヒ。「・・ヲ・゙・チ。「エリタ盂 / ウーケソヘクヲス、タク / ・「・・ミ・、・ネ / テ貂ナ・゙・・キ・逾 / ニ篆ヒ、、 / ・゚。シ・マ。シトフソョ / 、筅、゚ケソン / ・鬣ム・・ / ・、・オ・エ。シ・ / ・ア・ユ・」・「 / ケ、ヒ、、ヒ、ッ / ・・。・。ヲ・ル。シ・ / ・゙・ォ。。ヌ・ソア / ホシヌ / イォナレ・ム・テ・ッ / イスセムノハ。。・鬣・ュ・・ー / ・ラ・鬣チ・ハ・。シ・鬘シ / コ゚ツ・。シ・ッ。。オ眩ヘ / ー蟲リ。。オ眩ヘセハ / オ眩ヘセハ。。ネ豕モ / ・・ユ・・ッ・ス・・ク・ケ・ネ / ・「・・゙・ニ・鬣ヤ・ケ・ネ / イク ヘスヒノ アソニー サリニウ ー / イク サフウ / ハ。サ スサ エトカュ ・ウ。シ・ヌ・」・ヘ。シ・ソ / トエゴ ハスキ タチオ サフウ / ・ャ・、・ノ ・リ・・ム。シ / ハ。サ ヘムカ タフ チテフ ー / シマテ トフフ サホ / ・ォ・鬘シ・サ・鬣ヤ・ケ・ネ / ソエヘ ・ォ・ヲ・・サ・鬘シ / イサウレ ホナヒ。 サホ / ターツホ サユ / ・ア・「 ・゙・ヘ。シ・ク・罍シ / クタク トーウミ サホ / オチサ チカ サホ / エンサウソュフ クシー・ヨ・・ー