<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"><channel><title>apache / Drkcore</title><link>http://blog.kzfmix.com/apache</link><description>Programming, Music, Snowboarding</description><language>ja</language><lastBuildDate>Thu, 24 May 2007 06:46:07 +0919</lastBuildDate><item><title>TMCrawler</title><link>http://blog.kzfmix.com/entry/1179956767</link><description>&lt;p&gt;あらー、昨晩サーバーにつながらなくて更新できなかったヨ。&lt;/p&gt;
&lt;p&gt;ってわけで、早く寝て早く起きる。起きたら、アクセスログ見て原因っぽいTMCrawlerを弾くようにした。&lt;/p&gt;</description><pubDate>Thu, 24 May 2007 06:46:07 +0919</pubDate><category>apache</category></item><item><title>abでアパッチベンチマークじゃ</title><link>http://blog.kzfmix.com/entry/1166670900</link><description>&lt;p&gt;&lt;a href="http://www.atmarkit.co.jp/flinux/rensai/apache15/apache15b.html" title="＠IT：Apacheパフォーマンス・チューニングのポイント（2/2）"&gt;＠IT：Apacheパフォーマンス・チューニングのポイント（2/2）&lt;/a&gt;
&lt;blockquote&gt;　ここからはApacheに着目して、パフォーマンス・チューニングのための準備を行う。チューニングするに当たって、まず現状を十分に分析し、具体的な目標を定めることから始めたい。目標をどれだけ具体化するかはともかくとしても、現状を数値的に知りもせずに、漠然と「遅い遅い」と騒いでいても仕方がない。&lt;/p&gt;
&lt;p&gt;現状を数値的にとらえるにはツールが必要となる。いわゆるベンチマーク・ツールだ。Apacheには、標準で「ab」（Apache Bench）というツールが付属している。&lt;/blockquote&gt;&lt;/p&gt;
&lt;p&gt;ベンチマークじゃ！なんつって職場のapacheに負荷かけたら、&lt;strong&gt;かけすぎたみたいで固まった&lt;/strong&gt;（イヤー、ちょっとやりすぎた。）&lt;/p&gt;
&lt;p&gt;それにしても、&lt;a href="http://blog.kzfmix.com/entry/1144804315"&gt;うちのサーバー&lt;/a&gt;非力すぎ。blosxomにキャッシュでも導入しようかなぁ&lt;/p&gt;</description><pubDate>Thu, 21 Dec 2006 12:15:00 +0919</pubDate><category>apache</category></item><item><title>バーチャルホストの設定状況を調べる</title><link>http://blog.kzfmix.com/entry/1157369323</link><description>&lt;p&gt;tracとかwiki用に新しいホスト名が欲しくてバーチャルホストを導入することにした。&lt;/p&gt;
&lt;p&gt;apachectlだと、構文が正しいかどうかだけしかわからないが、&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="n"&gt;httpd&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;S&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;で、VirtualHostの設定状況を調べることができる。&lt;/p&gt;
&lt;p&gt;興味ベースだけなら&lt;a href="http:///
//www.atmarkit.co.jp/flinux/rensai/apache2_05/apache05a.html"&gt;pound&lt;/a&gt;とかも触ってみたい気もするが。&lt;/p&gt;</description><pubDate>Mon, 04 Sep 2006 20:28:43 +0919</pubDate><category>apache</category></item><item><title>dynamic_cacheプラグインで静的なキャッシュを</title><link>http://blog.kzfmix.com/entry/1157204347</link><description>&lt;p&gt;&lt;a href="http://blog.kzfmix.com/entry/1144804315"&gt;うちのマシンは非力&lt;/a&gt;でcgiの起動は結構負荷がかかるので、以前から&lt;a href="http://blog.kzfmix.com/entry/1156856461"&gt;どうにかしたいなぁ&lt;/a&gt;と思っていた。いま使っている&lt;a href="http://blog.kzfmix.com/entry/1133918278"&gt;dynamic_cacheプラグイン&lt;/a&gt;で、負荷軽減はかなりされたんだが、それでも最初にcgiを起動してしまうので、どうにかして静的なキャッシュの仕組みを作れないかと四苦八苦してみた。&lt;/p&gt;
&lt;p&gt;現在、サーバーの設定は.htaccessでファイルとかディレクトリがない場合に、blosxom.cgiを実行するようになっている。&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="n"&gt;RewriteCond&lt;/span&gt; &lt;span class="nv"&gt;%&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="n"&gt;REQUEST_FILENAME&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="o"&gt;!-&lt;/span&gt;&lt;span class="n"&gt;f&lt;/span&gt;
&lt;span class="n"&gt;RewriteCond&lt;/span&gt; &lt;span class="nv"&gt;%&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="n"&gt;REQUEST_FILENAME&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="o"&gt;!-&lt;/span&gt;&lt;span class="n"&gt;d&lt;/span&gt;
&lt;span class="n"&gt;RewriteRule&lt;/span&gt; &lt;span class="o"&gt;^&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;.*&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="nv"&gt;$&lt;/span&gt; &lt;span class="nv"&gt;blosxom&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;cgi&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nv"&gt;$1&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;L&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;QSA&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;だから、blosxomのディレクトリとdynamic_cacheのキャッシュ先を一緒にすれば、キャッシュされたファイルは次回からは直接httpdにより処理される。&lt;/p&gt;
&lt;p&gt;ここまでは以前試してあったのだが、これだと問題が３つある。一つは設定に関することで、残りの二つはプラグインをいじらないといけない問題だ。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;rootのindex.htmlとblosxom.cgiがバッティングしてえらいことになる。&lt;/li&gt;
&lt;li&gt;dynamic_cacheはヘッダーも含めてキャッシュするので、キャッシュ表示の際にContent-Typesとか表示されてしまう。&lt;/li&gt;
&lt;li&gt;recache=allでキャッシュディレクトリ以下のすべてのファイルが消去されてしまうため、キャッシュ先をルートに設定するとblosxomのサブディレクトリ以外の画像ファイルとかも消してしまう。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;1に関しては&lt;a href="http://blog.kzfmix.com/entry/1156856461"&gt;先日発見した&lt;/a&gt;通りに適当なディレクトリを用意してそこにRewriteするようにすればよい。うちだとこんな感じ。&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="n"&gt;DirectoryIndex&lt;/span&gt; &lt;span class="nb"&gt;index&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;html&lt;/span&gt;
&lt;span class="n"&gt;RewriteEngine&lt;/span&gt; &lt;span class="n"&gt;on&lt;/span&gt;

