birdLinux Zaurus サーバ化手順, Linux Zaurus の設定

Linux Zaurus サーバ化手順

Linux Zaurus (SL-B500。以下リナザウ) を tDiary サーバに仕立て上げる手順を記録しておきます。

telnet、ftp 有効化
リナザウは標準で telnetd、ftpd がインストールされていますが、さすがにデフォルトでは無効化されています。それらを使わなくても、全てリナザウのキーボードで作業すればサーバ化自体は可能なんですが、それではあまりにツライので、最初に有効化することにします。有効化の手順は、/etc/inetd.conf を編集してそれらのサーバを有効とする、というものです。その際、あらかじめ「tcpd を使うバージョン」と「tcpd を使わないバージョン」2つの設定行が用意されていますので、お好みの方のコメントを外します。僕は今回は tcpd を使うバージョンを有効としました。その場合、標準では /etc/hosts.deny、/etc/hosts.allow ファイルが存在しませんので、それぞれ適当に作成する必要があります1
Special Kernel 導入
これもサーバ化に必須な作業ではありませんが、微妙に処理が早くなったりといろいろメリットがあるようなので、今回初めて Special Kernel を入れてみました。こちらのページにある、SL-B500 用の special kernel (v14d) です。手順もそのページを参照してください。
ruby インストール
まず、tdiary の動作には欠かせない ruby をインストールします。リナザウ版の ruby は sourceforge の zaurus-ja プロジェクトにより配布されています。こちらのページから ruby の ipk ファイルを取得し「アプリケーションの追加と削除 (だったっけ?)」からインストールしてください。
libcrypt のインストール
tdiary の動作には上記 ruby の他にも libcrypt が必要なようですから、こちらのページから「SSL 関連ライブラリ」の libcrypt をダウンロード、インストールします (ついでにこの同じページにある apache 設定ファイル修正用パッケージもダウンロードしておくと後で楽です)。
apache インストール
続いて apache をインストールします。web サーバは別に apache じゃなくても良いのですが、僕は apache が一番なれているのでコレにしました。apache の導入に関しては先ほどの libcrypt と同じ、こちらのページに書いてある通りで大丈夫です。
apache の設定
自サイトの設定に合わせて、/home/www/conf/httpd.conf を編集します。僕が変更したのは、SpareServers 関連 (リナザウはメモリが少ないので常時起動しているサーバ数を少なめに設定する)、VirtualHost 関連 (memo 以外のサイトの設定など) などです。
tdiary インストール
tDiary 公式サイトから、tDiary 基本セット、プラグイン集をダウンロードし、目的のディレクトリに展開し (プラグイン集は misc/plugin 以下に展開します)、.htaccess の設定や tdiary.conf の修正をしておきます。
rbuconv インストール
tDiary でのトラックバックやリンク元の文字化けを防ぐためには uconv ライブラリが必要なのですが、通常の uconv には .so ファイルが必要で、リナザウ用のものは見つけられませんでした。そこで今回は pure ruby で書かれた uconv 互換ライブラリ、rbuconv を利用しました。こちらのページから tar.gz ファイルをダウンロードし、中に含まれるファイル、ディレクトリを tDiary を展開したディレクトリに置きます。

だいたい以上のような設定で tDiary が動くようになると思います (何か忘れてるかな?)。最初想像していたよりもレスポンスは悪くなくて、リナザウなかなかやるな、という感じです2

Linux Zaurus の設定

上記サーバ化以外に、ちょっと気になって変更した設定を記録。

オートパワーオフを無効化
リナザウ標準の電源管理では、AC アダプタ接続時でもオートパワーオフを完全に無効化することは出来ず、最長でも 12 時間後には電源が落ちてしまいます。この動作を変更するには、「ライト/省電力設定」で「12時間」を選択後、/home/zaurus/Settings/qpe.conf のInterval_AC_09 の値3を 0 に書き換えます。
TimeZone の設定
さっきまでこの apache も GMT で動作していましたが、こちらのページから「ln -s /usr/share/zoneinfo/Japan /etc/localtime」とすることでとりあえず JST になったように見えます。ただ、もしかすると何か副作用があるかも。
SD カードを noatime でマウント
SD カード上に swapfile をとったりいろんなファイルを置いたりするのに都合が良いので、僕は SD カードを ext2 でフォーマットしています。ただ、Unix のファイルシステムは伝統的に atime (アクセス時刻) を記録するため、そのままではファイルにアクセスするだけで情報の書き換えが起こり、ただでさえ寿命の短いフラッシュメモリを傷めることになります。そこで、SD カードをマウントする際に「noatime (atime を記録しない)」オプションを追加するように修正しました。実際にはこちらのページを参考に /etc/sdcontrol を修正する、という手順となります。

以上です。これでもう忘れてる事はないかな?

コメント

SAK (Mon, 13 Jun 2005 13:13:40)
あーあーあー。
カキコのテスト。
SAK (Mon, 13 Jun 2005 13:14:16)
カキコもすっげ〜遅いな。
気のせいか?
Digitune (Mon, 13 Jun 2005 13:15:43)
きっと気のせいだよ>SAK
俺はそんなに違わないと思うんだけど…。Flash メモリの寿命が来ちゃうので F5 アタックとかしないように。
SAK (Mon, 13 Jun 2005 13:16:37)
で、すっごい時間にカキコんでる気がするのも気のせい?
Digitune (Mon, 13 Jun 2005 13:17:52)
気のせいじゃない(笑>SAK
リナザウって GMT (UTC) みたいなんだよね。TZ 環境変数をちゃんと定義してあげれば良いだけだったりして?
SAK (Wed, 15 Jun 2005 22:01:31)
今見てみると、普通の時間にカキコんでるな。
気のせいだったようだ。
Digitune (Thu, 16 Jun 2005 12:39:33)
(;´Д`)

  1. 僕は今回、hosts.deny に「ALL: ALL」、hosts.allow に「ALL: 127.0.0.1 ローカルネットワークアドレス」ととりあえず設定しました。 ↩︎

  2. ちなみにリナザウの CPU は XScale-400MHz です。 ↩︎

  3. 12時間の項目に相当。 ↩︎