自分で書いといてなんだけど。マオです。

メール鯖のインストールを記録したけど、途中から呪文書いてるような気分になってきたデスヨ。
次回の参考になるとは言え、いや参考にするような事態に遭遇したくないし、遭遇した時は全ての鯖が巻き込まれるから見る事出来ないし><
そうだよ、見る事ができないじゃん!
私、ナニヤッテルノデスカー(笑)
こりゃ、本気で待機鯖を考えないとダメだな。
設定ファイルのバックアップだけでは対処できないという事か。
これは困っちゃいましたね。
HI380056
HDDが逝ってしまわれた玄箱があるけど、待機とはいえWeb鯖(データベースも入れなきゃいけないし)はきつそうだなぁ。

しばらくはパソコンにお金かけたくないから、家にある物で何とかしたいな。
もう来月の請求明細見るのが怖いヨ><

カテゴリ/タグ:退屈な日常 /    
コメント (0)

鯖が吹き飛んでqmailを入れ直しになったので、その時の記録。
使用OSはDebianLinux(lenny)。

今回は外部向けなので、踏み台にされたりしないように注意しながら構築していく。
とは言っても、qmailは基本的にはセキュリティが固めの設定がしてある。
DebianLinuxではapt-getである程度パッチの当たったソースコード(古い情報だけど、当たってるパッチ一覧)になっているが、一つ当たっていないパッチがある。
ユーザ名に記号が使われた時の対応パッチだ。
デフォルトでは何も文句を言わずに対象のメールを受け取ってしまう(さすがにドメインは設定したメールしか受け取らないが)。
そこらへんのパッチも当てつつ、頑張るとしよう。

# apt-get remove exim4-base
# apt-get install qmail-src ucspi-tcp-src
# build-ucspi-tcp

ここまでは特にデフォルトで問題ないと思う。
exim4-baseの削除はDebianLinuxを新規インストールした直後にqmailを入れる場合は、元に入っているMATを消す必要があるので入れてある。
該当しない環境の人は無視してよい。
では、問題のqmailをビルドする。

# build-qmail

途中のパッチを当てるタイミング(Press ENTER to continue…が出てる所)で、別コンソールからパッチを当てる。
当てたいパッチはqmail-smtpd-relay-reject
ただ、このパッチはパッチを当てる順番により、今のDebian側で付けたパッチの後では一箇所パッチが当たらない部分がある。
そこはパッチファイルとソースファイルとにらめっこして修正しよう。
どうせ一箇所だし、パッチ作っておくのメンドイ(酷)
デフォルトでビルドした場合は解凍されたソースが/tmp/qmail/qmail-1.03に展開されている。
wget等でtmpあたりにパッチを落としておいて以下のコマンド。

# cd /tmp/qmail/qmail-1.03
# patch -s -p1 < ../../qmail-smtpd-relay-reject

その場にqmail-smptd.c.rejという名前でエラーで弾き出された部分のファイルが生成されるので、それを参照してqmail-smptd.cを追加修正しておこう。
一行書くだけだ。
で、元のコンソールに戻ってデフォルトで進んでいけばインストール完了。
まだメール鯖としては不完全なので、止めておこう。

# /etc/init.d/qmail stop

qmailの設定ファイルを弄っていく。
場所は/etc/qmailで、デフォルトでは自分自身の鯖のメールしか受け取らないし、転送すらしてくれない(と思う)。
それぞれのファイルを確認・修正・追加をしていこう。
なお、これらのファイルの書式はドメインごと改行で区切っていく。
設定例はhage.hoge.com(hageがホスト名でhoge.comがドメイン名)として、DNSの設定によりhoge.comでもメールを受けれるようになっている物とする。

me:自分自身のドメイン名

hage.hoge.com

locals:ローカルの物として処理するドメイン名

localhost
hage.hoge.com
hoge.com

rcpthosts:転送を許可する宛先のドメイン名

hage.hoge.com
hoge.com

plusdomain:ドメイン部分に+が付いた時に追加するドメイン名

hoge.com

defaultdomain:ドメインが省略された場合に書き込まれるドメイン名

hoge.com

