たぬきです。
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も動くんですなぁ
WordPress動かすよ
というわけで、動かしてみましょう。
GoogleさんにもWordPressに関する質問が多いのでしょう。ドキュメントに「Quick Start WordPress for Google App Engine」用意されてました(・ω<)
これに沿って進めていきます。
まずは環境準備
自分のローカルで、デプロイするWordPressが動く環境を作ります。
- Google App EngineのPHP用SDKをインストール(Install the PHP SDK for Google App Engine)
- 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://
これでとりあえず使えるようになります。
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明日はわたぼんさんです。
それでは。 ヾ(・д・。)マタネー♪
コメント