2011年1月4日火曜日

Google App Engine:無料サイトの構築方法(具体化編)

サイトを紹介しただけで,というのは,簡単すぎたとおもいましたので,私が採っている方法を,具体化します。

対象サイト
 GAEサイト

1.私の採用環境
  Ubuntu10.04LTS desktop 日本語Remix
  Emacs23
  org-mode7.3

……………………………………………………
H230106修正(順番入れ替え,追記)

http://appengine.google.com/
での設定を先にするのが良いでしょう。ここでの

「Application」が,アプリケーションIDに,
「Title」が,アプリディレクトリ名(●●)

に相当します。


Web設定には,登録のときに携帯電話が必要となります。携帯電話にコードが送信されますので,そのコードを入力することになります。

……………………………………………………
 
2.設定

2.1 環境設定

途中までは,ここのサイトが一番親切に思えました。↓

Google App Engine for Pythonの開発環境をUbuntu 10.04に構築する
http://d.hatena.ne.jp/hrendoh/20101210/1291950506

このサイトどおりに,

・Python 2.5のインストール
$ sudo vi(or gedit等) /etc/apt/sources.list


「sources.list」に書き込み保存
deb http://ppa.launchpad.net/fkrull/deadsnakes/ubuntu lucid main
deb-src http://ppa.launchpad.net/fkrull/deadsnakes/ubuntu lucid main


端末(C,M-t)に戻り,

$ sudo apt-get update
$ sudo apt-get install python2.5


・Google App Engine SDKのインストール

$ wget http://googleappengine.googlecode.com/files/google_appengine_1.3.8.zip
$ unzip google_appengine_1.3.8.zip
$ cd google_appengine
(H230128現在:1.4.1.が最新です)


・ローカルで●●(アプリの名前)用のディレクトリ作成

上3行目で戻っていますが,「google_appengine」に移動し,

$ mkdir ●●     ;ディレクトリ作成
$ cd ●●       ;ディレクトリ移動



・アプリケーション設定ファイル

$ vi(or Emacs,gedit等) app.yaml
application: (アプリケーションID)
version: 1
runtime: python
api_version: 1

handlers:
- url: /
static_files: htdocs/●●.html
upload: /
- url: /
static_dir: htdocs


を作っていく過程も,コマンドも同じようにしていけば,できます。
ただし,このサイトでは,「$ vi」のコマンドで,「vi」を使っています。viは,エディタです。これを使わない(使えない)場合は,gedit等で作っても同じです。viも覚えると便利ですねえ。

ここでいうリクエスト実行ファイルが,問題のhtmlファイルに置き換わりますので,飛ばしてもよいということになります。


2.2 Webサイト用の設定

webサイトUP用の設定
ディレクトリ作成
リクエスト実行ファイル
アプリケーション設定ファイルの変更は,

Google App Engineを使って無料でサイトを立ち上げる方法
http://techblog.ecstudio.jp/tech-tips/freewebsite-with-google-app-engine.html

を参考にします。


このサイトは,Winを基調にしていますので,インストールについては,Ubuntu10.04LTS desktop 日本語Remixとは少し違ってきます。

ディレクトリ構成も少し説明が違ってきますが,
Ubuntu10.04LTS desktop 日本語Remixでは,

Google App Engineディレクトリ
(私の場合,「google_appengine」の名前が,/home/ユーザー名/の下に有ります)
直下に,

作成したディレクトリ(これがアプリ名となる)内に,

 app.yamlファイル

があるはずです(さっき上で作った)

このディレクトリ内に,「htdocs」フォルダを作ります。


「google_appengine」→「アプリ名」ディレクトリ内に,

 「htdocs」フォルダと,
  app.yamlファイル

がある状態になります。


app.yamlは,当初

handlers:
- url: .*
script: main.py


がデフォルトになっていますが,これを,

handlers:
- url: /
static_files: htdocs/●●.html
upload: /
- url: /
static_dir: htdocs

に変更します。

「●●.html」の名前のhtmlがローカル設置・アップ対象となります。
適当な名前をつけて管理していくことになります。


また,app.yaml内の,

「application: 」は,http://appengine.google.com/で設定したアプリケーションIDです(アプリ名ではありません)。


これで,
「htdocs」フォルダ内に,●●.htmlを放り込んだり,それが,リンクしている画像,アイコン,cssファイル等を放り込むことで,ローカル設置・アップ対象のWebサイトの変更が可能になります。


3.ローカル設置

google_appsengineディレクトリに戻って(最初からだと,$ cd google_appsengine),

$ python2.5 ./dev_appserver.py アプリディレクトリ名/


で,ローカル設置ができます。成功すると,

localhost:8080

にブラウザーでアクセスすることで確認が可能です。

ただ,私は,Emacs・org-modeを使っていますので,既にhtml化の状態で,確認しているとはいえます(C-c,C-e b)。

C-cで元の端末実行状態に戻ります。

4.アップ!

そして,UPです。

Emacs・org-modeで作ったhtmlを,変な小細工をせずに,「アプリディレクトリ」に貼り付けます。


$ python2.5 ./appcfg.py update アプリディレクトリ名/


で,UP完成です。

意外とサイトとして反映されるのが遅いので,update成功したのに,前のが!ということも直後にもありますが,しばらく待つことでいけます(ここが悩んだ…)。


ローカル設置コマンドとアップコマンドだけで,
サイト更新が可能になります。





jimdoより更新は簡単で自由です。

……………………………………………………
Sphinx利用サイトGAE利用サイト知財高裁のまとめ携帯サイトjimdoサイト