こんな感じだろう。
rcpthostsがこの中では一番重要なファイル。
これを削除してしまうと、その鯖は赤い絨毯が敷かれたスパムの踏み台。
お上品の欠片も無いスパマーが上って、やりたい放題メールを飛ばされてしまうので注意しよう。
受け取るべきメールのドメイン名のみを書こう。

後、ダブルバウンス対策(Fromを偽られた上にエラーになってFromの部分のアドレスに返って来るメール)もしておく。
どうせ読まないので、そのまま破棄する設定にする。

# touch doublebounceto

qmailはrootでメールを受け取る事は出来ないので、どこかのユーザにメールを転送する必要がある。
メール管理者のメールも一緒も転送する。

# mkdir alias
# echo '&メールアドレスまたはユーザ名' > .qmail-root
# echo '&メールアドレスまたはユーザ名' > .qmail-mailer-daemon
# echo '&メールアドレスまたはユーザ名' > .qmail-postmaster

次に起動スクリプトをいじって、Maildir形式に対応する用にする。
/etc/init.d/qmailの「alias_empty=”./Maildir/”」を有効にして、他のalias_emptyは#でコメントアウトする。

各ユーザのホームディレクトリにメールを受け取る領域を作る。
メールを受け取るユーザになって、自分のホームディレクトリで以下のコマンドを発行。

$ maildirmake Maildir
$ echo './Maildir/' > .qmail

これでメールを受け取る環境を作成完了。
ユーザ新規追加時のディレクトリにも適用するのであれば、管理者で以下のコマンドを発行。

# maildirmake /etc/skel/Maildir
# echo './Maildir/' > /etc/skel/.qmail

このままでの設定によりメールは受け取る事が出来るが、外部に送るメールは許可されていないので配送できない。
鯖が設置されているローカルのIPに関してはメール転送を許可する必要がある。
ローカルIPの範囲を192.168.255.0/24として自分自身127.0.0.1を含めて許可する形で、/etc/tcp.smtpを編集する。

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

これを元に認識できる設定ファイルを生成する。

# tcprules /etc/tcp.smtp.cdb /etc/tcp.smtp.tmp < /etc/tcp.smtp

これでローカルIPである192.168.255.0/24と鯖自身は自由なドメインにメール転送が出来るようになる。ここもスパマーの餌食にならないように注意する設定ですね。

以上で準備完了なので、qmailを起動する。

# /etc/init.d/qmail start

内部や外部からテストメールを送ってみたり、不正中継チェックをしてみたりして動いて安全か確かめましょう。
もしかしたら、起動してもプロセスが落ちるかもしれないのでこの記事も参考にしたら解決するかもしれない。

後はメールクライアントで読む為にpop3関係とかimap関係とか入れると良いだろう。
私はimapでcourier-imapを入れてます。

カテゴリ/タグ:私の記憶領域 /  ,    
コメント (0)

まさかまだ残っていたなんて・・・。マオです。

maocat.jpとmaocat.netの両方のドメインで運営していた訳ですが、今回の鯖統合で丁度良い機会だったので.jpの方を廃止してしまいました。
ずっと前からメニューのお知らせで告知してたし、ほとんど.jpに関する部分を.netに書き換え完了した・・・と思ってたら、まだやってない部分があったのよ><
それはアクセス解析の部分。
外部に公開されてるかなと定期的に覗いていたのに、まったくカウントされないで0人。
これは異常事態と気付き、鯖と格闘開始(まだどの部分が悪いのかとか分からなかった)。

ずっと色々な部分(データベースとか鯖設定とか)を調べてたら、パットンちゃからメールが来てページが見れないとの事。
外部への開放のチェックは各種色々な方法(ポートチェックからソースチェッカーやらを使った)で確認してたので、多分.jpの方にアクセスしていると当たりと付けたので指摘したら、見れるようになったようです。
と言うことは、外部からのアクセスはあるという事だ。
パットンちゃが踏んでも解析の人数が増えてないので、やっぱアクセス解析がおかしいと判断。
ひたすら探してたらありましたよ。
アクセス解析が生成して、それを設置しろと指示されたJavaScriptがmaocat.jpを見ていたというオチ。
ってか、もっとスマートに設計してくれってんだ><
まさか二段構えでアドレス参照するとは思わなかったヨ!(一段目は気付いて修正しておいた)

