2011/11/11

CentOS5.5 で DotCloud 使ってみた

sakura の VPS で DotCloud

いわゆる sakura の VPS に DotCloud の CLI インストールして HTML アプリをデプロイしてみました。python はディストリビューションに含まれるやつ以外つかった事なかったんで、ちょっとてこずった。

DotCloud

DotCloud は Web アプリケーションをホストしてくれるサービス。Google App Engine みたいな PaaS で、Perl をはじめとする各種LL や MySQL、Hadoop、MongoDB、node.js などさまざまなソフトを利用したアプリを手軽に乗せて動かせる。

手順

python2.6 のインストール

最初入っていたのは Python2.4 だった。作業時には 2.7 も 3 も出てますが、DotCloud は 2.6 対応のようで、 2系なら何でもいいかと思って 2.7 入れたら肝心の dotcloud コマンドがインストールできず、やむなく 2.6 にダウングレードした。

$ wget http://www.python.org/ftp/python/2.6.7/Python-2.6.7.tgz
$ extract Python-2.6.7.tgz
$ cd Python-2.6.7/
$ ./configure --with-threads --enable-shared --prefix=/usr/local/python
$ vi Modules/Setup
// 以下行がコメントアウトされているので有効にする
zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib -lz
$ make
$ sudo make install

ldconfig の設定

$ sudo su
# echo "/usr/local/python267/lib" > /etc/ld.so.conf.d/python2.6.7.conf
# ldconfig

動くかな?

$ /usr/local/python/bin/python
Python 2.6.7 (r267:88850, Nov 12 2011, 00:40:48)
[GCC 4.1.2 20080704 (Red Hat 4.1.2-50)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>

バージョン確認してOK

インスコ python 使うように .bashrc の設定

$ vi ~/.bashrc
// 以下のようにパスとエイリアスを追加しとく
PATH=$PATH:/usr/local/python/bin
alias python='python2.6'

easy_install のインストール

easy_install は perl でいう cpan コマンドのようなツールで、パッケージのダウンロードからインストールまでさくっと面倒見てくれる(らしい)。

$ sudo su
# wget http://peak.telecommunity.com/dist/ez_setup.py
# python ez_setup.py
# easy_install-2.6

ここまでで、python 環境が CentOS5.5 にそろった感じ。

dotcloud コマンドのインストール

DotCloud を利用するための CLI コマンドを入れる。

$ sudo easy_install-2.6 pip && sudo pip install dotcloud

ここちょっと怪しくて、easy_install pip は最初成功して、 dotcloud の方は easy_install-2.6 dotcloud したかもしれない。記憶をたどりながらのメモなのでうまくいかなかったらごめんなさい。

確認

$ dotcloud
error: usage: dotcloud [-h]
            {info,status,scale,run,logs,versions,url,setup,list,stats,var,restart,alias,rollback,push,destroy,create,ssh,history}

エラーだけど、ちゃんと実行できてる。

アプリケーションの作成

第一歩なので、もっとも簡単な静的HTMLアプリケーションをデプロイする。

$ mkdir -p dotcloud/bayashi
$ cd dotcloud/bayashi
$ dotcloud create bayashi
// API Key の入力を求められるので、DotCloud サイトに sign in して Settings からコピペ
$ mkdir hello
$ cd hello
$ vi dotcloud.yml
$ vi index.html
$ dotcloud push hello

上記作業で、http://hello-bayashi.dotcloud.com/ がデプロイされている。

それぞれファイルの中身は以下のような感じ。

dotcloud.yml
www:
  type: static
index.html
<html>
    <head>
        <title>Hello DotCloud</title>
    </head>
    <body>
        Hello DotCloud
    </body>
</html>

以上。

なお、動的アプリケーションでもやることは基本的に同じ。公式のドキュメントにデータベースを使用した動的アプリケーションの手順がある。Google で検索しても dotcloud コマンド入れて以降の手順はわらわら出てくる。

参考

サイト内検索