AMIMOTO AMI (HVM/PVM) で PHP7.0 を使う方法

対象 AMI: 

 

 

注意点

実行するコマンドを以下に紹介しますが、行頭の $# を入力する必要はありません。
また、PHP 7.1 へ変更する場合は、AMIMOTO AMI (HVM/PVM) で PHP 7.1 を使う方法をご参照ください。

実行前にインスタンスのバックアップ (スナップショット) を必ず行ってください。スナップショットをとることで、トラブルがあった場合に復元が可能です。

スナップショットの取得と復元方法は、スナップショットの作成と、スナップショットからのリストア をご参照ください。
スナップショットの取得を自動化する場合は、スナップショットを自動で作成するには? をご参照ください。

 

 

手順

A と B の2通りのアプローチがあります

(A) 新規でローンチするインスタンスの PHP を 7.0 へアップデートする方法 
(B) 既存のインスタンスの PHP を 7.0 へアップデートする方法

 

 

(A) インスタンスの新規ローンチ時に PHP7.0 へアップデートする手順

ローンチ時の Configure Instance のステップの下部 Advanced Details にある UserData (赤枠)に以下のテキストを設定してローンチをしてください。

詳しい UserData の指定方法は Linux インスタンスでの起動時のコマンドの実行 をご参照ください。

以下を User data へコピー&ペーストしてください。

#!/bin/bash -ex

echo '{"phpfpm":{"version":"70"}}' > /tmp/php-fpm-70.json
if [ ! -e /opt/local ]; then
/bin/mkdir -p /opt/local
fi

if [ -f /opt/local/amimoto.json ]; then
hash jq || /usr/bin/yum install -y jq
/usr/bin/jq -s '.[1] * .[0]' /tmp/php-fpm-70.json /opt/local/amimoto.json > /tmp/amimoto.json
/bin/mv -f /tmp/amimoto.json /opt/local/amimoto.json
else
/bin/cp /tmp/php-fpm-70.json /opt/local/amimoto.json
fi
/bin/rm -f /tmp/php-fpm-70.json

 

(B) 既存のインスタンスの PHP を PHP7 へアップデートする手順

注意 実行前に AWS コンソールなどでスナップショットを取得してください。

  1. AMIMOTO AMI の構成ファイルののバージョンを確認し、必要な場合は変更します
  2. 変更後の chef レシピを使って PHP 7.0 へアップデートを行います
1. AMIMOTO AMI の構成ファイルのバージョンを確認し、必要な場合は変更します

サーバへ SSH 接続をした後、以下のコマンドを実行してください。

$ git -C /opt/local/chef-repo/cookbooks/amimoto/ branch
* master

実行後に master や * 2016.01 と表示されている部分がAMIMOTO AMIの構成ファイルのバージョンです。

構成ファイルのバージョンが 2016.01 と表示されている場合

上のコマンドを実行して 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.0 へアップデートを行います

再起動が完了したら、サーバへ SSH 接続後に以下のコマンドを1行ずつ実行して PHP 7.0 を有効化してください。

$ 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":"70"}}' > /tmp/php-fpm-70.json # hash jq || yum install -y jq # jq -s '.[1] * .[0]' /tmp/php-fpm-70.json /opt/local/amimoto.json > /tmp/amimoto.json # mv -f /tmp/amimoto.json /opt/local/amimoto.json # /opt/local/provision
他にご質問がございましたら、リクエストを送信してください

0 コメント

記事コメントは受け付けていません。
Powered by Zendesk