日記用のWEBページを自前サーバに置きたい。で、できたらブログみたいにブラウザだけで更新したい。
という訳で半年くらい前にOSXを使ったサーバを動かしていた。
静音で、あまり電気代がかからないということで古いPowerbook(G3/400MHz)に10.4、HDDのかわりにCFカードを入れて運用してきた。しかし気温上昇に伴い、案外発熱するし、なによりたいしてアクティブでないページのためにそこそこの電力を消費しているというのも、このご時世どうかな、ということもあって、より低消費電力なサーバを模索した。
そこで思い出したのが無線LANルーターのFONを改造したもの。
無線ルータのくせに無線を使うと不安定になるというこまったちゃんだったのでお蔵入りしていたが、改造によって1GBのSDカードをストレージとして使えて、基本的にはUnix互換のOpenWRTが走っている。
いっそ無線を切っちゃえば消費電力も抑えられいいんじゃないのかなということで、久々に繋いでみることに。
Unix互換とは言ってもメモリー(というかシステムの格納されている領域)は8MBぽっち、SDRAMも16MBしかないので、かなり割り切った仕様だ。
という訳でコマンドの多くはBusyBoxという統合コマンドに含まれている。で、httpdもこのBusyBoxに内蔵されているので、素の状態でWEBサーバーとして動いてしまう。しかしこのBusyBoxのhttpdでは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でよい)
doc_root = /www
のディレクトリを環境に合わせる。
gdを有効にするために
;extension=gd.so
のコメントを取る。
以上でちゃんとphpが動く。これに気をよくしてgpEasyをインストールしようとしたのだが、どういう訳かインストールが進まないんだよな。もしかしてインストールにはphp以外の何かを使ってるのか?