kuroの覚え書き

96の個人的覚え書き

日記用サーバーの構築4

日記用のWEBページを自前サーバに置きたい。で、できたらブログみたいにブラウザだけで更新したい。
という訳で半年くらい前にOSXを使ったサーバを動かしていた。
静音で、あまり電気代がかからないということで古いPowerbook(G3/400MHz)に10.4、HDDのかわりにCFカードを入れて運用してきた。しかし気温上昇に伴い、案外発熱するし、なによりたいしてアクティブでないページのためにそこそこの電力を消費しているというのも、このご時世どうかな、ということもあって、より低消費電力なサーバを模索した。

そこで思い出したのが無線LANルーターFONを改造したもの。

無線ルータのくせに無線を使うと不安定になるというこまったちゃんだったのでお蔵入りしていたが、改造によって1GBのSDカードをストレージとして使えて、基本的にはUnix互換のOpenWRTが走っている。
いっそ無線を切っちゃえば消費電力も抑えられいいんじゃないのかなということで、久々に繋いでみることに。

Unix互換とは言ってもメモリー(というかシステムの格納されている領域)は8MBぽっち、SDRAMも16MBしかないので、かなり割り切った仕様だ。
という訳でコマンドの多くはBusyBoxという統合コマンドに含まれている。で、httpdもこのBusyBoxに内蔵されているので、素の状態でWEBサーバーとして動いてしまう。しかしこのBusyBoxhttpdではCGIスクリプトを走らせることができないっぽいので、ディスク容量は食うが他のhttpサーバとしてlighttpdを導入した。

OSXではphpだけで運用できるCMSを使っていたので、FONルーターでもphpを動かせないかと調べてみたところちゃんとパッケージが存在して使えるっぽい。試しにphp5を入れてみたが、メモリーがたらないようでちゃんと動かない。動かしている人もいるようなんだけど、もうちょっとシステムをシェイプアップして要らないコマンドやライブラリを削ってやらないといけないんじゃなかろうか。

結局のところ現状ではphp4を導入し、簡単なスクリプトを動かすところまでは出来るようになった。

導入したパッケージは以下のもの

lighttpd
lighttpd-mod-cgi
php4
php4-cgi
php4-mod-gd

設定ファイルとしては/etc/lighttpd.confの中の

#server.modules = (

以下のコメントを外して

server.modules = (
    "mod_cgi"
)

とする。

server.document-root = "/www/"

ディレクトリを自分の環境に合わせる。

index-file.names = ( "index.html", "default.html", "index.htm", "default.htm" )

phpの定義を追加する。

index-file.names = ( "index.html", "default.html", "index.htm", "default.htm", "index.php" )
#### CGI module
#cgi.assign = ( ".pl"  => "/usr/bin/perl", ".cgi" => "/usr/bin/perl" )

のところにphpを追加。

cgi.assign = ( ".php" => "/usr/bin/php" )

php5ではphp-cgiとなるがphp4ではphpでよい)

phpの設定ファイルは/etc/php.ini

doc_root = /www

ディレクトリを環境に合わせる。
gdを有効にするために

;extension=gd.so

のコメントを取る。

以上でちゃんとphpが動く。これに気をよくしてgpEasyをインストールしようとしたのだが、どういう訳かインストールが進まないんだよな。もしかしてインストールにはphp以外の何かを使ってるのか?