Rackhubを試してみた日記

Rackhub: あなたのための、クラウド上のlocalhost。10秒で使える設定完了済み開発サーバーを試してみた。1行でまとめると、色々つまずいたけど33分で80番ポートでサービスを起動するところまでできた。残り17分でブログを書くところまでやる。

モノはこちら: sphinxweb ユーザ名とパスワードはそれぞれguest:guestとadmin:admin。詳しい説明は今度書く。Python製フレームワークのFlaskとSphinx WebSupportを使って作られている。ソースコードはこちら。nishio/sphinxweb at temp_rackhub

時間を計測しながら作業しようと思い立ってタイマーをスタートしてRackhubを検索するところから始めて、40秒でアカウントができた上に顔写真まで出てる。顔写真はあのサービス(名前忘れた)から引っ張ってきてるのね。

開始3分で公開鍵登録完了。

クレジットカードを登録して開始5分でRackができた。さっそくsshでつないでみようとして、DNSがまだ更新されてなくてがっくり。ただ待つのもなんだからIPアドレス指定で入ろうかと思ったらIPアドレスがどこに書いてあるのか見つからず、あれれー、とか言っているうちに開始7分で入れるようになった。

とりあえず目的のリポジトリをgit cloneする。gitは入ってた。編集しようと思ったらemacs入っていない。screenも。ここで開始11分。

pipも入っていない。 $ easy_install pip してから自分のサービスのために $ pip install -r requirements.txt をする。結構色々入れるな。

開始16分、「サーバが5000番ポートで立ち上がったけど80がいいな」とつぶやく。しかしその直後「80番ポートを使うためにsudoしたらパスが変わってflaskを見つけられなくなってしまった…」orz

sudoでないpythonのsys.pathをsudo pythonのsys.pathに設定してみたらpysqlite2がない(ImportError: No module named pysqlite2)と言われる。$ pip install pysqliteしたらエラーメッセージがpysqlite2/_sqlite.so: undefined symbol: PyUnicodeUCS2_AsUTF8Stringに変わったww ここで開始24分。

エラーメッセージでググって--with-unicode=ucs[24]のミスマッチが原因という記述を発見。「えーとRackhubがPythonをビルドした時の--with-unicode=ucs[24]のオプションがなんなのかはどうやったら調べれるかな…あ、開始から25分たったらしい。」などとつぶやく。残念1ポモドーロではできませんでした。

もう1ポモドーロ開始。

開始29分「わかった、sudo pythonとpythonとで違うPythonのバイナリを指しているからそれのビルド時の--with-unicode=ucs[24]が異なっているに違いない。」

$ which python
/home/rackhuber/.pythonbrew/pythons/Python-2.7.3/bin/python
$ sudo which python
/usr/bin/python

そういうことなのですね。というわけでsudo pythonするかわりにsudo /home/rackhuber/.pythonbrew/pythons/Python-2.7.3/bin/pythonする。

開始30分「サーバ起動して80番でアクセスできた!しかし表示のためのデータをビルドしておくの忘れたw」

開始33分「よし、できた。33分か。」

よし、ジャスト50分、2ポモドーロでRackhubを試してブログを書くところまでできた!