もう他にどんな罠があるか分かりません。
マジで怖いです。

IPを動的に割り当ててくれる、ステキなシステムです。
ついでにネットマスクとかDNSの場所とかも自動で設定してくれたりと、至れり尽くせりなサービスです。
でも、適当に割り振られちゃうとイヤなので、ネットワークアダプタ固有のMACアドレスを使ってIPを固有に割り当てる設定でいきます。

まずはインストール。

apt-get install dhcp3-server

あれー? 今までdhcp3なんて名前付いてたっけか?
インストールするのも久しぶりだから、すっかり変わってたのかしら・・・。
無事に入ったら設定ファイルの/etc/dhcp3/dhcpd.confを書き換える。
例:ドメイン「maocat.net」 IPアドレス「192.168.255.0/255.255.255.0」 ゲートウェイ「192.168.255.1」 ネームサーバIP「192.168.255.10」

option domain-name "maocat.net";
option domain-name-servers 192.168.255.10;

subnet 192.168.255.0 netmask 255.255.255.0 {
 option routers 192.168.255.1;
 option subnet-mask 255.255.255.0;
 option broadcast-address 192.168.255.255;
 default-lease-time 600;
 max-lease-time 7200;

 host ホスト名 {
   hardware ethernet MACアドレス;
   fixed-address 割り当てるIP;
 }

MACアドレス部分の区切りはコロンを使う(xx:xx:xx:xx:xx:xx)。
割り振るIPを増やす場合はhost部分を増やして設定していけば良い。

追記:2011.04.25
Debianがsqueezeになった時にインストールした所、isc-dhcp-serverになってた。
設定ファイルが/etc/dhcp/dhcpd.confに変更されて、起動スクリプトなんかもisc-dhcp-serverに変わっている。
毎回、名前が変わって面倒なヤツだ、ぷんすか><

カテゴリ/タグ:私の記憶領域 /  ,    
コメント (0)

またもや心臓が止まる勢い。マオです。

部屋の大掃除の為に鯖移動をしたんですが、電源を落として移動した後に立ち上げたら、いつも通りの動きをしてくれましたよ。
またエラーランプが点滅してやがる!><
しかも、私の部屋の鯖の心臓部でもあるネームサーバ兼メールサーバの玄箱。
前も同じようにHDDのエラーで立ち上がらなくなったけど、さすがに限界が見えてきたので一時的にWeb鯖と統合する事にした。
バックアップの賜物で設定関係はちゃんと残っているので、性能が良いWeb鯖君。
あっという間に必要な物をインストール。
設定を移植して起動して(メール鯖のスパム仕分け機能は入れていないが)、何とか通常稼動してくれた。
ちょっと気持ち悪いのでIPアドレスを元の鯖に変更したまでは良かったんだけど、外部からWebにアクセスする事が出来なくなってしまった。
ルータのファイヤーウォール機能を修正しても直らないので途方に暮れてたんだが、ルータの説明書で鯖公開の設定は別の所でやる事が判明。
今では多分外部から見えているはずだ。
いつもの方々、鯖が動いているかメールとか飛ばしたりコメントしてくれると嬉しい(笑)

しかし、やっぱり24時間稼動での玄箱は限界があったようですね。
特にメールでスパム仕分けを行ってたので、これで負荷がかかって熱を上げてたようです。
配送も遅かったし・・・。
これで色々なスピードは上がったけど、今度は一台吹き飛ぶと全ての機能が終了します><
そう考えると、そろそろミラーリングとか待機鯖とか用意する必要があるのかしらねぇ。
ラックマウントのヤツがもっと静かならいいんだけど・・・。

ああ、移植するのが面倒だったんでmaocat.jpは今回で停止しちゃいます。
大体の定期メールはmaocat.netに変更したし、maocat.jpに来るメールはスパムとメアド変更も出来ないようなバカ会社の情報メールのみだからな(S○nyとかスク○ェアエニ○スとかマイ○ロソ○トとか)。
配信システムを変更するなら、引継ぎもまともにやって欲しいものです。

何か安全対策を考えなくては・・・掃除をしながら><