CentOS4.4でサーバ構築
会社に置いてたAOpenのXCcube PC EZ65をサーバにしようと持って帰ってきました。もともとうるさいのが理由でお蔵入りしてたんだけど、やっぱり自宅で使うにはうるさい。特に夜間は気になります。会社で買ったDellのPowerEdge SC430が予想外に静かだったので惹かれるが、予算を注ぎ込みたくないので、何とかこいつでこなすことを考えます。嫁は特に気にならんらしいので、ひとまず台所に設置。ついうっかり本体に蹴りが入ったり、ケーブルに足をかけたりしないかは経過を見守る必要ありです。LANケーブルはともかく、電源ケーブルは文句が出るかも。とは言え、台所の電源から取るとUPS通せないし、これからブレーカーも落ちやすい季節なので何とか取り回しで工夫したいところ。
ちなみに、まだあまり叩いてないけどSC430はかなりの好印象です。PowerEdgeというと「うるさい」「ダサい」「けど安い」というイメージだったんだけど、会社で触った感じではかなり静か。筐体も細すぎない程度にスリムでわりと綺麗な顔をしてるので、家に置くのも十分アリかと思われます。実際、クライアントPCとして使用する人も多いようで、2chのスレッドやPowerEdge Wikiなんかも盛況です。
話をサーバに戻して、CentOS4.4をインストール。今までVMware PlayerでFedoraCore5を動かしてたんだけど、ハードとして独立していないことの不安、やっぱり実機でのノウハウが欲しい、時計がどんどんズレるんですけど、などの理由で実機運用です。
CentOSはFedoraに比べてyumでインストールできるソフトのバージョンが古く、phpは4.3.9だし、PostgreSQLも7.4.13です。会社で何も考えずにyumでPostgreSQLを入れたら古いことに気付いて、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が動くようになるのでディレクトリ単位のバージョン切り替えも問題なし。ひとまずここで一段落です。