Google App Engine でWordPressを動かしてみる #wpacja2014

たぬきです。
WordPress Advent Calendar 2014の6日の記事として書いてますよ。

「Google App Engine」でPHPが使えるようになっているので、WordPress動かして見ようと思ってたんですよね。機会がなくてなかなか触れないでいたので、Advent Calendarのネタとして触ってみました。(画像無くてごめんね)

 

Google App Engineとは

そもそも「Google App Engine」とはなんぞやという人も多いかなと思うので、軽くご説明。

公式には

生産性を高めるビルトイン サービスを使用した完全管理型の PaaS(Platform-as-a-Service: サービスとしてのプラットフォーム)でアプリケーションを実行できます。SDK をダウンロードするだけで、すぐにビルドを開始できます。

と書いてあります。

簡単に言えば、すでに出来上がっているアプリを、Googleの環境にデプロイ(アップ)することで、公開して使える環境を提供しますよというサービスですね。しかも他の「Cloud SQL」や「Cloud Storage」と組み合わせることもでき、いろんなアプリに対応できますよとのことです。

PHPも対応したのでWordPressも動くんですなぁ

App Engine

 

WordPress動かすよ

というわけで、動かしてみましょう。
GoogleさんにもWordPressに関する質問が多いのでしょう。ドキュメントに「Quick Start WordPress for Google App Engine」用意されてました(・ω<)

これに沿って進めていきます。

 

まずは環境準備

自分のローカルで、デプロイするWordPressが動く環境を作ります。

  1. Google App EngineのPHP用SDKをインストール(Install the PHP SDK for Google App Engine)
  2. MySQLをインストール(Install MySQL server)

 

各種設定

Google Developers Console」にサインイン(サインアップ)します。無料試用枠もあるので、いろいろ試しちゃいましょう。
コンソールに入ったら「プロジェクトの作成」をします。

プロジェクト作成できたら「Cloud SQL」のインスタンスの作成もしましょう。ここがWordPressのデータベースサーバになります。

 

先ほどのこのページ「Quick Start WordPress for Google App Engine」から、すぐに使えるWordPress環境も落としておきます。

そのファイルの中に「app.yaml」というのがあります。これが、App Engineの設定ファイルです。上のアドレスから落としたものはWordPress用の設定が書いてあるので、変更するのは「your-project-id」の部分のみです。ここを最初に作ったプロジェクトIDに変更します。

wp-config.phpにもプロジェクトIDを書き換える部分があるので、書き換えておきましょう。

 

ローカルで動かしてみる

デプロイするWordPressをローカルで動かしてみます。
まずはデータベースの作成。

データベースの名前は適宜変更してしまって問題ないです。ただ、その場合はwp-config.phpも書き換えてね。

では動かします。
Google App EngineのPHP用SDKを使えば動きます。WindowsやMacの場合はランチャーがあるみたいですね。Linuxの場合はコマンドを直接叩くしか無いようです。

or

です。「path_to_this_directory」の部分は自分の環境に合わせて変更してください。

そうすると環境が立ち上がるので「http://localhost:8080/」にアクセス(デフォルトだと)。いつものインストールを進めればOKです。
本体のアプデやプラグインのアプデとインストールここで済ませましょう。

アップデート関連やインストール関連はローカルで行い、それをデプロイするという形になります。アップしたあとの管理画面からだとできないので注意。

 

デプロイする

デプロイしますよ。

「APPLICATION_DIRECTORY」の部分は「app.yaml」がある階層を指定します。

 

Cloud SQLに本番で使うためのデータベースを作成します。

「INSTANCE_IP」はCloud SQLのインスタンスのIPです。

 

あとは、「http://.appspot.com/wp-admin/install.php」ここにアクセスして、インストールすればOKですよー。
これでとりあえず使えるようになります。

 

App Engine用のWordPress設定

App Engine用のプラグインがインストールされているはずなので、有効化します。
そのプラグインで各種設定を行うわけなのですが、大事な設定がひとつ。

App EngineではWordPressのファイルアップロードが動かないため、ファイルの保存先を「Cloud Storage」に設定しなければなりません。
Google Developers Console」でCloud Storageのバケットを1つ作成します。

作成したバケット名をWordPressのApp Engine設定画面に入力し、保存すればOK。
これで、使えるようになりましたとさ。

 

いろいろ弄りたいとき

いろいろ環境設定を変えたい場合はapp.yamlやphp.iniを変更していけばOKですよ。
Pagespeedも設定ファイルに書くことで、いろいろできるようです。

Custom PageSpeed configuration

 

まとめと感想

ちょっとめんどくさい感じもありますが、サーバの管理とか考えなくて済むのはいいかも。地味に「Cloud SQL」の課金が高い気がするので、そのあたりはうまく利用してください。
App Engine自体は無料枠が設定されているので、料金的な敷居は低いんですけどね(;´Д`)

SPDYやPagespeed、各種キャッシュ機能がふんだんに使われているので、表示速度はかなり速いです。
とはいえ「Google Compute Engine」使ったほうが無難な気もしなくもない。

インストールしただけのサイトを期間限定で放置するので、興味がある人は見てみてください
https://fair-kingdom-781.appspot.com

 

WordPress Advent Calendar 2014明日はわたぼんさんです。

 

それでは。 ヾ(・д・。)マタネー♪