&lt;span class="n"&gt;RewriteCond&lt;/span&gt; &lt;span class="nv"&gt;%&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="n"&gt;REQUEST_FILENAME&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="o"&gt;!-&lt;/span&gt;&lt;span class="n"&gt;f&lt;/span&gt;
&lt;span class="n"&gt;RewriteCond&lt;/span&gt; &lt;span class="nv"&gt;%&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="n"&gt;REQUEST_FILENAME&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="o"&gt;!-&lt;/span&gt;&lt;span class="n"&gt;d&lt;/span&gt;
&lt;span class="n"&gt;RewriteRule&lt;/span&gt;   &lt;span class="o"&gt;^&lt;/span&gt;&lt;span class="p"&gt;([&lt;/span&gt;&lt;span class="o"&gt;^.&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="o"&gt;.*&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="nv"&gt;$&lt;/span&gt;        &lt;span class="err"&gt;.&lt;/span&gt;&lt;span class="nv"&gt;bldir&lt;/span&gt;&lt;span class="sr"&gt;/blosxom.cgi/&lt;/span&gt;&lt;span class="nv"&gt;$1&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;L&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;QSA&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;で、残りの二つはdynamic_cacheプラグインを修正して対応。2はヘッダー除いて保存するようにdynamic_cacheを書き換えた。&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;    &lt;span class="c1"&gt;# キャッシュファイル出力&lt;/span&gt;
    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$fh&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="nb"&gt;open&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;&amp;gt; $cache_dir/$cachefile&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
            &lt;span class="nv"&gt;$&lt;/span&gt;&lt;span class="nn"&gt;blosxom::&lt;/span&gt;&lt;span class="nv"&gt;output&lt;/span&gt; &lt;span class="o"&gt;=~&lt;/span&gt; &lt;span class="sr"&gt;s/^Content-Type: .*?; charset=.*?\r?\n\r?\n//&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
            &lt;span class="k"&gt;print&lt;/span&gt; &lt;span class="nv"&gt;$fh&lt;/span&gt; &lt;span class="nv"&gt;$&lt;/span&gt;&lt;span class="nn"&gt;blosxom::&lt;/span&gt;&lt;span class="nv"&gt;output&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
            &lt;span class="nb"&gt;close&lt;/span&gt; &lt;span class="nv"&gt;$fh&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
            &lt;span class="n"&gt;logput&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;SAVE &amp;quot;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;3に関しては、dynamic_cacheで使っている&lt;a href="http://mfpm.blogdb.jp/app/view/File::Path/"&gt;File::Path&lt;/a&gt;って知らなかった。&lt;br /&gt;
&lt;a href="http://search.cpan.org/~nwclark/perl-5.8.8/lib/File/Path.pm"&gt;ドキュメント&lt;/a&gt;読んだら、消したいディレクトリとかファイルのリストのリファレンスを与えればよいらしい。&lt;br /&gt;
dynamic_cacheだとキャッシュ用ディレクトリを消すようになっていたので、ここを書き換えた。&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;    &lt;span class="c1"&gt;# キャッシュ全クリア&lt;/span&gt;
    &lt;span class="c1"&gt;# 【flavourの記述例】&amp;lt;input type=&amp;quot;hidden&amp;quot; name=&amp;quot;recache&amp;quot; value=&amp;quot;all&amp;quot;&amp;gt;&lt;/span&gt;
    &lt;span class="k"&gt;if&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$recache&lt;/span&gt;&lt;span class="o"&gt;=~&lt;/span&gt;&lt;span class="sr"&gt;/all/i&lt;/span&gt;&lt;span class="p"&gt;){&lt;/span&gt;
        &lt;span class="nb"&gt;require&lt;/span&gt; &lt;span class="nn"&gt;File::&lt;/span&gt;&lt;span class="n"&gt;Path&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
        &lt;span class="k"&gt;my&lt;/span&gt; &lt;span class="nv"&gt;@del_dir&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;map&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nv"&gt;$cache_dir&lt;/span&gt; &lt;span class="o"&gt;.&lt;/span&gt; &lt;span class="s"&gt;&amp;quot;/&amp;quot;&lt;/span&gt; &lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="nv"&gt;$_&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;Computer&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s"&gt;&amp;quot;Etc&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s"&gt;&amp;quot;daily&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s"&gt;&amp;quot;Food&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
                                                  &lt;span class="s"&gt;&amp;quot;trekking&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s"&gt;&amp;quot;index.rss10&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s"&gt;&amp;quot;index.html&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
                                                  &lt;span class="s"&gt;&amp;quot;2004&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s"&gt;&amp;quot;2005&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s"&gt;&amp;quot;2006&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
                                                  &lt;span class="s"&gt;&amp;quot;index.rss&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s"&gt;&amp;quot;index.xml&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
        &lt;span class="nn"&gt;File::Path::&lt;/span&gt;&lt;span class="n"&gt;rmtree&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;\&lt;/span&gt;&lt;span class="nv"&gt;@del_dir&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="ow"&gt;and&lt;/span&gt; &lt;span class="n"&gt;logput&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;CLEAR&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;ALL&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;こんな感じで、今のところ静的にキャッシュされている感じだが、このせいで、taggingプラグインみたいにgetで処理するプラグインが動かなくなってしまった。&lt;/p&gt;
&lt;p&gt;これもRewriteRuleでうまく処理できるのだろうか？&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blog.kzfmix.com/entry/1148131645"&gt;Search::Estraier&lt;/a&gt;を使うことを考えたほうがよいかなと思ったりもしてるが。&lt;/p&gt;</description><pubDate>Sat, 02 Sep 2006 22:39:07 +0919</pubDate><category>blosxom</category><category>apache</category></item><item><title>URLからblosxom.cgiをどうやったか隠せますか？</title><link>http://blog.kzfmix.com/entry/1134165456</link><description>&lt;p&gt;長年の悩みをついに解決（表題）&lt;/p&gt;
&lt;p&gt;僕はmod_rewriteを使わずに直接httpd.confを編集して「この余計な文字列」を置き換えようとしていたノダ。要は、毎度毎度.htaccess読むのはパフォーマンスが落ちるんじゃねーの？みたいな些細なことをうっかり気にしたわけ（細かいことにこだわってしまった）。&lt;/p&gt;
&lt;p&gt;で、ScriptAliasを指定してみたり、ディレクティブにIndexとして指定してみたり、デフォルトのインデックスに追加してみたりといろいろやったが、どうも.cgi以降の/がうまく解釈されない。（Computer/blosxom/index.html みたいのがきちんと表示されない。）&lt;/p&gt;
&lt;p&gt;今考えると、それはそうかもというかそうなのかナァとは思うんだけどなぜだか出来ない理由はわからず終い。というわけで、結局mod_rewriteに頼ることになったんだが、以下のエラーがerorr.logに。&lt;/p&gt;
&lt;blockquote class="terminal"&gt;
&lt;code&gt;
[error] mod_rewrite: maximum number of internal redirects reached. Assuming configuration error. Use 'RewriteOptions MaxRedirects' to increase the limit if neccessary.
&lt;/code&gt;
&lt;/blockquote&gt;

&lt;p&gt;調べてみると、無限ループらしい。よくよく調べてみると、.htaccessでもhttpd.confでもエイリアスを切ってたのでそのせいっぽい。httpd.confのほうは、チャレンジした残骸。気をつけよう。&lt;/p&gt;
&lt;p&gt;あと、気をつけるのはAllowOverrideを"All"にすること。参考にしたのは下のサイト。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.yk.rim.or.jp/~sucle/blosxom/faq_cgi_hide_url_bit.html"&gt;http://www.yk.rim.or.jp/~sucle/blosxom/faq_cgi_hide_url_bit.html&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://blosxom.org/blog/archives/000925.html"&gt;http://blosxom.org/blog/archives/000925.html&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description><pubDate>Sat, 10 Dec 2005 06:57:36 +0919</pubDate><category>apache</category></item><item><title>Apache+WebDAVインストール(1)</title><link>http://blog.kzfmix.com/entry/1134091571</link><description>&lt;p&gt;&lt;a href="http://www.webdav.org/"&gt;WebDAV&lt;/a&gt;をFTPの代わりに使うといいことは色々あります&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;HTTPポートを空けておけば、会社とファイルのやり取りが出来るので、多少サイズが大きくなっても、物理的な媒体にたよらなくてイイ
&lt;li&gt;余計なポートをあけなくていい。(家サーバーにFTPポートをあけるのはちょっと躊躇するヨネ)
&lt;li&gt;Windows2000だとネットワークフォルダとして見えるのでドラッグドロップでファイル操作が可能
&lt;li&gt;&lt;a href="http://subversion.tigris.org/"&gt;subversion&lt;/a&gt;でバージョン管理も可能(家では必要ないけど)
&lt;li&gt;仲間内での共有フォルダとして使うことも可能
&lt;/ul&gt;

&lt;p&gt;家イントラとか会社イントラだと&lt;a href="http://www.samba.gr.jp/"&gt;Samba&lt;/a&gt;でも良いんだけど、大体会社だと普通は外向けにそんなポート番号開いて無いでしょ？かといって、ftpも申請する必要があったりするわけで(色々と)面倒くさい。そこで、WebDAVを使うとこれらのファイル転送の問題がバシッと解決されるわけです。&lt;/p&gt;

&lt;p&gt;あとはセキュリティーの設定がapacheの設定を使えるのが嬉しい。もしもapache運用したことがあれば、セキュリティーの設定をゼロから覚える必要がないし、ログ管理も楽なのダ。&lt;/p&gt;

&lt;p&gt;まずはapacheのインストール。WebDAVを使うためにはapxsが必要なのでdevもあわせてインストールします。後ろの二つは特に必要ないと思うけど、まぁ入れておく。&lt;/p&gt;

&lt;blockquote class="terminal"&gt;
# rpm -Uvh httpd-2.0.47-10&lt;br&gt;
# rpm -Uvh httpd-devel-2.0.47-10&lt;br&gt;
# rpm -Uvh httpd-manual-2.0.47-10&lt;br&gt;
# rpm -Uvh redhat-config-httpd-1.1.0-5&lt;br&gt;
&lt;/blockquote&gt;
&lt;p&gt;外向けに使う場合は、常に最新版をインストールするベシ。最初は自動アップデートとか気になって触ったりしたんだけど???な挙動が多いので、地道にダウンロードしてrpmからインストする従来の方法に戻っています。&lt;a href="http://fedora.redhat.com/"&gt;Fedora Project&lt;/a&gt;から最寄のFTPサーバー探して、最新版を落とします(httpd-2.0.50-1.0とhttpd-devel-2.0.50-1.0)&lt;/p&gt;
&lt;blockquote class="terminal"&gt;
# rpm -Uvh httpd-2.0.50-1.0&lt;br&gt;
# rpm -Uvh httpd-devel-2.0.50-1.0&lt;br&gt;
# rpm -qa | grep httpd #確認&lt;br&gt;
httpd-2.0.50-1.0&lt;br&gt;
httpd-devel-2.0.50-1.0
&lt;/blockquote&gt;
&lt;p&gt;/etc/httpd/conf/httpd.confを設定。ServerAdminとServerNameを指定すればとりあえず動くはず&lt;/p&gt;
&lt;blockquote class="terminal"&gt;
#
# ServerAdmin: Your address, where problems with the server should be&lt;br&gt;
# e-mailed.  This address appears on some server-generated pages, such&lt;br&gt;
# as error documents.  e.g. admin@your-domain.com&lt;br&gt;
#&lt;br&gt;
ServerAdmin Your@E.mail.address&lt;br&gt;
&lt;br&gt;
#&lt;br&gt;
# ServerName gives the name and port that the server uses to identify itself.&lt;br&gt;
# This can often be determined automatically, but we recommend you specify&lt;br&gt;
# it explicitly to prevent problems during startup.&lt;br&gt;
#&lt;br&gt;
# If this is not set to valid DNS name for your host, server-generated&lt;br&gt;
# redirections will not work.  See also the UseCanonicalName directive.&lt;br&gt;
#&lt;br&gt;
# If your host doesn't have a registered DNS name, enter its IP address here.&lt;br&gt;
# You will have to access it by its address anyway, and this will make&lt;br&gt;
# redirections work in a sensible way.&lt;br&gt;
#&lt;br&gt;
ServerName Your.server.Name&lt;br&gt;
&lt;/blockquote&gt;
&lt;p&gt;確認はapachectl -tでOKがでればOK。なんか色々いわれたら、素直になおすベシ。&lt;/p&gt;
&lt;blockquote class="terminal"&gt;
# apachectl -t&lt;br&gt;
Syntax OK
&lt;/blockquote&gt;
&lt;p&gt;ランレベルの確認したら起動。restartするのは僕の癖。普通にstartでもイイ&lt;/p&gt;
&lt;blockquote class="terminal"&gt;
# /sbin/chkconfig --level 35 httpd on&lt;br&gt;
# /sbin/chkconfig --list httpd&lt;br&gt;
httpd           0:オフ  1:オフ  2:オフ  3:オン  4:オフ  5:オン  6:オフ&lt;br&gt;
#/sbin/service httpd restart
&lt;/blockquote&gt;</description><pubDate>Fri, 09 Dec 2005 10:26:11 +0919</pubDate><category>apache</category><category>webdav</category></item><item><title>Apache+WebDAVインストール(2)</title><link>http://blog.kzfmix.com/entry/1134091418</link><description>&lt;p&gt;Apache2でWebDAV使いたければhttpd.confに以下のモジュールがロードされるようになっているか確認すればよい&lt;/p&gt;
&lt;blockquote class="terminal"&gt;
LoadModule dav_module modules/mod_dav.so&lt;br&gt;
LoadModule dav_fs_module modules/mod_dav_fs.so
&lt;/blockquote&gt;

&lt;p&gt;あとはhttpd.confにWebDAV用の記述を追加すればよいのだが、これだと、日本語が化けるし、一度バケルと消すのが面倒になる。そもそも今回WebDAV導入の目的の一つが「会社-家間での快適なファイル移動」なので、日本語はちゃんと扱えないとダメデショウということで、mod_encodingを導入(自然な流れともイエル)。&lt;/p&gt;
&lt;p&gt;&lt;a href="http://webdav.todo.gr.jp/"&gt;WebDAV Resources JP&lt;/a&gt;から、Apache 2.0用のmod_encoding-20020611a.tar.gzとmod_encoding.c.apache2.20040616をダウンロード&lt;/p&gt;
&lt;blockquote class="terminal"&gt;
# tar xvfz mod_encoding-20020611a.tar.gz&lt;br&gt;
# cd mod_encoding-20020611a/lib&lt;br&gt;
# ./configure&lt;br&gt;
# make &lt;br&gt;
# make install #suで&lt;br&gt;
# cd ..&lt;br&gt;
&lt;/blockquote&gt;

&lt;p&gt;でもって、mod_encoding.c.apache2.20040616をmod_encoding.cとして上書きしたら&lt;/p&gt;
&lt;blockquote class="terminal"&gt;
# ./configure --with-apxs=/usr/sbin/apxs&lt;br&gt;
# gcc -shared -o mod_encoding.so mod_encoding.o -Wc,-Wall -L/usr/local/lib -Llib -liconv_hook&lt;br&gt;
# mv mod_encoding.so /etc/httpd/modules/mod_encoding.so #su&lt;br&gt;
&lt;/blockquote&gt;

&lt;p&gt;下のようになるかチェック&lt;/p&gt;
&lt;blockquote class="terminal"&gt;
# ldd mod_encoding.so&lt;br&gt;
        libiconv_hook.so.1 =&gt; /usr/local/lib/libiconv_hook.so.1 (0x00373000)&lt;br&gt;
        libc.so.6 =&gt; /lib/libc.so.6 (0x00a6c000)&lt;br&gt;
        /lib/ld-linux.so.2 =&gt; /lib/ld-linux.so.2 (0x00a57000)
&lt;/blockquote&gt;

&lt;p&gt;おかしい場合は/etc/ld.so.confに/usr/local/libを追加して&lt;/p&gt;
&lt;blockquote class="terminal"&gt;
# ldconfig
&lt;/blockquote&gt;

&lt;p&gt;ここまで終わったら、httpd.confにdav用の設定を追加&lt;/p&gt;
&lt;blockquote class="terminal"&gt;
#モジュール追加&lt;br&gt;
LoadModule encoding_module modules/mod_encoding.so&lt;br&gt;
&lt;br&gt;
Alias /mydav "/usr/local/dav"&lt;br&gt;
&lt;br&gt;
&amp;lt;IfModule mod_encoding.c&amp;gt;&lt;br&gt;
  EncodingEngine    on&lt;br&gt;
  NormalizeUsername on&lt;br&gt;
  SetServerEncoding     UTF-8&lt;br&gt;
  DefaultClientEncoding JA-AUTO-SJIS-MS SJIS&lt;br&gt;
&amp;lt;/IfModule&amp;gt;&lt;br&gt;
&lt;br&gt;
# DAVアクセスされるディレクトリの設定&lt;br&gt;
&amp;lt;Location "/mydav"&amp;gt;&lt;br&gt;
    DAV On&lt;br&gt;
    AuthType            Basic&lt;br&gt;
    AuthName            "WebDAV Folder"&lt;br&gt;
    AuthUserFile        "/usr/local/passwd/davpwd"&lt;br&gt;
    AuthGroupFile       "/dev/null"&lt;br&gt;
    Require             valid-user&lt;br&gt;
    Options Indexes&lt;br&gt;
&amp;lt;/Location&amp;gt;
&lt;/blockquote&gt;

&lt;p&gt;認証を入れるとこんな感じになります。後は構文チェックしてOKでたら再起動&lt;/p&gt;
&lt;blockquote class="terminal"&gt;
# apachectl -t&lt;br&gt;
Syntax OK&lt;br&gt;
# /sbin/service httpd reastart
&lt;/blockquote&gt;

&lt;p&gt;モジュールをロードしないとSyntax OKが出ても動きません。いくつかDAVサーバーを設定しているんだけど、一度そのおとぼけミスで30分ほどハマッタことがあるヨ。&lt;/p&gt;</description><pubDate>Fri, 09 Dec 2005 10:23:38 +0919</pubDate><category>apache</category><category>webdav</category></item><item><title>webalizerの文字化け対策とサーチエンジンリファラのグループ化</title><link>http://blog.kzfmix.com/entry/1119152535</link><description>&lt;p&gt;Webalizerで以下の点を対応することに&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;検索エンジンのクエリを収集するために、いくつかのサーチエンジン追加&lt;/li&gt;
&lt;li&gt;そのための文字コードをutf-8に統一するためのスクリプト導入&lt;/li&gt;
&lt;li&gt;リファラが検索エンジンで埋もれないようにグルーピング&lt;/li&gt;
&lt;li&gt;cronに処理を追加&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;/etc/webalizer.confに日本のサーチエンジンと検索語を追加
&lt;blockquote class="terminal"&gt;
SearchEngine    google.co.jp    q=
SearchEngine    search.msn.co.jp        q=
SearchEngine    sf.livedoor.com q=
SearchEngine    search.yahoo.co.jp      p=
SearchEngine    yahoo.co.jp     p=
SearchEngine    search.biglobe.ne.jp    q=
SearchEngine    infoseek.co.jp  qt=
SearchEngine    search.nifty.com        Text=
SearchEngine    goo.ne.jp       MT=
SearchEngine    excite.co.jp    search=
&lt;/blockquote&gt;&lt;/p&gt;
&lt;p&gt;続いて、/etc/webalizer.confにリファラをグルーピングして、表示するように設定を追加する
&lt;blockquote class="terminal"&gt;
GroupReferrer   .google.                        Google
GroupReferrer   .104/search             Google
HideReferrer    .google.
HideReferrer    .104/search
GroupReferrer   search.yahoo.co.jp              Yahoo!Japan
GroupReferrer   srd.yahoo.co.jp         Yahoo!Japan
HideReferrer    search.yahoo.co.jp
GroupReferrer   search.goo.ne.jp                goo
HideReferrer    search.goo.ne.jp
GroupReferrer   search.biglobe.ne.jp    biglobe
HideReferrer    search.biglobe.ne.jp
GroupReferrer   search.msn              MSN
HideReferrer    search.msn
GroupReferrer   excite.co.jp/search.gw  excite
HideReferrer    excite.co.jp/search.gw
GroupReferrer   infoseek.co.jp          infoseek
HideReferrer    infoseek.co.jp
&lt;/blockquote&gt;&lt;/p&gt;
&lt;p&gt;文字コードの変換は、&lt;a href="http://flatray.com/misc/webalizer.html"&gt;flatray.com&lt;/a&gt;からスクリプトをもらってきてカスタマイズして使用しました。&lt;/p&gt;
&lt;p&gt;変更した部分は以下の部分。変更したファイルは&lt;a href="/pub_txt/access_log_decode.txt"&gt;コレ&lt;/a&gt;です。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;スクリプト中に、インプット、アウトプットファイルを記述&lt;/li&gt;
&lt;li&gt;utf8で出力するように変えた&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;わかりやすいように、&lt;strong&gt;logdecode&lt;/strong&gt;という名前で適当なディレクトリに保存して、クローン対応。そして、こいつで変換したログを見に行くように/etc/webalizer.confを書き換えしておく。&lt;/p&gt;
&lt;blockquote class="terminal"&gt;
#LogFile        /var/log/httpd/access_log
LogFile        /var/log/httpd/webalizer_log
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;デコードしてからwebalizerが動くように&lt;/strong&gt;するため、/etc/cron.daily/00webalizerを編集&lt;/p&gt;
&lt;blockquote class="terminal"&gt;
#! /bin/bash
# update access statistics for the web site
#if [ -s /var/log/httpd/access_log ] ; then
#    /usr/bin/webalizer
#fi
if [ -s /var/log/httpd/access_log ] ; then
    /usr/local/bin/logdecode;/usr/bin/webalizer
fi
exit 0
&lt;/blockquote&gt;

&lt;p&gt;これで、Webalizerの結果がかなりみやすくなったヨ。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://flatray.com/misc/webalizer.html"&gt;http://flatray.com/misc/webalizer.html&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://alectrope.ddo.jp/mt/archives/2005/02/28/webalizer"&gt;http://alectrope.ddo.jp/mt/archives/2005/02/28/webalizer&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description><pubDate>Sun, 19 Jun 2005 12:42:15 +0919</pubDate><category>apache</category></item><item><title>Infoseek SideWinder/2.0R 大暴れの巻</title><link>http://blog.kzfmix.com/entry/1119152500</link><description>&lt;p&gt;朝から、軽く思いついたプログラムを書いとこうとサーバーにアクセスしてみると、激重なので調べてみると、昨日まで利口に2時間おきにindex.rss10をGETしていたInfoseek SideWinder/2.0Rが、深夜から豹変シテマス。&lt;/p&gt;
&lt;p&gt;というわけで、朝のプログラミング（朝プロ）どころではないぞ。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;00:27過ぎから数秒おきに1800回ぐらいアクセスしてんですけど?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;blosxomだとそのたびにCGIが動くので、負荷がものすごいんですけども?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;アクセス禁止にしたらあきらめてお帰りになってくれるかと期待したんですが403でも果敢に攻めてくるんですけど?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;ちゅうわけで、無駄にログばかり溜まってコマル。&lt;/p&gt;
&lt;blockquote class="terminal"&gt;
210.148.XXX.XXX - - [02/Jun/2005:08:04:37 +0900] "GET / HTTP/1.0" 403 3931 "-" "Infoseek SideWinder/2.0R (Linux 2.6.6-1.381smp i686)"
210.148.XXX.XXX - - [02/Jun/2005:08:04:39 +0900] "GET / HTTP/1.0" 403 3931 "-" "Infoseek SideWinder/2.0R (Linux 2.6.6-1.381smp i686)"
210.148.XXX.XXX - - [02/Jun/2005:08:04:39 +0900] "GET / HTTP/1.0" 403 3931 "-" "Infoseek SideWinder/2.0R (Linux 2.6.6-1.381smp i686)"
210.148.XXX.XXX - - [02/Jun/2005:08:04:49 +0900] "GET / HTTP/1.0" 403 3931 "-" "Infoseek SideWinder/2.0R (Linux 2.6.6-1.381smp i686)"
210.148.XXX.XXX - - [02/Jun/2005:08:04:50 +0900] "GET / HTTP/1.0" 403 3931 "-" "Infoseek SideWinder/2.0R (Linux 2.6.6-1.381smp i686)"
210.148.XXX.XXX - - [02/Jun/2005:08:04:50 +0900] "GET / HTTP/1.0" 403 3931 "-" "Infoseek SideWinder/2.0R (Linux 2.6.6-1.381smp i686)"
210.148.XXX.XXX - - [02/Jun/2005:08:04:51 +0900] "GET / HTTP/1.0" 403 3931 "-" "Infoseek SideWinder/2.0R (Linux 2.6.6-1.381smp i686)"
210.148.XXX.XXX - - [02/Jun/2005:08:04:56 +0900] "GET / HTTP/1.0" 403 3931 "-" "Infoseek SideWinder/2.0R (Linux 2.6.6-1.381smp i686)"
210.148.XXX.XXX - - [02/Jun/2005:08:04:56 +0900] "GET / HTTP/1.0" 403 3931 "-" "Infoseek SideWinder/2.0R (Linux 2.6.6-1.381smp i686)"
210.148.XXX.XXX - - [02/Jun/2005:08:05:00 +0900] "GET / HTTP/1.0" 403 3931 "-" "Infoseek SideWinder/2.0R (Linux 2.6.6-1.381smp i686)"
&lt;/blockquote&gt;

&lt;p&gt;整然と並んだforbiddenのログもまたをかし（なわけないな）。&lt;/p&gt;</description><pubDate>Sun, 19 Jun 2005 12:41:40 +0919</pubDate><category>apache</category></item><item><title>Apacheのワームログ分離</title><link>http://blog.kzfmix.com/entry/1119152451</link><description>&lt;p&gt;最近、wormまわりのログが凄くて、気持ち悪いので、イントラからのアクセスを記録しないで、wormログを別のファイルに書き出すようにした。&lt;/p&gt;
&lt;p&gt;要するに、SetEnvIfでフラグ付けていって、ログにはフラグごとに記録すればいい。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.miloweb.net/apachelog.html"&gt;http://www.miloweb.net/apachelog.html&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://asshole.dip.jp/wormlog.php"&gt;http://asshole.dip.jp/wormlog.php&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://kazn.dip.jp/xoops/modules/xfsection/article.php?articleid=13"&gt;http://kazn.dip.jp/xoops/modules/xfsection/article.php?articleid=13&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description><pubDate>Sun, 19 Jun 2005 12:40:51 +0919</pubDate><category>apache</category></item></channel></rss>