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をローカルで動かしてみます。
まずはデータベースの作成。

{PATH_TO_MYSQL_BIN}/mysql -u root -p
create database wordpress_db;
exit;

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

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

dev_appserver.py path_to_this_directory

or

dev_appserver.py --php_executable_path=~/php-5.4.25/installdir/bin/php-cgi path_to_this_directory

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

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

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

デプロイする

デプロイしますよ。

appcfg.py update APPLICATION_DIRECTORY

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

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

{PATH_TO_MYSQL_BIN}/mysql --host=INSTANCE_IP --user=root --password
create database wordpress_db;
exit;

「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明日はわたぼんさんです。

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

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

主にWordPressでの開発やサーバーの構築や管理なんかをやっているWordPressのプロ・専門家。
静岡 WordPress Meetup 共同オーガナイザーなどWordPressコミュニティにも参加中。

コメント

目次