WordPress on Google App Engine の構築をフレキシブルとスタンダードで試してみた

Apple シリコン環境に PHP 7.3 をインストール

WordPress on Google App Engine が動作する無難なバージョンが PHP 7.3 な感じなので、ローカルの Apple シリコン環境にも PHP 7.3 を用意します。

brew install shivammathur/php/[email protected]

brew link --overwrite --force shivammathur/php/[email protected]

php -v

Apple シリコン環境に cloud-sql-proxy をインストール

ローカルから Google Cloud SQL for MySQL に接続するための Proxy ツールをインストールします。

curl -o ~/bin/cloud-sql-proxy \
  https://storage.googleapis.com/cloud-sql-connectors/cloud-sql-proxy/v2.1.2/cloud-sql-proxy.darwin.arm64
  
chmod +x ~/bin/cloud-sql-proxy

~/bin/cloud-sql-proxy -v

Google Cloud SQL for MySQL を作成し DB を準備

Cloud SQL 管理者ロールのサービスアカウントを作成し、saccount.json というファイル名でダウンロードしておきます。

project=mnrwp-dev
instance=wpdb
saccount=saccount.json

gcloud init

gcloud config list

gcloud sql instances create ${instance} \
  --activation-policy=ALWAYS \
  --tier=db-n1-standard-1 \
  --region=asia-northeast1

gcloud sql users set-password root \
  --instance ${instance} \
  --password ************ \
  --host %

~/bin/cloud-sql-proxy \
  ${project}:asia-northeast1:${instance} \
  -c ${saccount}

mysql -h 127.0.0.1 -u root -p

mysql> create database wp;
mysql> create user 'user'@'%' identified by '************';
mysql> grant all on wp.* to 'user'@'%';
mysql> exit

Google App Engine をフレキシブルで作成

まずはフレキシブルで作成してみます。自分の環境だけかもしれませんが、初回だけ gcloud app deploy に 30 分以上かかりました。

git clone https://github.com/GoogleCloudPlatform/php-docs-samples.git

cd php-docs-samples/appengine/flexible/wordpress

composer install

php wordpress.php setup -n \
  --dir=./wordpress-project \
  --db_instance=${instance} \
  --db_name=wp \
  --db_user=user \
  --project_id=${project} \
  --db_password=************ \
  --db_region=asia-northeast1

cd wordpress-project

gcloud app deploy \
  --promote \
  --stop-previous-version app.yaml

Google App Engine をスタンダードで作成

同じ App Engine にスタンダードで作成します。フレキシブルと違い、gcloud app deploy はすんなり。

git clone https://github.com/GoogleCloudPlatform/php-docs-samples.git

cd php-docs-samples/appengine/standard/wordpress

composer install

php vendor/bin/wp-gae create

cd my-wordpress-project

code app.yaml # 一行目の runtime: php72 を runtime: php73 に変更

gcloud app deploy app.yaml
タグ: , , , ,