本稿は sunset された AMI 向けの内容となっており、最新版の AMI には対応しておりません。
最新版の Amazon Machine Images for WordPress を使ったセルフホスティングでは、PHPのデフォルトのバージョンが 7.2 となっています。
本ドキュメントは古いAmimoto AMI をご利用されている方や PHP のバージョンを 5.6 などへ変更した後に 7.2 へ変更を行いたい方向けのものとなります。
対象 AMI:
- WordPress powered by Amimoto (HVM)
- WordPress Powered by Amimoto (PVM)
- WooCommerce Powered by Amimoto (HVM)
注意点
実行するコマンドを以下に紹介しますが、行頭の $ や # を入力する必要はありません。
実行前にインスタンスのバックアップ (スナップショット) を必ず行ってください。スナップショットをとることで、トラブルがあった場合に復元が可能です。
スナップショットの取得と復元方法は、スナップショットの作成と、スナップショットからのリストア をご参照ください。
スナップショットの取得を自動化する場合は、スナップショットの自動作成方法 をご参照ください。
手順
(A) インスタンスの新規ローンチ時に PHP7.2 へアップデートする手順
(B) 既存のインスタンスの PHP を 7.2 へアップデートする方法
(A) インスタンスの新規ローンチ時に PHP7.2 へアップデートする手順
新規で Amimoto AMI を起動すると PHP 7.2 の最新バージョンがインストールされます。起動後に旧インスタンスからエクスポートしたデータのインポートなどを行ってください。
(B) 既存のインスタンスの PHP を PHP7 へアップデートする手順
注意 実行前に AWS コンソールなどでスナップショットを取得してください。
- Amimoto AMI の構成ファイルのバージョンを確認し、必要な場合は変更します。
- 変更後の chef レシピを使って PHP 7.2 へアップデートを行います。
1. Amimoto AMI の構成ファイルのバージョンを確認し、必要な場合は変更します
サーバへ SSH 接続をした後、以下のコマンドを実行してください。
実行後に master や * 2016.01 と表示されている部分が Amimoto AMIの構成ファイルのバージョンです。
$ git -C /opt/local/chef-repo/cookbooks/amimoto/ branch
* master
構成ファイルのバージョンが 2016.01 と表示されている場合
$ git -C /opt/local/chef-repo/cookbooks/amimoto/ branch
* 2016.01
上のようにコマンドを実行して 2016.01の前に * が表示された場合は、以下の手順でアップデートを行ってください。
$ curl -L -s https://raw.githubusercontent.com/amimoto-ami/amimoto-update/master/amimoto_update.2016.01.sh | sudo bash
設定を変更を反映するため、 reboot コマンドでインスタンスを再起動してください。
$ sudo reboot
構成ファイルのバージョンが 2016.01以外 (master など) と表示された場合、またはエラーとなった場合
以下のコマンドを実行することで、最新版の Amimoto AMI と同様の環境になります。
なお、途中で現在インストールされている PHP や MySQL パッケージの削除が実行されますので、不安な場合は、新しい Amimoto AMI でインスタンスを作成してデータ移行していただくようお願い致します。
$ curl -L -s https://raw.githubusercontent.com/amimoto-ami/amimoto-update/master/amimoto_update.sh | sudo bash
設定を変更を反映するため、 reboot コマンドでインスタンスを再起動してください。
$ sudo reboot
2. 変更後の Amimoto AMI の構成ファイルを使って、 PHP 7.2 へアップデートを行います
再起動が完了したら、サーバへ SSH 接続後に以下のコマンドを1行ずつ実行して PHP 7.2 を有効化してください。
$ ssh -i PATH-TO-KEY-FILE.pem ec2-user@IP-ADDRESS-OF-YOUR-INSTANCE
$ sudo su -
# yum update -y
# cd /opt/local/chef-repo/cookbooks/amimoto
# git pull origin 2016.01
# cd /opt/local
# echo '{"phpfpm":{"enabled": true, "version":"72"}}' > /tmp/php-fpm-72.json
# hash jq || yum install -y jq
# jq -s '.[1] * .[0]' /tmp/php-fpm-72.json /opt/local/amimoto.json > /tmp/amimoto.json
# mv -f /tmp/amimoto.json /opt/local/amimoto.json
# /opt/local/provision
# service monit stop
# service nginx restart
# service php-fpm restart
# service monit start
# exit
$ exit
変更作業は以上です。
その後、<?php phpinfo(); ?> などを記述したファイルを /var/www/vhosts/YOUR-DOMAIN/phpinfo.php と設置してブラウザからアクセスし、変更内容が正しく反映されたかを確認してください