レンタルサーバー選びの迷いを解決!全力サポートします

Google or AdMax Promotion (srv)

Google App Engine for PHPにWordPressをインストールする手順

Google App Engineの環境に対してWordPressをインストールして、
サイトの公開を行う全手順についてご紹介します。
このままやるだけで簡単にサイトの公開まで行えるようにご説明しています。

Google App Engineを利用した環境でWordPressの公開ができれば、
急激な負荷上昇時などにも自動的にインスタンスが起動して負荷の調整が行われ、
サイトの安定環境が利用できるような気がした為、
今回WordPressのインストールを検討することにしました。

 

Google App Engine for PHPにWordPressをインストールする手順

Google App Engine for PHPにWordPressを
インストール(デプロイ)するに当たっては事前に準備が必要です。

 

事前準備

最初にGoogle App EngineとCludSQL側の準備を行って、
ダウンロードしてきたWordPressに対して接続設定等を行います。

一通り設定が行えたら、ローカル環境で一旦動作の確認を行います。

2014/09/20追記
今回、 Google App Engineで構成する環境は、
すべて1つのアプリケーションに対して有効にしたCloudSQLおよびCloudStorageを利用します。

結果、以下のような構成でご紹介します。

05_WordPressの通常の構成配置

WordPressの通常の構成配置

 

少し構成を変えた配置も利用できますのでご紹介しておきます。

 

 

Google App Engineでアプリケーションの作成

Google App Engineで新規にアプリケーションを作成している必要があります。

アプリケーションの作成手順については以下でご紹介しています。

 

Google App Engineで新規にアプリケーションを作成することで、
一意なアプリケーションIDの取得が行えます。

 

MySQLデータベース(CloudSQL)の準備

新規アプリケーションの準備ができたら、
次はWordPressをインストールするデータベースを準備します。

Google App Engineで利用するデータベースとして、
CloudSQL(MySQL)が利用されることが多いことと思います。

ここでもCloudSQLの利用を想定してご紹介します。

CloudSQLを利用するための一連の作業を以下でご紹介しています。

 

MySQLインスタンスの作成、データベースの作成を行うことで、
WordPressのwp-config.phpに対して設定するデータベース接続情報が得られます。

ここではこのように設定したと仮定します。

  • データベース名: wddb
  • ユーザー名: sandbox_user
  • パスワード: XXXXX

 

ここまで準備ができたら、WordPressに対してGoogle App Engine向けの設定を行います。

 

WordPressのダウンロード

WordPressのダウンロードは通常WordPress.orgから行えますが、
ここではGitHubより行います。

(注意)
WordPressの中身自体はWordPress.orgからダウンロードしたものと変わらないようですが、
GitHubのGoogle App Engineからダウンロードを行うことで、
wp-config.phpおよび、app.yamlなどがセットでダウンロードできるため作業が簡単です。

以下サイトにアクセスして、WordPressのダウンロードを行います。

Quick Start WordPress for Google App Engine by GoogleCloudPlatform

01_Quick Start WordPress for Google App Engine on GitHub

Quick Start WordPress for Google App Engine on GitHub

 

アクセスしたら[Download for Windows]をクリックします。
※OSは各自の環境で選択ください。

2014/09/15現在のダウンロード先URLは以下です。

https://github.com/GoogleCloudPlatform/appengine-php-wordpress-starter-project/blob/master/appengine-php-wordpress-starter-project_windows.zip?raw=true

 

ダウンロードが完了し展開すると以下のようなファイルが生成されます。

02_ダウンロードファイル内の構成

ダウンロードファイル内の構成

 

丸ごとWordPressを含めたファイルが含まれています。
バージョンは「WordPress 4.0-alpha 英語版」です。

ダウンロードしたファイルをCドライブ下などに展開しておきます。
ここでは「 C:\gae_dev\sandbox-wp40jp\wordpress 」に対して展開したものとします。

この「 C:\gae_dev\sandbox-wp40jp 」をGoogle App Engineのアプリケーションフォルダとします。

