ここ 2 週間ほどサーバをあまりさわれませんでアパチーも 1.3.27 にバージョンアップしたことですから、それを入れ替えるついでにサーバをいじっておりました。
とりあえず、mod_perlとmod_rubyをインストール。mod_perl はインストール時に勝手に httpd.conf を書き換える上、APXS で入れず apache に組み込むと前回コンパイル時の設定が保存されている configure.status を勝手に書き換えるのでメチャメチャむかつきました。だから perl は嫌いです!!ちなみに、APX で入れる場合は「perl Makefile.PL USE_APXS=1 WITH_APXS=/usr/sbin/apxs EVERYTHING=1」で組み込みは「perl Makefile.PL USE_APACI=1 APACHE_PREFIX=/usr/sbin」ですわ。/usr/sbin は bin ディレクトリです。apache 標準だと /usr/local/apache/bin ですわ。mod_ruby は単純でした。perl のようにむかつくこともありませんでした。この二つは APXS で入れましたので DSO が動いていないとダメです。あとは mod_gzip も入れておきました。使わないけどね。
で、一応jakarta_tomcatも入れようと思ったのですが、なんでこんなにバージョンによってインストール方法がこれは変わるのでしょうか?以前に行った知識が全く役に立ちません。もう少し使うモジュール名やソースファイルの形式を統一してほしい物です。そんなわけで、以前の知識を使えないためかなり大変でした。まあ入れられる方のために書いておきますと、JDK for Linuxを /usr/local の下に入れます。この際にダウンロードするのはプラットフォーム用のバイナリーで、*.bin というファイルになっておりますので chmod +x で実行権を与えて実行しますと、JDK がインストールされます。私は SDK の方を入れました。で、次は jakarta_tomcat の本体を /usr/local の下に展開。そして apache と連携するために mod_webapp.so を作らないといけないので jakarta-tomcat-connectors をソースでダウンロードして、CVS をバージョンアップして、autoconfをバージョンアップして、libtoolをバージョンアップして、CVS で apr を取ってくる必要があります。
cd jakarta-tomcat-connectors/webapp
cvs -d :pserver:anoncvs@cvs.apache.org:/home/cvspublic login
password: anoncvs
cvs -d :pserver:anoncvs@cvs.apache.org:/home/cvspublic checkout apr
./support/buildconf.sh
./configure --with-apxs=/usr/sbin/apxs --with-apr=./apr
make
これで、build ディレクトリに mod_webapp.so が作られます。あとは、これを apache の lib ディレクトリにコピーしてやれば終わりです。で、tomcat を起動して webapp を DSO で組み込めば動きます。ただし、わたしのサーバは非力なので 400MHz などで tomcat を動かしたらあほほど遅くなりますので、それなりに実力のあるマシーンで動かしましょう。ちなみに入れましたけど、動かしてはおりませんわ。
mod_perl を組み込みましたので、御茶のトップにあるカウンターもmod_perl で動かしております。通常の CGI 版はこれ。です。今動かしておりますmod_perl は
SetHandler perl-script
PerlHandler Apache::PerlRun
Options ExecCGI
Allow from all
PerlSendHeader On
こんな設定でやっておりますので、基本的には今まで動かしていた perl の CGI なら走ります。それに、わざわざ perl を fork して呼ばない (php と原理は同じ) ので速度がかなり速くなります。が、欠点もあって suexec が効かないので apache の実行権で動きますから他人にファイルを読まれてしまう可能性が出来ます。それにサーバにとってもセキュリティーを厳しくしなければなりません。まあ、内輪のサーバでやるには良いと思います。あと、mod_perl の特徴としては PerlHandler Apache::Registry として、完全に常駐モードで動かす方法があります。これだと設定ファイルの二度読みなどがありませんので、めちゃめちゃ早くなる反面 exit が使えませんし、変数宣言も厳格に、またスレッド処理もしなくてはなりませんので、それはそれでかなり大変です。が、パーラーいけちん曰く、mod_perl でも厳密に突き詰めれば jsp などに頼らなくてもそれなりに速いですよって事ですので、それなりにそれぐらい速いのだと思います。まあ、私は面倒なので今はやる気が起きません。perl はあまり楽しくないし……。ポインターがあれば便利なのになぁ。
で、 mod_perl の特性なのかわかりませんが、.htaccess で mod_rewrite を使ってしまうと mod_perl が 403 になってしまうようです。つまり mod_perl に受け渡せない感じです。それはたとえ RewriteEngine Off にしても直りませんでした。.htacesss にオーバーライドして Files 設定してもダメでしたので、多分同時使用出来ないと勝手に解釈して納得しております。解決方法あれば教えてくださいませ。ちなみに、20 回ほどブラクラくらいました。
--------今日のレシピ(なすびとえびのカレー)---------
むきえび:1 カップ
シーチキン缶:ミニを 1 缶
なす:2 本
ジャガイモ:2 個
人参:1 個
タマネギ:1 個
カレールー:8 人分( 極力違うメーカ二種類混ぜること)
私はゴールデンカレー中辛ととろけるカレー辛口を 1:1
水:一リットル
月桂樹の葉:あれば 1 枚
バター:10g
オリーブオイル:大さじ 1
にんにく:2 かけ
白ワイン:大さじ 3
1)なすを乱切りして灰汁抜き
人参を半円ぎり
ジャガイモを乱切り
タマネギを薄切り
にんにくをみじん切り
2)バターとニンニクを入れてシーチキンを油毎全て入れ炒める
少し炒めたところでむきえびを入れる
炒め終わったら一度鍋から上げる
3)オリーブオイルを引き、タマネギ・ジャガイモ・人参・なすの順で炒める
4)いたまったらシーフードと混ぜて白ワインを入れて炒め酒を飛ばす
5)水を入れ 20 分灰汁を取りながら煮込む
6)カレーのルーと月桂樹を入れ混ぜる
30 分〜すきなだけとろ火で煮込む
8)うめえヽ(´ー`)ノ
本日の気分:今回はとろ火で炒めたので崩れずに良い感じ:なすびとえびのカレー,明日のラッキーアイテム:小岩井バター,1.75PTE/1JPY
|