CentOS4.4でサーバ構築

会社に置いてたAOpenのXCcube PC EZ65をサーバにしようと持って帰ってきました。もともとうるさいのが理由でお蔵入りしてたんだけど、やっぱり自宅で使うにはうるさい。特に夜間は気になります。会社で買ったDellPowerEdge SC430が予想外に静かだったので惹かれるが、予算を注ぎ込みたくないので、何とかこいつでこなすことを考えます。嫁は特に気にならんらしいので、ひとまず台所に設置。ついうっかり本体に蹴りが入ったり、ケーブルに足をかけたりしないかは経過を見守る必要ありです。LANケーブルはともかく、電源ケーブルは文句が出るかも。とは言え、台所の電源から取るとUPS通せないし、これからブレーカーも落ちやすい季節なので何とか取り回しで工夫したいところ。

ちなみに、まだあまり叩いてないけどSC430はかなりの好印象です。PowerEdgeというと「うるさい」「ダサい」「けど安い」というイメージだったんだけど、会社で触った感じではかなり静か。筐体も細すぎない程度にスリムでわりと綺麗な顔をしてるので、家に置くのも十分アリかと思われます。実際、クライアントPCとして使用する人も多いようで、2chのスレッドPowerEdge Wikiなんかも盛況です。

話をサーバに戻して、CentOS4.4をインストール。今までVMware PlayerでFedoraCore5を動かしてたんだけど、ハードとして独立していないことの不安、やっぱり実機でのノウハウが欲しい、時計がどんどんズレるんですけど、などの理由で実機運用です。

CentOSFedoraに比べてyumでインストールできるソフトのバージョンが古く、phpは4.3.9だし、PostgreSQLも7.4.13です。会社で何も考えずにyumPostgreSQLを入れたら古いことに気付いて、8.1.15を入れ直そうとしたらハマったので、今度は最初から手動インストール。Apacheは特にこだわらないのでyumでインストール。MySQLも4.1で別に構わないやとyumで。MySQLのバージョン毎の差異はもっと勉強せんといかんです。

php5.1.6を以下のオプションでコンパイル

./configure --with-apxs2=/usr/sbin/apxs --enable-zend-multibyte
 --enable-mbstring --with-mysql --with-pdo-mysql --with-pgsql
 --with-pdo-pgsql --enable-sqlite-utf8 --with-pdo-sqlite --with-gd
 --with-jpg-dir=/usr/lib --with-png-dir=/usr/lib --with-zlib
 --enable-trans-sid --enable-soap

まだロクにテストしてないので、これで大丈夫かは不明。

で、まだまだphp4で動くように作らにゃならんケースも多いので、php4.4.4をCGIで動かせるようによくきたwikiを参考にしつつ設定です。こちらもテスト不十分ながら、コンパイルオプションは以下の通り。

./configure --enable-force-cgi-redirect --prefix=/usr/local/php4
 --disable-cli --enable-zend-multibyte --enable-mbstring --with-mysql
 --with-pgsql --with-gd --with-jpg-dir=/usr/lib --with-png-dir=/usr/lib
 --with-zlib --enable-trans-sid--enable-soap

make、make installして、

cp /usr/local/php4/bin/php /var/www/cgi-bin/php4

としてコピー。/etc/httpd/conf/httpd.confに以下の設定を追加します。

Action php4-script /cgi-bin/php4
AddHandler php4-script .php4

これで、通常はApacheのモジュールとして組み込んだphp5を、拡張子が.php4の場合はphp4をCGIで動かせるようになりました。.htaccess

AddHandler php4-script .php

と書いておけば、.phpでphp4が動くようになるのでディレクトリ単位のバージョン切り替えも問題なし。ひとまずここで一段落です。