03_アプリケーションフォルダ内に配置

アプリケーションフォルダ内に配置

 

Google App Engine for WordPressプラグインの配置

WordPressをGoogle App Engineで利用する上では、
Google App Engine独特のファイル制御に対応させるために、
Google App Engine for WordPressプラグインが必要になります。

GitHubからダウンロードしたものには元々このプラグインが導入されています。

04_プラグインデプロイ前

プラグインデプロイ前

 

もし、よく利用するプラグインがあるような場合には、
この時点でpluginsディレクトリに対してプラグインファイルを配置しておくといいでしょう。

 

WordPressのGoogle App Engine向けの設定

WordPressをGoogle App Engine上で動かすには、
Google App Engineの流儀に合わせて設定を行う必要がありますが、

GitHubからダウンロードしたものは設定がほぼ済んでいます。

 

wp-config.phpファイルの準備

wp-config.phpファイルが既に生成された状態になっていて、
ローカル環境とサーバー環境の切り替えが自動で行えるように記述されています。

 

このwp-config.phpを元にしてデータベースの接続情報を以下のように設定します。

設定が以下のような場合の設定例です。

  • データベース名: wddb
  • ユーザー名: sandbox_user
  • パスワード: XXXXX

データベースのホスト名はGoogle Cloud SQLインスタンスを作成した際の、
インスタンスIDを指定します。

インスタンスIDが「sandbox-rensrv:YYYYY」である場合には、

  • データベースホスト名: ’:/cloudsql/sandbox-rensrv:YYYYYY’ とします。

インスタンスIDの確認はDeveloperConsoleのCloudSQLにて確認できます。

04_インスタンスIDの確認方法

インスタンスIDの確認方法

 

設定した例は、以下のようになります。

 

※34,35,36行目の設定はローカル環境のMySQLの接続情報を設定します。
またデータベース名はこの記述の場合はCloudSQLと同名のデータベースをローカルに作成します。

ローカル環境にMySQLのインストールが必要になりますので、
インストールしていない場合には、以下を参考にインストールをしておきます。

 

以下はGoogle App Engineに限ったことではありませんが、

一意のユニークキーをhttps://api.wordpress.org/secret-key/1.1/salt/ に
アクセスし取得したらそのまま貼りつけます。

 

WP3.9からWP4.0日本語版へ変更

ダウンロードしてきたWordPressは「WordPress 4.0-alpha 英語版」です。
これを日本語化するに当たっては、私は以下のような手順で行いました。

WordPress4.0日本語版をWordPress.orgよりダウンロードしてきて、
「wordpress\wp-content\languages」フォルダをそのままコピーして配置しました。

次にwp-config.phpに対して以下の1行を挿入しました。

 

WordPress4.0以降はこの設定は原則不要で言語選択による導入が実装されています。

(参考)

 

しかしながら、 Google App Engineで[一般設定]を更新すると、
言語が英語に戻されてしまう症状に出会いました。

その為、言語ファイルの手動実装とwp-config.phpの言語指定を記載しました。

23_サイトの言語の動作が一部不安定

サイトの言語の動作が一部不安定

 

app.yamlファイルの編集

Google App Engine Launcherによって作成されたapp.yamlファイルを、
テキストエディタで開き確認します。

1行目の「your-project-id」に対して、
Google App Engineで作成したアプリケーションID(プロジェクトID)に変更します。

2行目のversionは変更してもしなくても構いませんが、
最初に好きな分かりやすい名前に変更しておくといいでしょう。

このversionを変更すると、過去のアプリケーションを公開したまま、
新しいバージョンのアプリケーションをアップロードし、
動作確認をして切り替えることができるようになります。

 

 

なお、このGitHubからダウンロードしてきたapp.yamlであれば、
特に他の部分を編集することなくWordPressが動作することが確認できましたが、
詳しく知りたい方は、以下が参考になります。

Configuring with app.yaml – PHP — Google Developers (英語)

 

php.ini ファイルの確認

