翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
ステップ 2: Amazon Linux または Red Hat Enterprise Linux Amazon EC2インスタンスにデプロイするソースコンテンツを設定する
ここでは、アプリケーションのソースコンテンツを設定し、インスタンスにデプロイできるものを用意します。
ソースコードの入手
このチュートリアルでは、 WordPress コンテンツ発行プラットフォームを開発マシンからターゲット Amazon EC2インスタンスにデプロイします。 WordPress ソースコードを取得するには、組み込みのコマンドライン呼び出しを使用できます。または、開発マシンに Git をインストールしている場合は、代わりにそれを使用します。
これらの手順では、 WordPress ソースコードのコピーを開発マシンの /tmp
ディレクトリにダウンロードしたと仮定します。(任意のディレクトリを選択できますが、ステップで /tmp
が指定されている場合は、その場所に必ず置き換えてください)。
次の 2 つのオプションのいずれかを選択して、 WordPress ソースファイルを開発マシンにコピーします。最初のオプションでは、組み込みのコマンドラインの呼び出しを使用します。2 番目のオプションでは、Git を使用します。
WordPress ソースコードのコピーを取得するには (組み込みコマンドライン呼び出し)
-
wget コマンドを呼び出して、 WordPress ソースコードのコピーを .zip ファイルとして現在のディレクトリにダウンロードします。
wget https://github.com/WordPress/WordPress/archive/master.zip
-
unzip、mkdir、cp、rm コマンドを呼び出して、以下を実行します。
-
master
.zip ファイルを/tmp/WordPress_Temp
ディレクトリ (フォルダ) に解凍します。 -
解凍された内容を、
/tmp/WordPress
宛先フォルダにコピーします。 -
一時的な
/tmp/WordPress_Temp
フォルダとmaster
ファイルを削除します。
コマンドを一度に 1 つずつ実行します。
unzip master -d /tmp/WordPress_Temp
mkdir -p /tmp/WordPress
cp -paf /tmp/WordPress_Temp/WordPress-master/* /tmp/WordPress
rm -rf /tmp/WordPress_Temp
rm -f master
これにより、
/tmp/WordPress
フォルダ内の WordPress ソースコードファイルのクリーンなセットが残ります。 -
WordPress ソースコードのコピーを取得するには (Git)
-
開発マシンで Git
をダウンロードしてインストールします。 -
/tmp/WordPress
フォルダで git init コマンドを呼び出します。 -
git clone コマンドを呼び出してパブリック WordPressリポジトリをクローンし、コピー
/tmp/WordPress
先フォルダに独自のコピーを作成します。git clone https://github.com/WordPress/WordPress.git /tmp/WordPress
これにより、
/tmp/WordPress
フォルダ内の WordPress ソースコードファイルのクリーンなセットが残ります。
アプリケーションを実行するスクリプトの作成
次に、 ディレクトリにフォルダとスクリプトを作成します。 は、これらのスクリプト CodeDeploy を使用して、ターゲット Amazon EC2インスタンスにアプリケーションリビジョンをセットアップしてデプロイします。スクリプトの作成には任意のテキストエディタを使用できます。
-
WordPress ソースコードのコピーにスクリプトディレクトリを作成します。
mkdir -p /tmp/WordPress/scripts
-
install_dependencies.sh
に/tmp/WordPress/scripts
ファイルを作成します。ファイルに以下の行を追加します。このinstall_dependencies.sh
スクリプトは、Apache、My SQL、および をインストールしますPHP。また、 に MySQL Support も追加されますPHP。#!/bin/bash sudo amazon-linux-extras install php7.4 sudo yum install -y httpd mariadb-server php
-
start_server.sh
に/tmp/WordPress/scripts
ファイルを作成します。ファイルに以下の行を追加します。このstart_server.sh
スクリプトは Apache と My を起動しますSQL。#!/bin/bash systemctl start mariadb.service systemctl start httpd.service systemctl start php-fpm.service
-
stop_server.sh
に/tmp/WordPress/scripts
ファイルを作成します。ファイルに以下の行を追加します。このstop_server.sh
スクリプトは Apache と My を停止しますSQL。#!/bin/bash isExistApp="pgrep httpd" if [[ -n $isExistApp ]]; then systemctl stop httpd.service fi isExistApp=pgrep mysqld if [[ -n $isExistApp ]]; then systemctl stop mariadb.service fi isExistApp=pgrep php-fpm if [[ -n $isExistApp ]]; then systemctl stop php-fpm.service fi
-
create_test_db.sh
に/tmp/WordPress/scripts
ファイルを作成します。ファイルに以下の行を追加します。このcreate_test_db.sh
スクリプトは、MySQL を使用して、使用する WordPress のtest
データベースを作成します。#!/bin/bash mysql -uroot <<CREATE_TEST_DB CREATE DATABASE IF NOT EXISTS test; CREATE_TEST_DB
-
最後に、
/tmp/WordPress/scripts
にchange_permissions.sh
スクリプトファイルを作成します。これは Apache のフォルダのアクセス権限を変更するために使用されます。重要
このスクリプトにより、誰でも書き込めるように、
/tmp/WordPress
フォルダのアクセス権限が更新されました。これは、 が 中にデータベースに WordPress 書き込むために必要ですステップ 5: WordPress アプリケーションを更新して再デプロイする。 WordPress アプリケーションを設定したら、次のコマンドを実行して、アクセス許可をより安全な設定に更新します。chmod -R 755 /var/www/html/WordPress
#!/bin/bash chmod -R 777 /var/www/html/WordPress
-
すべてのスクリプトに実行可能権限を付与します。コマンドラインで、次のように入力します。
chmod +x /tmp/WordPress/scripts/*
アプリケーション仕様ファイルの追加
次に、アプリケーション仕様ファイル (AppSpec ファイル) を追加します。これは、 が使用する YAML
-
アプリケーションリビジョンのソースファイルをターゲット Amazon EC2インスタンスの宛先にマッピングします。
-
デプロイされたファイルのカスタムアクセス権限を指定する。
-
デプロイ中にターゲット Amazon EC2インスタンスで実行するスクリプトを指定します。
AppSpec ファイルの名前は である必要がありますappspec.yml
。アプリケーションソースコードのルートディレクトリに配置する必要があります。このチュートリアルでは、ルートディレクトリは /tmp/WordPress
です。
テキストエディタで appspec.yml
という名前のファイルを作成します。このファイルに次の行を追加します。
version: 0.0 os: linux files: - source: / destination: /var/www/html/WordPress hooks: BeforeInstall: - location: scripts/install_dependencies.sh timeout: 300 runas: root AfterInstall: - location: scripts/change_permissions.sh timeout: 300 runas: root ApplicationStart: - location: scripts/start_server.sh - location: scripts/create_test_db.sh timeout: 300 runas: root ApplicationStop: - location: scripts/stop_server.sh timeout: 300 runas: root
CodeDeploy は、この AppSpec ファイルを使用して、開発マシン上の/tmp/WordPress
フォルダ内のすべてのファイルをターゲット Amazon EC2インスタンス上の/var/www/html/WordPress
フォルダにコピーします。デプロイ中、 は、デプロイライフサイクル中に指定されたイベントで、ターゲット Amazon EC2インスタンスの /var/www/html/WordPress/scripts
フォルダroot
にある として、 BeforeInstall
や など、指定されたスクリプト CodeDeploy を実行しますAfterInstall
。これらのスクリプトのいずれかの実行に 300 秒 (5 分) 以上かかる場合、 はデプロイ CodeDeploy を停止し、デプロイを失敗としてマークします。
これらの設定の詳細については、「CodeDeploy AppSpec ファイルリファレンス」を参照してください。
重要
このファイルの項目間のスペースの場所と数は重要です。間隔が正しくない場合、 はデバッグが難しいエラーを CodeDeploy レイズします。詳細については、「AppSpec ファイル間隔」を参照してください。