SFTP クライアントソフトを使用して網元でインスタンスに接続するには SFTP 接続が可能なアプリケーション(クライアントソフト)とインスタンスにひも付いた秘密鍵(.pem)が必要です。
ec2-user でもインスタンスへの接続は可能ですが、WordPress のファイルが置かれたディレクトリ /var/www/vhosts
は Web サーバの実行ユーザ nginx が所有者となっており、SFTP クライアント等で直接ファイルをアップロードする事はできません。
今回はnginx, php-fpm の実行ユーザを ec2-user に変更し、ec2-user ユーザでもファイルのアップロードなどの操作をできるようにする方法をご紹介します。
1. nginx, php-fpm の実行ユーザを ec2-user にする(インスタンス作成後1回のみ)
まず、/opt/local/amimoto.json
というファイルを開いて内容を以下のように書き換えます
{
"nginx" : { "config" : { "user" : "ec2-user" } },
"php" : { "config" : { "user" : "ec2-user" } },
"run_list" : [ "recipe[amimoto]" ]
}
HHVM版網元の場合は、以下のように書き換えます
{
"nginx" : { "config" : { "user" : "ec2-user" } },
"php" : { "config" : { "user" : "ec2-user" } },
"hhvm" : { "enabled" : true, "config" : { "user" : "ec2-user" } },
"run_list" : [ "recipe[amimoto]" ]
}
次に root 権限で /opt/local/provision を実行します
$ sudo /opt/local/provision
完了後、/var/www/vhosts
を ec2-user ユーザでも操作できるように所有者を変更します。
$sudo chown -R ec2-user:nginx /var/www/vhosts
2. (S)FTPクライアントソフトで接続する
接続サーバーなどの設定は
- サーバ:インスタンスのIPアドレス
- ユーザ名:ec2-user
- 秘密鍵
- パス:/var/www/vhosts/{インスタンス名(任意)}
- 接続方法(ポート):SFTP(22)
となります。
SFTP 接続が可能なクライアントソフトの一例として
があげられます。
一例ですが、Cyberduckの場合は下記写真を参照にサーバ情報を入力し「公開鍵認証を使用する」にチェックを入れると秘密鍵(.pem)を選択できます。