ホームサーバの最近のブログ記事
気付かないうちに、Aipoがバージョンアップしていた。2009年12月にリリースされていたらしい。
うちのサーバで動かしているのは、アイポ4。バージョンアップするかどうかは、これから検討。GoogleカレンダーかOutlookと同期できるようになるといいなと思っていたのだが、今のところ対応してはいない様子。
iPhoneで便利に使えるようになったようだが、きっと今回もBlackBerryには対応してくれていないだろう(苦笑) 開発工数をかけても報われないので、そこに対応しろとまでは言わないけど。こっちも。
2009年10月7日のエントリで書いた通り、BlackBerryからはAipo4をうまく扱えない。Aipo4には携帯電話向けのページ表示機能もあるのだが、2009年10月18日のエントリで書いた通り、BlackBerryからはアクセスできない。
BlackBerryの側で対応できないかと情報収集を続けてきたのだが、どうにもならない。BlackBerry側で対応できれば他のサービスにも応用できるので便利だと思っていたのだが、現状では諦めざるを得ないようだ。
他のサービスはともかく、Aipo4は自宅のサーバで動かしているので融通がきく。BlackBerry側で対応できないのであれば、サーバ側で対応してしまえばいい。
Aipo4ではブラウザをいくつかに分類し、それぞれに適したテンプレートを割り当てている。コンパクトHTMLを使うiモードやソフトバンク携帯電話向けにページへとBlackBerryを誘導するよう、ブラウザ判別にBlackBerryのブラウザ情報を追加する。今回はBlackBerry Boldをiモードとして認識させることにした。
関連すると思われるファイルは2つ見つかった。中身は同じだが、置いてある場所が違う。
インストールディレクトリ/aipo//tomcat/webapps/aipo/WEB-INF/conf/client.xreg
インストールディレクトリ/aipo//backup/webapps/aipo/WEB-INF/conf/client.xreg
残念ながらtomcatに造詣が深くないためどちらが影響しているかわからず、今回は乱暴に両方書き換えることにした。書き換えるのは、ブラウザ判別ルーチン。HTTP_USER_AGENTのパターンをiモード携帯電話の項目に書き加えた。
<書き換え前>
<user-agent-pattern>DoCoMo/1\.0.*</user-agent-pattern>
<書き換え後>
<user-agent-pattern>DoCoMo/1\.0.*|BlackBerry9000/.*</user-agent-pattern>
これで大丈夫かなーと思いきや、そうでもなかった。この状態でAipo4をリスタートしてみると、aipo//tomcat/webapps/aipo/WEB-INF/conf/client.xregの方が元に戻っているのだ。何度やっても、自動的に書き直される。何を基準に書き換えているのかは、やはりtomcatの知識もなく見当がつかない。もしかしたらOSごとリブートすればいいのかもしれないが、それも面倒くさい(笑)
ってことで。
今回はリブート後にaipo//tomcat/webapps/aipo/WEB-INF/conf/client.xregを強制的に上書きするという乱暴な手段に出てみた。結果としては、それで成功。BlackBerryから携帯電話向けのページにアクセスできるようになったのだった。これで実用性がぐっと高まった。
2009年6月7日現在のネットワークに関する覚書
| マシン名 | 用途 | 接続方式 |
| LAGREAT | メインPC | 有線/固定IP |
| BEAT | ノートPC | 無線/DHCP |
| MR2 | シグマリオン3 | 無線/DHCP |
| NATSUKO | さーらメインPC | 有線/DHCP |
| NEDOKO | さーらノートPC | 有線/DHCP |
| JIMNY | ファイルサーバ 仮想PCサーバ |
有線/固定IP |
| NSX | WEBサーバ | 仮想PC/固定IP |
| STEPWGN | Windowsテスト環境 | 仮想PC/固定IP |
| ELF | NAS | 有線/固定IP |
| BRN_B50B27 | 複合機 | 有線/固定IP |
| - | VPNルータ | 有線/固定IP |
| - | ニンテンドーWii | 無線/DHCP |
3月から段階的に進めてきたサーバ移行が完全に完了し、旧サーバの電源を落とした。
旧環境
| 用途 | オンラインストレージ(RAID1) | オンラインストレージ | Webサーバ | 実験用Windows PC |
| OS | Fedora Core 6 | Windows XP Home | ||
| ハードウェア | CHASER (Pentium4 2.4GHz) | JIMNY (Celeron D 2.66GHz) | ||
新環境
| 用途 | オンラインストレージ(RAID1) | オンラインストレージ | Webサーバ | 実験用Windows PC |
| OS | - | Ubuntu Desktop 8.10 | Ubuntu Server 8.10 (VMware on JIMNY) |
Windows XP Home (VMware on JIMNY) |
| ハードウェア | Buffalo WH1.0TGL/R1 | JIMNY (Celeron D 2.66GHz) | ||
数日前に注文してあった商品が、昨日届いた。Buffalo LinkStation。500GBのHDDを2基搭載し、RAID0/1に対応したNAS。送料込で19,800円だった。技術の進歩とそれに伴う価格下落には、買い物のたびに驚かされる。
これをRAID1に設定し、容量500GBのネットワークボリュームとして運用開始。旧サーバのRAID1ボリュームに保存されているデータをこれに移せば、3月から取り組んでいるサーバ移行が完了する。
ところで、NASを接続したら仕事部屋のHUBは8ポートすべて埋まってしまった。データ移行が終わって旧サーバをシャットダウンすればまた1ポート空くけど。そろそろもう1ランク上のHUBも考えないとダメかな。
今回AipoをインストールしたUbuntu Serverでは、すでにApache2が動作している。そのため、Aipo(tomcat)は自動的にポート81を使うようにインストールされる。これを、Apache2と連携させてhost.name/aipo/ でアクセスできるように設定する。
まず、Proxy関連のモジュールを有効にする必要がある。必要なモジュールは /etc/apache2/mods-available に入っている。
Ubuntu ServerをLAMPオプション付きでインストールした場合に自動的に作られるApache2.confでは、/etc/apache2/mods-enabled にあるモジュールをすべて読みこむ設定になっているので、必要なモジュールを /etc/apache2/mods-enabled から /etc/apache2/mods-available に移動する。詳しくどれが必要か選ぶのが面倒くさかったので、適当に(笑)
sudo mv /etc/apache2/mods-available/proxy* /etc/apache2/mods-enabled
次に、sites-available/default を編集し、<VirtualHost *:80> ~ </VirtualHost> の中に次の1文を書き足す。
ProxyPass /aipo/ ajp://localhost:8009/aipo/
さらに、proxyへのアクセス権を設定するために /etc/apache2/mods-enabled/proxy.conf を編集。
<Proxy *>
AddDefaultCharset off
Order allow,deny
Allow from all
#Allow from .example.com
</Proxy>
後は apache2 を再起動したら、http://host.name/aipo/ でアクセスを確認。
Syo-Takasakiの日記 - アイポ4をDebianにインストール
だめぷろふ記 - aipo4 debian etch-and-a-half 覚え書き
このあたりを参考にさせていただき、Ubuntu Serverにaipoのインストールを試みる。
gcc
libreadline5-dev
zlib1g-dev
辺りが必要らしいのだが、厳密にどのパッケージが必要なのか、把握できない。面倒なので、
sudo su
apt-get install gcc
apt-get install readline*
apt-get install libreadline*
apt-get install zlib*
超手抜きだ。
その後、rpmを使ってパッケージチェックをしているくだりを、installer.shからコメントアウト。
#tmp_str=`cat ${script_path}/bin/rpmlist | grep readline-devel`
#
#if [ "$tmp_str" != "" ]; then
# echo "checking readline... ok"
#else
# echo "checking readline... error"
# echo "readline-develが見つかりませんでした。"
# echo "readline-develをインストールしてください。"
# check_str="ERROR"
#fi
#
#tmp_str=`cat ${script_path}/bin/rpmlist | grep zlib-devel`
#if [ "$tmp_str" != "" ]; then
# echo "checking zlib... ok"
#else
# echo "checking zlib... error"
# echo "zlib-develが見つかりませんでした。"
# echo "zlib-develをインストールしてください。"
# check_str="ERROR"
#fi
この辺はDebianにAipoをインストールした先人達の教え通り。
しかしこれでも全部はうまくいかなかった。postgresqlのパスワードが正常に設定されず、バックアップやデータリストアが動作しない。仕事のスケジュール管理までしているグループウェアで、バックアップができないなんてのは困る。
installer.shをチェックすると、乱数でパスワードを発生させている個所でエラーが発生している。そこで、パスワード生成の処理をすべてコメントアウトし、明示的にパスワードを設定してみることにした。
#str_seed1="abcdefghijklmnopqrstuvwxyz"
#str_seed2="ABCDEFGHIJKLMNOPQRSTUVWXYZ"
#str_seed3="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
#str_seed4="0123456789"
#str_seed5="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
#
pass="PASSWORD"
#count=0
#while [ $count -lt 1 ]; do
# ran=`expr $RANDOM % 26 + 1`
# char=`expr substr $str_seed1 $ran 1`
# pass=$pass$char
# count=`expr $count + 1`
#done
#count=0
#while [ $count -lt 2 ]; do
# ran=`expr $RANDOM % 10 + 1`
# char=`expr substr $str_seed4 $ran 1`
# pass=$pass$char
# count=`expr $count + 1`
#done
#count=0
#while [ $count -lt 4 ]; do
# ran=`expr $RANDOM % 62 + 1`
# char=`expr substr $str_seed5 $ran 1`
# pass=$pass$char
# count=`expr $count + 1`
#done
#count=0
#while [ $count -lt 3 ]; do
# ran=`expr $RANDOM % 26 + 1`
# char=`expr substr $str_seed2 $ran 1`
# pass=$pass$char
# count=`expr $count + 1`
#done
#count=0
#while [ $count -lt 2 ]; do
# ran=`expr $RANDOM % 52 + 1`
# char=`expr substr $str_seed3 $ran 1`
# pass=$pass$char
# count=`expr $count + 1`
#done
で、これでインストールしたら、ちゃんと動いたよ! Aipo4!
詳細な環境:
Ubuntu Server 8.10
Aipo 4.0.2.0
Aipoを最新版にしなかったのは、現在別サーバで稼働中のものからデータをそのまま移したかったため。
今回、サーバとストレージを分離しようというコンセプトで環境刷新をたくらんでいる。WebデータはNAS上に保存し、オンラインでサーバにマウントして配信する予定。こうすることで、サーバハードウェアが壊れてもNAS上のデータは別のPCから扱える状況を保てる。さらにサーバを仮想化しておけば、適当な代替PCでVMware環境さえ作ればすぐにいつもの環境を復旧できる。重要なデータの保護用にRAID機能付きのNASも導入する予定。
VMware、NASの組み合わせで、サーバハードウェア、サーバソフトウェア、ストレージを個別に管理できる環境を構築することが、今回の目的。
と、長々と説明をしたが、テクニカルに端的にいうなら、
DocumentRoot = "/var/www"
/var/www -> //192.168.1.100/www
という風に設定したい訳だ。※実際の値とは違うけど意味合い的にはこういうことです。
ところが。Fedora 10でこの設定を施すと、ApacheがWebデータを配信してくれない。Fedora上で http://localhost/ でもダメなのでLANの問題ではない。同じ設定で、Ubuntu Serverなら大丈夫なのに 。
てことで。
|
|
Ubuntu Server |
Fedora 10 |
|
Aipo4インストール |
× | ○ |
|
NAS上データのWeb配信 |
○ | × |
ということになった。もちろん、飽くまで今のところ、なんだけど。
とにかくどっちかを克服しないと今回の取り組みが実らないということになるので、今後も調査を続けていくつもり。現行のサーバが安定して稼働しているうちであれば、特に急ぐ訳でもないし。
2009年3月24日の日記で書いた通り、Debian系のディストリビューションにはAipo4が素直にインストールできない。必要なパッケージを自分でインストールし、インストーラーを加工すればインストールできるという情報を得て何度か試したのだが、うまくいかなかった。
んー、やっぱりRedHat系にするしかないか。ってことで、使い慣れたFedoraをインストールすることに。
という訳で現在インストールの途中なんだけど、Ubuntu ServerとFedora 10が使うリソースの差に驚いている。Ubuntu Serverは2GBのバーチャルディスクにすんなりインストールできていた。一方Fedora 10はというと 6GB。まぁ、それでも大したサイズではないのだけど、とはいえ、6GB。いざってときにDVD 1枚にバックアップできないサイズだ。RedHat系でCUIのみの軽量なディストリビューションとか探した方がいいのかなぁ 。
VMware Server上のVMにUbuntu Server 8.10をインストールして、固定IPアドレスで運用している。起動時に、どうにも理解できない現象が。
Configuring networkと表示されたまま止まってしまうのだ。文字通りネットワークの設定中なんだと思うが。
最初はまったくわからず何度も再インストールしたり設定をやり直したりした。とにかく起動してしまわないのだから、対策が再インストールしか思いつかなかったのだ。
が、何度目かのインストール時に何気なく [Enter] を押してみたらそのまま起動した。えーそんな。
ってことで、毎回[Enter]を押して起動してみている。ネット上にも情報は見つからないし。とりあえずちゃんと動いてる。まぁいいや。ってことで。
今日の現実逃避は、サーバセットアップ(ぉぃ
VMware Server上にUbuntu ServerをインストールしたVMを作り、Samba、HTTPを設定。さらにaipo4をインストールしようとしたところで大きくつまづいた。インストーラがまったく正常に動かない。
ざっと調べて分かったのは、aipoはrpmでパッケージ管理をしているのでRedHat系のディストリビューションじゃないとインストーラが正常動作しないということ。インストーラをいじって必要なパッケージを手動でインストールすれば動くようだが、現実逃避の気分転換でそこまでやってはいられない。必要なパッケージを調べながら手動でインストールするよりもRedHat系にOSを変えた方が早そうなので、今夜か明日にでも別のFedoraCoreをインストールしたVMでも作ってみよう。
昨日、神楽坂での取材のついでに、秋葉原で途中下車して中古のビデオカードを購入してきた。GeForce 4 MX440 64MB、1480円。サーバだから、こんなもんで十分だろう。ファンもないタイプなので、静かでよろしい。
とりあえず、GeForce MX400を刺せば普通に動くので、今はとりあえずそれで動かしている。と言っても、ずっとこのビデオカードを使っている訳にはいかないので、木曜日の取材の後にでも、秋葉原でジャンキーなカードを何か買ってこようと思う。
で、ビデオカード問題自体はこれで解決!というカンジなのだが、サーバ不調のすべてがこれで解決!という訳にはいかない。木曜から土曜にかけてブチブチと切って再起動した影響か、いくつかのサービスが不調。どうしても必要なグループウェアだけは再インストール&データリストアをしたけど、気付かない部分に破損がありそうな気配がある。
当面はお金も時間もないので、このままだましだまし動かして、気が向いたときにPC自体を買い直してサーバを組み直そう。と、今のところは考えている。やっすいPCにでっかいHDD買って予算5万円くらいでなんとかしたいなー。でも、そんな余裕があったら先にビデオカメラを買っちゃいそうだなー 。
という訳で、余っているPCやパーツ、HDDを募集中です(笑)
昨日より、もう少し状況がつかめてきた。
預かっている岩崎君のPCからGeForce 2 MX400を抜いてサーバに差してみた。問題なく起動する。Xも通常通り。チェックしたところ、VGAの設定は自動的にGeForce MX400 になっており、解像度も1024x768が自動的に選択されていた。
RAGE 128 ULTRAに戻すと、やはりだめ。どうやら、自動的に認識して勝手に設定してくれる部分でこけているようだ。
MX400を装着した状態で解像度を800x600に設定し、電源をオフにしてRAGE 128 ULTRAに交換して起動してみるが、やはり自動的に高解像度に変更されてしまう。そしてものすごーく遅い。MX400なら自動的に設定されても大丈夫なようなので、RAGE 128 ULTRAとの相性問題なのかもしれない。
どのくらい遅いかというと、12日の午前3時半に起動して、14日朝までにXの起動が完了しないのだ。起動が完了しないので、VGAの設定変更もできない。いや、TTYでログインしてXの設定を変えてしまえばいいのかもしれないが、その方法を調べるのが面倒くさくてそこまで手を出していない状況。
ちなみに、近所の電器店を回ってみたが、VGAカードは取り扱っていなかった。正確には、ヤマダ電器には在庫があったのだが、GeForce 7600GTが25800円というにわかには信じがたい価格だったため、購入せず。秋葉原までクルマで行って購入した方がまだ安い。
木曜夜あたりから、Linuxサーバが不調。VLCで全画面再生を選択するとフリーズする。画面がフリーズするだけでリモートでのログインやHTTPは正常通り稼働しているので、VLCもしくはデスクトップ環境に問題ありなのかもしれない。
金曜日には、画面フリーズ後数時間で本体も停止する現象が見られるようになった。主要因はデスクトップ環境にありそうに感じつつも、調べる時間がない。フリーズのたびに再起動してお茶を濁す。
土曜日には、特にマルチメディア系のソフトを使わなくてもフリーズする状態。手を打たねばと思いつつも、OSをいじったりする暇もない。予備のHDDを買って来て一度データを退避して、サーバ設定をやり直してみようかと思い始める。原因をチマチマ究明するより、クリーンインストールの方が結果的には短い時間で解決できることが多いしね。
夜、家族が寝てしまって俺だけ寝付けなかったので、サーバを少し見てみることに。まず、KNOPPIXで起動してみる。症状はほぼ変化なし。KNOPPIXもやはりフリーズする。ということは、OSの設定などソフトウェア要素が原因ではないということだ。CD-ROM起動のKNOPPIXがコケるということは、要因がHDDである可能性も薄い。
うーん
と考えている間に、あることがひらめいた。グラフィックに負荷をかけたら止まるってことは、グラフィックカードが過熱しているのでは? もしかして
。
ライトを持ってケースの中を除き込んでみると、やはりグラフィックカードのファンが止まっていた。取り外して確認してみたが、ベアリングがダメになって止まったようだ。指で動かせば回るが、固い。
残念ながら新しめのグラフィックカードの予備はないので、適当に掘り出してきたRAGE128ULTRAを差して起動してみた。おお、起動した。起動はしたが、ものすごく遅い。ログイン画面を表示するまでに10分もかかる。相性が悪いのか、以前のグラフィックカードの設定のままだからなのか、それはわからない。とりあえず、デスクトップの設定をいじるようなところまで、まったく進まない。まいったな。一難去って、また一難だ。
再度、KNOPPIXの登場。お。今度はきちんと動いている。ということは、ハードウェア的にはこれで問題なさそうだ。Fedora 7できちんとした速度で動かないのは、設定がRADEON 9600のままだからだな、きっと。しっかしそれって、どーやって変えればいいのかなぁ 。
原因はなんとなく特定できたし、3時半だし、とりあえず寝るか 。
この日記は、Movable Typeを使って書いている。
せっかくサーバにMovable Typeを導入したんだし、ということで、他のブログも運営してみている。俺のサイトじゃないのでここからリンクはしてないけど。
CMSも、あればまぁ便利なもんだな。ブログというもの自体がインターフェイスとして浸透したので、使ってもらいやすいっていうのが大きいかもしれない。編集してもらう場合にも、閲覧してもらう場合にも。
用事があり、MovableTypeをいじっている。タグを書いていくと、いろいろ遊べるということはわかった。
面白いと言えば面白い。
触れずに済むなら、触れなくてもいいような気がする。
もうすっかり七草も過ぎてしまったけど 明けましておめでとう(笑)
さて、レンタルサーバを変えたついでに日記をブログにしてみた。まだ、過去の日記はちょこっとしか移行していないけど。しかも、移行した日記はうまく個別ページが開けず、コメントとかできないけど。てゆーか古い日記にコメントとかして欲しくないけど。
とりあえず、デザインテイストを崩さないように組み入れるのが手間だったよ。CSSもまともに使ったことないし、Movable Typeをいじるのも初めてだし、しかたないけど。