このページでは私が悩んだ後にどーにか解決できたこと=My Tipsを紹介していきます。
[サーバー編] [クライアント編&その他編] [MovableType編] [IPnuts編] [MythTV編] [ダイナミックDNS編] [Debian Sarge編]
★サーバー編
1.PDを使いたい&カーネルの再構築 2.sambaを使いたい 3.時計を常に正確にあわせておきたい 4.毎日バックアップを取りたい 5.バーチャルホストの設定をする 6.APTを使用する 7.X無しの環境でカーネルの再構築をする 8.CGIが動かない 9.メールの不正中継対策 10.スレーブDNS 11.HDD残量が少なくなってきたらメールで教えてくれるスクリプト 12.アクセス解析ソフトを使う 13.HDDを追加したい L1.不思議なルーターログ
L2.lame server・・・というmessagesログ
L3.気になるアクセスログ2つ
1.PDを使いたい&カーネルの再構築
私はかなり前(WIN98の頃)に買ったIO DATAの「PD-AB8」というPDプレイヤー(そもそもPDを知ってる人ってそんなにいないような気が・・・・・)を持ってまして、もちろんメディア(640M)も持ってますから使いたいなーと思ってました。2.sambaを使いたい
もうメーカーサイドではとっくに生産も終わっている代物なんですが、さすが枯れたパーツには強いLinux!Inetで検索したところLinux JFで「ATAPI-PD-memo.txt」を見つけました。要はカーネルの再構築をしてやればいいということのようです。
そこでDebianが稼動しているX環境が無いサーバー機の場合はmake menuconfigコマンドを使えば良いのですが、その際はlibncurses5-devのインストールが必要になります。参考になるのはカーネルを再構築したいとそこで紹介されているリンクです。
またVineでPDを使う場合もカーネルの再構築が必要です。参考になるのはVine Linux 2.xのカーネルを再構築するにはで、Linux JFの「ATAPI-PD-memo.txt」の設定をすれば問題ないはずです。
突然ですが(まあ、お決まりでもあるし)内部LANにWin機を使っているからにはsambaの設定をしなくてはなりません!(はじめはXP HOME版を買って、後でアップグレード版まで買わされた私は特にです)もちろん98MEな場合でもOKです。3.時計を常に正確にあわせておきたい
sambaの設定のノウハウはInetで簡単に見つかりますが、私はSambaで始めるWindowsファイルサーバー入門をメインに設定ました。
なお、Debianでswatを使う場合は設定ファイルを触る必要があります!これでも上手くいかない場合はファイヤーウォールの設定を見直すと良いかも?しれません。
Winならオンラインソフトを利用してPC内の時計を正確に合わせますが、LinuxではNTPサーバーの設定をしてやれば目的は達成できます。参考にしたのはシステムの時間を常に正しく合わせておくには及びDebian Sarge編のntpです。4.毎日バックアップを取りたい
参照先のNTPサーバーは日本の一次 NTP サーバーやプロバイダ別 ntp サーバリストから選択すれば良いでしょう。
サーバーのバックアップを取るために(そしてできるだけ簡単に行うために)、cron.dailyに下の実行属性を付けたafioファイルを置いて毎日実行させるようにしました。こうすれば毎日バックアップファイルができていくので万が一の時でも安心ですね。5.バーチャルホストの設定をする
またファイル名ですがBegi.netのメーリングリストにお世話になり日付と曜日を表示させるようにしました。
/etc/cron.daily/afio
#!/bin/sh
export LANG=c
TODAY=`date +"%m%d(%a)"`
cd /home/hoge/;
find /home/hoge/public_html | afio -ovZ hoge.$TODAY;
これでhogeのホームディレクトリに11月3日の日曜日ならhoge.1103(Sun)というバックアップファイルが作られます。
マイドメイン(○○.com)を取得した場合、バーチャルホストを利用してやればユーザーhogehogeのホームページのアドレスをサブドメイン( http://hogehoge.○○.com/ )のようにすることができます。(もちろん http://www.○○.com/~hogehoge/ でも問題ありませんが、個人的にはサブドメインの方が好きなんです)6.APTを使用する
これを実現するにはhttpd.confと正引き用のゾーンデーターベースに設定してやる必要があります。ちなみに私の環境から名前ベースのバーチャルホストを使用することにします。
参考になるのはバーチャルホストによる複数サイトの同時運用のページです。しかしこのままではページは表示されるもののCGIが動かないので、バーチャルホスト上でCGI/SSIが使えないの設定も加えてやります。
あとはデーモンを再起動してやれば設定は終わりですが、実はページは期待通りに表示されません。というのもDNSの変更が反映されるまでに時間がかかるからです。せっかちな私はこのことに気づかずに何度となく設定を見直していました・・・。
*さらに2004年5月8日"CGIソフトの画像が表示できない"にあるように画像を表示させるには画像ファイルをCGIディレクトリ外に移すか、シンボリックリンクを張る等の作業が必要なようです。
DebianではAPTは必須ですね。GUIベースのsynaptic等もありますが、私はコマンド派です。APTのコマンドはこちらへ。7.X無しの環境でカーネルの再構築をする
私のサーバー機はCPUがK6-U-400と数世代前のものです。それでもRedhat7.3の頃はXを使っていたのですが、最近はマシンパワーが必要になったので諦めることにしました。さらにセキュリティ面からインストールは最小インストールにして、必要なものを後から追加するという方針にしました。8.CGIが動かない
やがてカーネルを再構築をすることになったのですが、当然make xconfigコマンドは使えません。かと言ってmake configコマンドではちょっと面倒そうです。そこでmake menuconfigコマンドで実行することにしました。
しかし#cd /usr/src/linuxからmake menuconfigコマンドを実行してみましたが上手くいきません。GoogleってみるとSargeではlibncurses5-devが不足していることが判明しました。
よって#apt-get install libncurses5-devでlibncurses5-devをインストールしてから再度#make menuconfigを実行すると・・・今度は無事に動きました。
操作性ではmake xconfigコマンドにはかないませんがmake menuconfigコマンドならなんとか実用的な範囲かなと思ってます。
きままコラムにも書きましたが"CGIが動かない"場合は様々なケースが考えられます。9.メールの不正中継対策
suEXECを設定しないようにすることも有効かもしれませんが、私の場合は2004年1月28日"CGI解決"にあるように改行コードの誤認が原因でした。
今後はCGIで悩んだら、先頭行は#!/usr/bin/perl --ですね!
少し前の話ですが、私は購入したはじめてのRed Hat Linux 9 サーバ構築編をメインにあちこちGoogleってメールサーバーを構築しましたが、最終チェックとしてweb上で申し込む不正中継テストを受けてみました。心配な方は以下のリンク先からチェックしてみてください。10.スレーブDNS
nanet - メールの第三者中継(Third-Party Mail Relay)*DNS Reportはその名のとおりメールだけでなくDNSの設定もチェックしてくれます!
RBL.JP
(株)イー・ポスト:不正中継検査
abuse.net
ORDB.org へようこそ - 不正中継ホストデータベース
DNS Report
*チェックの方法はパソコンおやじのメールシステムの第三者中継チェックのページが参考になります!
マイドメインでサーバーを立ち上げるにはスレーブDNS(=セカンダリーDNS)をどこにするのか決めなくてはいけません(のはずですよね)。私はとりあえずプロバイダーにお願いしていたのですが、後日FREEのセカンダリーDNSサービスがあることを知り興味を持ちました。11.HDD残量が少なくなってきたらメールで教えてくれるスクリプト
はじめはFREEなだけに安定性が気になっていたのですが、私も含めて教えていただいた人の中では今のところ問題はないようです。難点は海外のサイトなので導入時等はFREEのセカンダリDNSを使うやLINUXでいこう!のセカンダリーDNSの登録(xname編)、セカンダリDNSをどうするかを参考して設定することをお勧めします。なお"セカンダリDNSをどうするか"の最後に書いてあるようにレジストラにセカンダリDNSを登録することを忘れないようにしましょう!(私は忘れてました・・・←2004年4月20日"セカンダリDNSの登録")
私の環境では増設HDD(hdb)をバックアップファイル保存先としてcronで毎日バックアップを取っています。しかしHDDスペースは永遠ではないのでLAN経由で別の保存先へ移しています。12.アクセス解析ソフトを使う
そこで(もちろんdfコマンドでHDD使用量はチェックできるのですが)よりLinux使いらしくなるために"HDD残量が少なくなってきたらメールで教えてくれるスクリプト"に挑戦することにしました。
まずはお決まりのGoogleで参考になるスクリプトを探し、次にそれを自分の環境にあうように変更していきます。日記にも書いたように述べ1日くらい奮闘しましたが、ようやく形になったので紹介します。
------------/etc/cron.daily/hdd_check-------------------
#!/bin/sh
cd /root;
df -k | awk '$6=="/backup"{ print }' | awk '$5 > "80%" { print }' > ~/alarm;
if [ -s ~/alarm ]
then
cat ~/alarm | mail -s "HDD残量が少なくなりました!" root
rm ~/alarm
fi
--------------------------------------------------------
これでhdb(df -kコマンドでのマウント先は/backup)の使用量が80%をこえたら、root宛にdfコマンドの結果を添えて"HDD残量が少なくなりました!"というメールが届くことになります。
(ただhdbの使用量が80%以下の場合には/root/alarmという0バイトのファイルが作られてしまうことだけ解決できませんでした・・・←もちろん使用上は問題はありません)
サーバーが稼動しはじめるとアクセスの様子が気になってきますよね。13.HDDを追加したい
簡単に設置できるものではアクセス解析CGIがありますが、もう少し突っ込んで調べるにはアクセス解析ソフトの導入をお勧めします。これから紹介するWebalizerやAnalogは導入は難しくないのでお試しください。
★Webalizer
まぐまぐで配信中のゼロから始めるLinuxサーバー#046やWebalizerでアクセス解析を参考にして導入します。私の場合は"ゼロから始めるLinuxサーバー"をメインに導入し、"Webalizerでアクセス解析"は設定項目を参考にしました。(解析結果を日本語で表示させたい場合には"Webalizerでアクセス解析"を参考にしましょう!)
ポイントはOutputDirで指定したディレクトリを作成&パーミッションを設定する(←ブラウザーから見れるように)ことでしょうか。そうすれば指定したディレクトリ内にindex.htmlが作られます。私はcronで毎朝実行させ、ブラウザーから見るようにしています。
*Debianサーバーでは日本語化してみました。参考にしたのはWebalizerでアクセス解析やWebalizerによるWebアクセスログ解析です。
上記リンクを参考にソースをダウンロードし、
・日本語化するための"--with-language=japanese"オプション
・IPアドレスではなくホスト名で表示するための"--enable-dns"オプション
をつけてconfigureを実行するのですが、Debianで"--enable-dns"オプションを付け加える場合には、configureを実行する前にwebalizer.cとdns-resolve.cの修正が必要です。#include <db.h> を #include<db1/db.h> に書き換えるあとは書いてあるとおりにインストールし、"WebalizerによるWebアクセスログ解析"をメインに設定しました。
・各項目の意味は2005年2月25日"Webalizerの各項目の意味"参考
★Analog 日本 Analog ユーザ会
eshima.netのanalogのページを参考に導入しました。ただ私はanalog専用のフォルダを用意したかったので"OUTFILE /analog/Report.html"と変更しました。
ポイントはWebalizerと同様にOUTFILEで指定したディレクトリを作成&パーミッションを設定する(←ブラウザーから見れるように)こと、及びそのディレクトリへ/usr/local/analog/imagesディレクトリをコピーしてやることです。
★awstatsアクセス解析ソフトとしてはどれか一つで良いので、お好みの方を導入しましょう!
最近導入したんですが、今一番のお気に入りです。2005年09月06日"AWStats"参考。
これもcronで毎朝実行させブラウザーから見るようにしています。
バックアップ用HDDは独立したものを用意しようと思い増設することにしました。L1.不思議なルーターログ?
参考にしたのはハードディスクを増設したいで、4番のパーティションをフォーマットする箇所のフォーマット形式をext3にした以外はこのとおりにやって問題なく増設することができました。
ポイントは1.Linux版fdiskの知識が必要ということくらいですね。
2./mnt/backupという/mntからマウントした形になり、/etc/fstabに記述することが必要
家では/mnt/backupではなく/backupにしたかったので、/backupを作り/etc/fstabは
/dev/hdb1 /backup ext3 defaults 1 2
と記述しました。
セキュリティ面については安心できない時代ですから時々ルーターのログも確認しなくてはいけません!しかし見るたびに不思議だと思ってました。L2.lame server・・・というmessagesログ
Unrecognized access from 111.11.111.111:1111 to UDP port 137
(111.11.111.111:1111 のところは任意の数字)
こんなログが2〜3分おきに延々と続くのです。はじめは無視していましたが、そのうち気になってきたのでBegi.netのメーリングリストで聞いてみたところ、要はWindows君の仕様が原因の直接実害はないが塞ぐ手もないものでネットワーク資源の無駄使いと言えるもののようです。(私の場合、ルータータイプでない「ただの」ADSLモデム&フレッツユーティリティを使ってINETへ繋いでいる人から届いているらしい?)
ま、一安心なのは良かったんですが良い話でないのは明らかで、なんとか改善できないものかと思うわけです。
/var/log/messagesで気になっていたことにL3.気になるアクセスログ2つ
lame server resolving '97.xxx.120.61.in-addr.arpa' (in 'xxx.120.61.in-addr.arpa'?): 210.132.xxx.54#53
というログが何度も繰り返して出力されていることがありました。
原因が分からなかったのでしばらくは様子を見ていたのですが、静まる様子がなかったのでGoogleってみると
lame server・・・というログはIPアドレスからホスト名を逆引きできなかった場合に出力されるということが分かり、私の場合はどうやらアクセス解析ソフトがリンク元を調べに行くときに発生しているようです。
さらに回避策も載っており、それは/etc/named.confに
logging {
category lame-servers { null; };
};
と追加すれば良いとのこと。
もちろん設定後はlame server・・・というログは出力されないようなりました。 気になっている人はお試しください。
ここ最近、Apacheのアクセスログを見ていて?マークをつけたくなる2つのパターンがありました。
・Aタイプ:xxx.xx.xxx.xx - - [16/Oct/2003:19:55:40 +0900] "GET / HTTP/1.1" 200 4937 "-" "Mozilla/4.0 (compatible; MSIE 5.5; Windows 98)"
・Bタイプ:xx.xxx.xx.xxx - - [16/Oct/2003:19:54:34 +0900] "OPTIONS * HTTP/1.0" 200 0 "-" "-"
Googleや知人に教えてもらったところ
Aタイプは純粋にトップページへのアクセスとも考えられるし、またPINGを受けた跡やウイルスやワームの仕業とも考えられるようですが、まあ防ぐ手段ないし問題視するほどではないということのようで、
Bタイプは"Webサーバ稼動チェックプログラム"によるものではないか?という結論になりました。(Webサーバ稼動チェックプログラムは各Webサーバに文字列('OPTIONS * HTTP/1.0)を送信して稼動状況をチェックする仕組みのようです)。もちろん私はWebリンクに参加してますし。
こんなところで一件落着となりました。