通常は手動でphp.iniファイルを用意するのですが、
アプリケーションディレクトリに対して、php.iniファイルが既に作成されています。

これは特に変更する必要はありません。

 

cron.yaml ファイルの確認

通常は手動でcron.yamlファイルを用意するのですが、
アプリケーションディレクトリに対して、cron.yamlファイルも既に作成されています。

これは特に変更する必要はありません。

 

一通り、ファイルの準備ができたら、ローカル環境で動作の確認を行います。


 

ローカル環境で実行

デプロイする前にまずローカル環境での実行を確認します。

ローカル環境で実行してWordPressの動作を確認するには、
MySQLデータベースがインストールされており、
wp-config.phpに指定したローカル側のホスト名(例:localhost)、
データベース名、ユーザー名、パスワードで接続が可能である必要があります。

「Google App Engine Launcher」を起動してアプリケーションを登録します。

[File]-[Add Existing Application…]を選択します。

05_既存アプリケーションの追加

既存アプリケーションの追加

 

アプリケーションの追加時にはWordPressを展開した、
「 C:\gae_dev\sandbox-wp40jp 」を指定して[Add]をクリックします。

06_既存アプリケーションの指定

既存アプリケーションの指定

 

アプリケーションの一覧に対してアプリケーションが追加されます。

アプリケーションが追加されたら追加されたアプリを選択し[Run]をクリックします。

07_アプリケーションの一覧追加とローカル実行

アプリケーションの一覧追加とローカル実行

 

一覧のアイコンが緑に変わったら[Browse]をクリックしてサイトを表示します。

08_アプリケーションの表示確認

アプリケーションの表示確認

 

WordPressのローカルインストール

サイトが表示されおなじみのWordPressインストールが開始されます。

09_WordPressインストーラ起動(ローカル)

WordPressインストーラ起動(ローカル)

 

インストール完了

10_WordPressインストール完了(ローカル)

WordPressインストール完了(ローカル)

 

ログイン

11_WordPressログイン(ローカル)

WordPressログイン(ローカル)

 

ダッシュボード表示

ダッシュボード表示が行われたら、パーマリンク設定などの一連の設定変更を試します。

12_WordPressダッシュボード(ローカル)

WordPressダッシュボード(ローカル)

 

ローカル環境で実際に投稿をおこなったりして表示の確認を行います。

ローカル環境であれば特に問題なく動作の確認が行えると思います。

13_WordPressサイト表示(ローカル)

WordPressサイト表示(ローカル)

 

WordPressのデプロイ

では動作確認が終わったところでサイトをデプロイ(アップロード)します。

「Google App Engine Launcher」でアプリを選択した状態で[Deploy]をクリックします。

14_アプリケーションのデプロイ

アプリケーションのデプロイ

 

Googleアカウント(特に変更がない場合)を入力してログインします。

15_Googleアカウントログイン

Googleアカウントログイン

 

すぐにログインされ、Google App Engine Launcherコンソール上に
デプロイ(アップロード)の状況が表示されます。

表示にエラーメッセージなどが表示されていないことを確認し、
閉じていいよというメッセージが表示されればデプロイは完了です。

You can close this window now.

16_Google App Engine Launcherコンソール

Google App Engine Launcherコンソール

 

デプロイが完了して、Google App Engine アプリケーションOverView を開き、
アプリケーション一覧を確認すると、ステータスが[Running]表示になっています。

[Running]横のポップアップアイコンをクリックすることでサイトの表示が行えます。

17_アプリケーション一覧のステータス確認

アプリケーション一覧のステータス確認

 


 

Google App Engine環境で実行

サイトを表示するとおなじみのインストール開始画面が表示されます。

 

WordPressのGoogle App Engine環境インストール

インストール画面が表示されたら通常通りインストールを行います。

18_WordPressインストーラ起動(GAE)

WordPressインストーラ起動(GAE)

 

インストール完了

19_WordPressインストール完了(GAE)

WordPressインストール完了(GAE)

 

ログイン

20_WordPressログイン(GAE)

