第6回 GAE上でWordPressを動かす
萩原 巧
リトルソフト株式会社
中越 智哉
株式会社ナレッジエックス
2010/6/3
今回は趣向を変えて、PHPで書かれていて広く普及しているブログ作成アプリケーション「WordPress」をGAE上で動かしてみます(編集部)
GAEで実際に使われているPHPアプリを検証する
連載6回目にあたる今回は、今までとは少し趣向を変えて、実際に広く使われているPHPのオープンソースソフトウェアがGAE上で動作するかについての検証を行い、動作の実現性や問題点について言及するとともに、画面表示やデータベースアクセスを含めた動作について検証を行っていく過程を通して、PHPのアプリケーションをGAE上で動作させるために必要となるテクニックなどを紹介していきます。
GAEにインストールするアプリケーションについて
GAE上にて動作検証を行うアプリケーションとして、星の数ほど(大げさですが...)存在するPHPのオープンソースソフトウェアの中から、今回はWordPressというアプリケーションを選択しました。
WordPressとは?
WordPress (ワードプレス) とは、オープンソースのブログ/CMS プラットフォームであり、導入の容易さや安定性、日本語ドキュメントやサポートが充実しているなど、評価の高いアプリケーションです。プラグインを導入/作成することよって、ユーザーが必要とする機能を自由に選択することできるという優れた拡張性を持っています。
WordPressについて詳しくは「WordPress日本語ローカルサイト」をご覧ください。
今回はWordPressをGAE(PHP4G)で動作させてみます。なお、執筆時(2010年3月)現在 最新バージョンは2.9になりますが、今回は1つ前のバージョンである2.8がGAE上で動作するか検証をしました。
なぜWordPressをGAEで検証しようとしたか?
今回WordPressをGAE上で動作検証した理由として、ブログ/CMSプラットフォームソフトウェアとしては著名かつ人気であるアプリケーションをGAE上で動作させることにより、より多くの方々にGAEの可能性を知ってほしいと思っていたためです。
また、以下の点についてWordPressがGAEとの親和性に優れていると判断したためです。
・PHP+MySQLで作成されている
これは当たり前なことではありますが、PHPで動作することがPHP4G動作における最低限の条件であり、RDBとしてMySQLが使用されていることにより、MySQLをSQL4Gに代替することが可能なためです。
・画面出力時に出力用のテンポラリファイルを作成しないアーキテクチャを採用している
GAEではその環境内にファイルを動的に作成することができないので、アプリケーション実行中にテンポラリファイルを作成しないWordPressはGAEの特性にマッチしています。
・アーキテクチャが簡潔で分かりやすく、プラグインによって機能拡張が容易である
GAE上で動作させるためには、DB周りなどをSQL4G向けに修正する必要があると考えていたので、アーキテクチャが比較的簡潔であることも重要な条件でした。WordPressは、綺麗な設計と分かりやすいつくりで筆者は比較的好感を持てました。
著名なアプリケーションをGAE上で動作させるということは……
フリーのCMSアプリケーションであるWordPressがGAE上で動作すれば、今までレンタルサーバを使用して構築していた環境を使用せず、GAEという完全にオープンでフリーな環境で運用することができます。これは、いままで課金がほぼ当たり前だったサーバ周りの環境が、基本的に無料で使用できるようになるという強烈なインパクトがあると思います。
近頃、いささかバズワードと揶揄されつつある“クラウド”ですが、技術者から見たクラウドとは、メーカー主導でサーバハウジングのほとんど名を変えただけのそれではなく、GAEという優れたバックグラウンドテクノロジーから私たちが自由な発想でアプリケーションを構築/運用する環境や技術の集大成であると筆者は考えています。
1/3 |
Index | |
GAE上でWordPressを動かす | |
Page1 GAEにインストールするアプリケーションについて WordPressとは? なぜWordPressをGAEで検証しようとしたか? 著名なアプリケーションをGAE上で動作させるということは…… | |
Page2 GAE環境で動作されるために想定される問題について WordPressを動かしてみよう! データベースの互換性問題とその解決 文字化けの問題とその回避策 GAEの30秒ルールの問題 ファイル書き込みの問題 | |
Page3 GAEでのWordPressの動作確認 インストールの画面と初期設定 インストール PHP4GとGAEの今後について |
Coding Edgeお勧め記事 |
いまさらアルゴリズムを学ぶ意味 コーディングに役立つ! アルゴリズムの基本(1) コンピュータに「3の倍数と3の付く数字」を判断させるにはどうしたらいいか。発想力を鍛えよう |
|
Zope 3の魅力に迫る Zope 3とは何ぞや?(1) Pythonで書かれたWebアプリケーションフレームワーク「Zope 3」。ほかのソフトウェアとは一体何が違っているのか? |
|
貧弱環境プログラミングのススメ 柴田 淳のコーディング天国 高性能なIT機器に囲まれた環境でコンピュータの動作原理に触れることは可能だろうか。貧弱なPC上にビットマップの直線をどうやって引く? |
|
Haskellプログラミングの楽しみ方 のんびりHaskell(1) 関数型言語に分類されるHaskell。C言語などの手続き型言語とまったく異なるプログラミングの世界に踏み出してみよう |
|
ちょっと変わったLisp入門 Gaucheでメタプログラミング(1) Lispの一種であるScheme。いくつかある処理系の中でも気軽にスクリプトを書けるGaucheでLispの世界を体験してみよう |
|
- プログラムの実行はどのようにして行われるのか、Linuxカーネルのコードから探る (2017/7/20)
C言語の「Hello World!」プログラムで使われる、「printf()」「main()」関数の中身を、デバッガによる解析と逆アセンブル、ソースコード読解などのさまざまな側面から探る連載。最終回は、Linuxカーネルの中では、プログラムの起動時にはどのような処理が行われているのかを探る - エンジニアならC言語プログラムの終わりに呼び出されるexit()の中身分かってますよね? (2017/7/13)
C言語の「Hello World!」プログラムで使われる、「printf()」「main()」関数の中身を、デバッガによる解析と逆アセンブル、ソースコード読解などのさまざまな側面から探る連載。今回は、プログラムの終わりに呼び出されるexit()の中身を探る - VBAにおけるFileDialog操作の基本&ドライブの空き容量、ファイルのサイズやタイムスタンプの取得方法 (2017/7/10)
指定したドライブの空き容量、ファイルのタイムスタンプや属性を取得する方法、FileDialog/エクスプローラー操作の基本を紹介します - さらば残業! 面倒くさいエクセル業務を楽にする「Excel VBA」とは (2017/7/6)
日頃発生する“面倒くさい業務”。簡単なプログラミングで効率化できる可能性がある。本稿では、業務で使うことが多い「Microsoft Excel」で使えるVBAを紹介する。※ショートカットキー、アクセスキーの解説あり
|
|