GAE(Google App Engine)上で運用できるblogシステムの紹介

GAE(Google App Engine)上で運用できるpythonで構築されたblogシステム micologをEclipse+Pydevを使用してGAEにアップロードして設置を行いました。

blogシステムmicologの紹介

micolog
 + 【内容】
 +  Micologはpythonで構築されたblogシステムです。
 +  GAE(google app engine)上で運用できます。
 +  ブログとしてだけでなく、企業サイトとしても
 +  世界中で使用されている安定したシステムです。
 +  日本語環境でも無料でご利用いただけます。 。
 +  (公式サイトより引用)
 + 【設置URL】
 +  Oh!Happy GAE Blog ( http://ohhappy-blog.appspot.com/ )

micologのインストール手順

(iMacのEclipse+Pydevを使用する場合)

  1. Downloads – micolog – Project Hosting on Google Codeからソースファイル(micolog0.74.zip)をダウンロードして解凍しました。
  2. ブラウザでGAE( Google App Engine )のApplications Overviewにアクセスし、新規アプリケーション[Application Identifier](任意)を作成しました。
  3. Applications Overviewで作成した[Application Identifier]と同じ名前で、iMacのEclipse+Pydevに「Pydev Google App Engine Project」を作成しました。
  4. 作成した「Pydev Google App Engine Project」の「src」フォルダ以下にフソースファイル(micolog0.74.zip)を解凍して作成されたフォルダ(micolog)以下を全てインポートしました。
  5. インポートしたmicologの「app.yaml」に記載されている「application: XXXXX」のXXXXX部分を新規アプリケーションの[Application Identifier]に書き換えました。
  6. 「src」フォルダを右クリックして「Pydev:Google App Engine」-「アップロード」でフリーアプリケーションをアップロードしました。
  7. ブラウザで「http://[Application Identifier].appspot.com/」にアクセスした所、以下のように表示され、アクセス出来ませんでした。

    A server error occurred. Please contact the administrator.

  8. ブラウザで「http://[Application Identifier].appspot.com/admin/」にアクセスした所、Micologコントロールパネルが表示されました。
  9. Micologコントロールパネルでブログタイトルとサブタイトルを入力し、デザインテーマを[default_jp]に変更、ユーザー名:[任意]、パスワード:[任意]、を入力し「保存」ボタンをクリックしました。
  10. 設定が変更されたことを確認し、変更されたタイトルをクリックして「http://[Application Identifier].appspot.com/」を表示しました。
  11. トップページが表示されたことを確認してインストールは、終了しました。

micologの初期設定

  1. コントロールパネルに戻るためにトップページのログインをクリックするとGoogleアカウントの認証画面が表示されました。
  2. Googleアカウントの認証画面でメールアドレスとパスワードを入力してコントロールパネルに戻りました。
  3. コントロールパネルで記事の修正を行った後、タイトルをクリックして、再びトップページ「http://[Application Identifier].appspot.com/」を表示しました。
  4. 最初に表示されたトップページの[ログイン]が、[管理画面] [ログアウト]に変更されたトップページになっていました。
  5. 一度Googleアカウントの認証が終われば、後はWordpressと同様に認証無しに記事の編集リンクからコントロールパネルに入ることが出来るようになりました。

インストールと設定が終わってから「入力したユーザー名、パスワードは何のために使用するのか?」と疑問に思ったのですが「RPC用ユーザー名とパスワード設定。これらはWindows live writer等のツールで使用します。」と書いてありました。私はiMacを使用しているので、入力しなくても良かったですね。(汗)

コントールパネルは、少し前のWordpress風で使用方法など直感的に解りますので、凄く良いですね。しかも無料となると、Wordpressのような自動更新機能があったら、「このBlogをやめて、全てGAE(Google App Engine)に乗り換えちゃおうかな!」なんて思ってしまいそうです。

GAE( Google App Engine )で動作するフリーアプリケーションの紹介

GAE(Google App Engine)に下記2つの「GAE( Google App Engine )で動作するフリーアプリケーション」の登録を行い、Eclipse+Pydevを使用してGAE(Google App Engine)にアップロードして設置を行いました。

前の記事「GAE(Google App Engine)への静的なホームページのアップロードテスト」で作成した静的ホームページは、CSS着せ替えテンプレートプロジェクトさんで配布されている基礎HTMLにTUKIMI WEBさんで配布されているCDP テンプレート No.03を適用して体裁を整え、今回紹介する「GAE( Google App Engine )で動作するフリーアプリケーション」への入り口サイト【Oh!Happy GAE】として運用して行こうと考えています。

今回設置したphpBBライクなフォーラムアプリケーションも【Oh!Happy GAE Forum】として実験公開していますので、お暇がある方は書き込みテストなどして頂けると嬉しいです。

言い忘れましたが、「GAE( Google App Engine )で動作するフリーアプリケーション」への入り口サイト【Oh!Happy GAE】、ゲストブックとしての使用を考えている【Oh!Happy GAE Forum】他へのアクセスにはGmailアカウントが必要になりますのでご留意願います。

フリーアプリケーションの紹介

Very Small Forum For GAE
 + 【内容】
 + phpBBライクなフォーラムアプリケーションです。
 + (Small Forum on GAE. Template based on phpBB.)
 + 【設置URL】
 +  Oh!Happy GAE Forum ( http://ohhappy-forum.appspot.com/ )
JobTracker
 + 【内容】
 + ToDo/タスク管理アプリケーションです。
 + 【設置URL】
 +  Oh!Happy GAE Todo ( http://ohhappy-todo.appspot.com/ )

インストール方法 (iMacのEclipse+Pydevを使用する場合)

  1. Zipなどの圧縮ファイルで提供されているフリーアプリケーションのソースファイルをダウンロードサイトからダウンロードし、圧縮ファイルを解凍する。
  2. ブラウザでGAE( Google App Engine )のApplications Overviewにアクセスし、新規アプリケーション[Application Identifier](任意)を作成する。
  3. iMAcのEclipse+Pydevに作成した[Application Identifier]と同じ名前で「Pydev Google App Engine Project」を作成する。
  4. 作成した「Pydev Google App Engine Project」の「src」フォルダ以下にフリーアプリケーションを解凍して作成されたフォルダ以下を全てインポートする。
  5. インポートしたフリーアプリケーションの「app.yaml」に記載されている「application: XXXXX」のXXXXX部分を新規アプリケーションの[Application Identifier]に書き換える。
  6. 「src」フォルダを右クリックして「Pydev:Google App Engine」-「アップロード」でフリーアプリケーションをアップロードする。
  7. (初回アップロード時は、GoogleアカウントのメールアドレスとパスワードをSend欄に入力。)
  8. Applications Overviewの「Current Version」のリンクをクリックするか、直接ブラウザで「http://[Application Identifier].appspot.com/」にアクセスして、フリーアプリケーションの設置・動作確認を行う。

Tips

  1. アップロードに失敗した場合は、iMacのターミナルで以下のコマンドを使用してロールバックを行ってから再アップロードする必要がある。
    $ appcfg.py -verbose --no_cookies --email=[gmail_account]@gmail.com --passin rollback [workspace]/[Application Identifier]/src
    
  2. アップロード時にメールアドレス/パスワードを間違えて403エラーがでるようになっった場合は、iMacのホームディレクトに作成された「.appcfg_cookies」を削除すると、メールアドレスとパスワードの再入力が出来るようになり403エラーがなくなる。

参考サイト

GAE(Google App Engine)への静的なホームページのアップロードテスト

GAE(Google App Engine)に登録しただけでは、アプリケーションのURL「http://ohhappy-org.appspot.com/」にアクセスしても何も表示されませんでした。まずは、アプリケーションでは無く、Eclipse+Pydevを使用して、静的なホームページのアップロードテストを行いました。以下その手順です。

Eclipse+Pydevを使用したGAE(Google App Engine)への静的なホームページのアップロードテスト

  • Pydevインストール済みのEclipse Helios (3.6.1) を起動し、メニューの「ファイル」「新規プロジェクト」から「Pydev」-「Pydev Google App Engine Project」を選択しました。
  • pydev プロジェクトのダイアログでプロジェクト名に「ohhappy-org」を入力し、文法のバージョン「2.5」、インタープリター「/opt/local/bin/python2.5」を選択し、「Create ‘src’ folder and add it to the PYTHONPATH?」にチェックをしたの後、「次へ」ボタンをクリックしました。
  • Google App Engine Directoryには、「/Applications/GoogleAppEngineLauncher.app/Contents /Resources/GoogleAppEngine-default.bundle/Contents/Resources /google_appengine」を参照選択し、「ohhappy-org」という名前で、空の「Pydev Google App Engine Project」を作成しました。
  • 「ohhappy-org」プロジェクトの「src」フォルダ以下に下記内容のapp.yamlを作成しました。
    application: ohhappy-org
    version: 1
    runtime: python
    api_version: 1
    
    handlers:
    
    - url: (.*)/
      static_files: public_html\1/index.html
      upload: public_html(.*)/index.html
    
    - url: /(.*)
      static_files: public_html/\1
      upload: public_html/(.*)
    
  • 次いで、「ohhappy-org」プロジェクトの「src」フォルダ以下に「public_html」フォルダを作成しました。
  • 「public_html」フォルダ以下に以下の内容のindex.htmlを作成しました。
    <html>
    <head>
    <title>Oh!Happy GAE</title>
    </head>
    <body>
    <p>
    Welcome To Oh!Happy GAE!
    </p>
    </body>
    </html>
    
  • 「src」フォルダを右クリックして表示されるメニューで「Pydev:Google App Engine」-「アップロード」を選択クリックしました。
  • 「Manage Google App Engineダイアログが表示され、アップロードが始まりました。
  • 途中でGoogleアカウントのメールアドレスとパスワードの入力が求められたので、Send欄に入力してリターンキーを押しました。(2回目からは、Googleアカウントのメールアドレスとパスワードの入力は不要でした。)
  • アップロードが完了すると、FINISHEDが表示されました。
  • アプリケーションのURL「http://ohhappy-org.appspot.com/」にアクセスして、「Welcome To Oh!Happy GAE!」とindex.htmlの内容が表示されることを確認しました。

参考サイト

GAE(Google App Engine)への登録

Eclipse+Pydevの使用方法が解って来たので、本格的にGAE(Google App Engine)アプリケーションを稼働させてみたいと思い、GAE(Google App Engine)への登録を行い、Eclipse+Pydevを使用したGAE(Google App Engine)への静的なホームページのアップロードテストを行いました。以下その手順です。

GAE(Google App Engine)への登録

  • ブラウザ(FireFox)でGoogleにアクセスし、Google App Engineで使用するGoogleアカウントでログインしました。
  • Googleメニューの「もっと見る▼」-「さらにもっと >>」をクリックして、「もっと Google のサービス」のページを表示しました。
  • 先進的なサービス-「Code」をクリックして「ピックアップ プロダクト」から「App Engine」と辿って、Google App Engine公式サイトのホームを表示しました。
  • Google App Engine公式サイトのホーム「 1. App Engine アカウントを登録します。」の登録リンクから再度、Google App Engineで使用するGoogleアカウントでログインし登録を開始しました。
  • ①【 Start 】ページ
    以下のメッセージが表示されたので「Create Application」ボタンをクリックしました。

    Welcome to Google App Engine   Before getting started, you want to learn more about developing anddeploying applications. Learn more about Google App Engine by reading the Getting StartedGuide, the FAQ, or the Developer’s Guide.

  • ②【 Verify Your Account by SMS 】ページ
    以下のメッセージが表示されました。

    Verify Your Account by SMS   To create applications with Google App Engine, you need a verification code. Select the country and carrier for your mobile phone and enter your mobile phone number. The verification code will be sent to it via SMS.Note you will only need to verify your account once.

  • ③【 Verify Your Account by SMS 】ページ
    「Country and Carrier:」のドロップダウンリストから国名(Jaoan)と自分の携帯電話のキャリア(KDDI-ezweb.ne.jp)を選択しました。[ Japan Select your carrier ]
  • ③【 Verify Your Account by SMS 】ページ
    「Username:」に携帯電話のメールアカウント名(myacount)を入力し、「send」ボタンをクリックしました。[ For Japanese carriers, a username (without the domain) is needed. ]
  • ④【Authentication Code Has Been Sent】ページ
    以下のメッセージが表示され、先ほど入力した携帯電話のメールアカウントに「Account Code」が書かれたメールが送信されて来たので、「Enter Account Code:」に送られて来た「Google App Engine Code」を入力して、「send」ボタンをクリックしました。

    An Authentication Code Has Been Sent to myacount@ezweb.ne.jp   Within a few minutes, you should receive a text message on your phone that includes a verification code. When you receive it, enter it below. If you don’t receive the text message, try sending it again, or see the App Engine FAQ.

  • ⑤【Create an Application】ページ
    「Application Identifier:」に希望の名前(ohhappy-org)を入力し 「Check Availability」ボタンをクリッックして使用可能かどうかを確認しました。(「ohhappy.org」は使用不可でした。ピリオドは、駄目なのかな!?)
  • ⑤【Create an Application】ページ
    「Application Title:」に希望のアプリケーション名(Oh!Happy GAE)を入力し、「Terms of Service:」 の「I accept these terms.」にチェックを入れ、「Create Application」ボタンをクリックしました。 .
  • ⑥【Application Registered Successfully】ページ
    以下のメッセージが表示され、アプリケーションの登録が完了しました。

    Application Registered Successfully The application will use ohhappy-org as an identifier. This identifier belongs in your application’s configuration as well. Note that this identifier cannot be changed. Learn more.

  • Googleアカウントにログインした状態で「https://appengine.google.com/」にアクセスすると「Applications Overview」が表示され、自分のアプリケーションの状態が確認ができました。

PydevでGAELauncher付属のdemo(guestbook)を実行する

前の記事「GAELauncherのローカルサーバーでguestbookのデモを実行する」で紹介したGAELauncher付属のdemo(guestbook)をiMacにインストールしたEclipse Helios (3.7) の「Pydev Google App Engine Project」に取り込み、GAE (Google App Engine) ローカルサーバー上で実行してみました。以下、その手順です。

PydevでGAELauncher付属のdemo(guestbook)を実行する

  • GAELauncherを起動し、メニューの「Help」-「Demos」-「guestbook」をクリックしてiMacアカウント(ohhappy)のホームにguestbookフォルダ(app.yaml , guestbook.py)を作成しました。
  • Pydevインストール済みのEclipse Helios (3.7) を起動し、メニューの「ファイル」「新規プロジェクト」から「Pydev」-「Pydev Google App Engine Project」を選択しました。
  • pydev プロジェクトのダイアログでは、プロジェクト名「guestbook」を入力し、文法のバージョン「2.5」、インタープリター「/opt/local/bin/python2.5」を選択しました。
  • Google App Engine Directoryには、「/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine」を参照選択しました。
  • 続いて、guestbookという名前で、空の「Pydev Google App Engine Project」を作成しました。
  • guestbookフォルダの右クリックメニューで「インポート」を選択しました。
  • インポートダイアログで、「ファイルシステム」を選択し、「次へ」ボタンをクリックしました。
  • iMacアカウント(ohhappy)のホームに作成されたguestbookフォルダを参照し、「app.yaml」と「 guestbook.py」にチェックを入れ、「完了」ボタンをクリックしました。
  • guestbookプロジェクト「src」フォルダに「app.yaml」と「 guestbook.py」が取り込まれたことを確認しました。
  • guestbookプロジェクト「src」フォルダを右クリックして表示されるメニューで「実行」-「Pydev:Google App Run」を選択クリックしました。
  • コンソールに以下のように表示され、GAE (Google App Engine) ローカルサーバーが立ち上がったことが確認できました。
  • ブラウザで「http://localhost:8080/」にアクセスし、guestbookが問題なく動作することを確認しました。

Eclipse+PydevでGAE (Google App Engine)アプリケーションのテストが出来ることが解ったので、これからはGAELauncherを使用せずに、Eclipse+Pydevを使うことにしようと思っています。