WordPressログイン(GAE)

 

ダッシュボード表示

ダッシュボード表示が行われたら、パーマリンク設定などの一連の設定変更を試します。

21_WordPressダッシュボード(GAE)

WordPressダッシュボード(GAE)

 

パーマリンク設定の設定タグの修正

パーマリンク設定を行った際には選択したURL形式のタグに対して、
「/index.php/」が挿入された形で設定がされてしまう場合があります。

この場合はカスタム設定のURL形式部分で「/index.php/」を削除することで対応が行えます。

 

サイトURLの固定表示化

なお、 Google App Engine環境に対してGitHub上のWordPressをインストールすると、
サイトのアドレスはトップ固定になります(編集不可)

22_一般設定のサイトアドレス変更不可

一般設定のサイトアドレス変更不可

 

サイトの言語選択肢の表示乱れ

言語ファイルを追加でインストールしていますが、
wp-config.phpに対して、define(‘WPLANG’, ‘ja’); の記述がない場合には、
一般設定を保存したタイミングで英語表記に戻されてしまいました。

define(‘WPLANG’, ‘ja’); を記述した状態でも以下のような表示がされてしまいました。

23_サイトの言語の動作が一部不安定

サイトの言語の動作が一部不安定

 

画像アップロードエラーに対する対応

Google App Engine for PHPではファイル管理の仕組みが通常のWordPressとは異なっており、
バケットというファイル保存領域を利用します。

その為「Google App Engine for WordPress」プラグインが有効ではない場合には、
以下のようにエラーとなります。

24_画像アップロードエラー

画像アップロードエラー

 

なお、「Google App Engine for WordPress」プラグインの設定と、
バケットの指定方法については以下でご紹介しています。

 

プラグインの設定を行うと問題なく画像ファイルがアップロードできるようになります。

25_画像のアップロードと表示

画像のアップロードと表示

 

このようにして、Google App Engine 上でWordPressをホストして、
サイトを公開することができます。

 

その他のエラー例

なお、WordPressの設置過程でCloudSQLを採用しているかと思いますので、
課金情報の登録は済ませていることと思います。

課金情報を登録している場合には以下のエラーには出会わないと思いますが、

WordPressを設置したアプリケーション(プロジェクト)と、
CloudSQLを有効化したプロジェクトが異なっている場合には、
以下のようなエラーに遭遇する場合もあるかもしれません。

 

サイトのデプロイを何度も繰り返して表示確認を行っていると、
サイトの表示が反映されないと感じることもあるかと思います。

サイトの表示が反映されない場合には以下を試すといいでしょう。

 

プロモーション

Google or AdMax Promotion (srvpos)

さいごに

今回、このGoogle App Engine for PHPにWordPressをインストールを行った際に、
様々なサイトを拝見いたしました。

結果、書いてある通りやってみてもうまくいかなかったりと大変苦労をしました。

その結果、英語版ではありましたが、

Quick Start WordPress for Google App Engine by GoogleCloudPlatform で、

公開されていたWordPressを利用して日本語化する方法が、
一番安定してインストールが行えることが分かりました。

 

非常に長い投稿になってしまいましたが、
手順を踏んでインストールすることで、問題なく利用ができるようになると思います。

WordPress for Google App Engine を検討されている方のお力になれれば幸いです。

 

参考

書いてあるまんまで私にはうまく導入することができませんでしたが、
Google App Engineの基本的な流儀を学ぶ上で参考にさせて頂きました。

大変助かりました。ありがとうございます。

Blog @vierjp : 29.Google App Engine for PHPでWordPressを動かしてみた

takahara氏にはいつもお世話になっています。

 Google App Engine (GAE)でPHPもMySqlを使えるようになったことでWrodPressが使えるよw …

 


AdMax Promotion

公開日:
最終更新日:2014/09/20

コンテンツナビ
すべて展開 | すべて省略

AdMax Promotion

カテゴリ
すべて展開 | すべて省略

QRコードからもこのURLを開けます。