クラウドAWSでWP(続々その2)

この記事は3年以上前の古い投稿記事です。古いことをご承知してお読み下さい。
前回は「何ともアッケナイ WordPressのインストールでした。」で終わりましたが、実は、まだ仕事が残っているんです。 せっかく作ったInstanceですが、これをStopして再StartするとPublic DSNが変わってしまうんですね。これでは独自ドメインなんてとんでもありません。 ここでチョットご注意!必ず右のような状態になっていることを確かめてくださいネ。intializingのまま操作をしてはいけません。右のように2/2となってないと問題起きますから(実は失敗しましたので) aws_WP_install21aws_WP_install20

Elastic IPs から Asociate Address を紐付け

Asociate Address を紐付けしないとPublic IP が定まりません。それにElastic IPsで取得したIPアドレスはサーバーインスタンスに紐付けないと、1年間の無料期間中でも課金されてしまいます(月5$)ので注意aws_WP_install10

Public IP がURLになります

普通はこれでAWS設定は完了します。中にはVPCを設定される方もいると思いますが、頑張ってください。 aws_WP_install11

ファイルのコピー、削除、アップロード

ここで、WinSCPでログインすると、WordPress のファイルが置かれた場所がわかります。ディレクトリーは、 /var/www/vhosts/i-Instance ID にお馴染みのWordPress一式が入っています。Win_SCP_AWS_05 ところが、Web サーバの実行ユーザは nginx (エンジンエックスと言います)が所有者となっているんですね。 ec2-user のクライアントでは直接ファイルをアップロードする権限がないのです。これは大問題であります。 子テーマを作ろうにもファイルをアップロードできないんではどうにもなりません。 実は、nginx ユーザでないとAMIMOTO のWordPress のファイル管理はできないんです。 AMIMOTOに掲載されているブログ“nginx ユーザとして ssh 接続できるようにするには”(2013/11/11 Release)を参考にしてください。 つまりec2-userとして入るんではなく、nginxとして入り込まないとファイル管理が出来ないんです。Windowsの場合、Teraterm を使ってブログの指示通りおこないます。不慣れなんで慎重にCodeを打っていきます。(@ip-***-**-**-**はInstance IDです)
[ec2-user@ip-***-**-**-** ~]$ sudo /usr/sbin/usermod -s /bin/bash nginx
[ec2-user@ip-***-**-**-** ~]$ sudo passwd nginx
ユーザー nginx のパスワードを変更。
新しいパスワード: (ここにPW入れても表示されません)
新しいパスワードを再入力してください: (ここにPW入れても表示されません)
passwd: 全ての認証トークンが正しく更新できました。

[ec2-user@ip-***-**-**-** ~]$ sudo /sbin/service monit stop
monit: 認識されていないサービスです。
[ec2-user@ip-***-**-**-** ~]$ sudo /sbin/service nginx stop
nginx を停止中:                                            [  OK  ]
[ec2-user@ip-***-**-**-** ~]$ sudo /sbin/service php-fpm stop
php-fpm を停止中:                                          [  OK  ]
[ec2-user@ip-***-**-**-** ~]$ sudo /sbin/service monit stop monit: 認識されていないサービスです。と表示されますが、次に進んで問題ありませんでした。
[ec2-user@ip-***-**-**-** ~]$ sudo /user/sbin/usermod -d /var/www/vhosts nginx
sudo: /user/sbin/usermod: コマンドが見つかりません
/user/sbin/ ではありません/usr/sbin/ です。こんな所で間違えて上手くいかなかったんで注意、注意。後はうまく行きます。
[ec2-user@ip-***-**-**-** ~]$ sudo mkdir /var/www/vhosts/.ssh
[ec2-user@ip-***-**-**-** ~]$ sudo cp /home/ec2-user/.ssh/authorized_keys /var/www/vhosts/.ssh
[ec2-user@ip-***-**-**-** ~]$ chown -R nginx:nginx /var/www/vhosts/.ssh/
Win_SCP_AWS02さてteraterm から去って、winSCP で確認してみましょう。 左のユーザー名(U)の所を、ec2-user からnginx にするだけです。これでAMIMOTO のWordpress にnginxとしてログインできます。 さて、どうでしょう!ちゃんとファイルのアップロードも削除もできるでは有りませんか?めでたしめでたし。 では、念の為ブログ“nginx ユーザとして ssh 接続できるようにするには?”の丸写しですが、Codeを全部書いておきましょう。 面倒だからといって、全部コピペして実行してはいけませんよ。1行ずつ確かめながら実行していきましょう。
$ sudo /usr/sbin/usermod -s /bin/bash nginx

$ sudo passwd nginx

$ sudo /sbin/service monit stop
$ sudo /sbin/service nginx stop
$ sudo /sbin/service php-fpm stop
$ sudo /usr/sbin/usermod -d /var/www/vhosts nginx
$ sudo /sbin/service php-fpm start
$ sudo /sbin/service nginx start
$ sudo /sbin/service monit start

$ sudo mkdir /var/www/vhosts/.ssh
$ sudo cp /home/ec2-user/.ssh/authorized_keys /var/www/vhosts/.ssh/
$ sudo chown -R nginx:nginx /var/www/vhosts/.ssh/

独自ドメイン(ムームードメインでDSN取得)

丁寧に解説したブログがありますので EC2とムームードメインで独自ドメイン運用【ムームーDNSで簡単設定】 Elastic IP アドレスの設定とRoute 53から独自ドメインの割当 を見て下さい。 実は、まだ独自ドメインを設定してませんので今回はここまでです。
%d人のブロガーが「いいね」をつけました。
%d人のブロガーが「いいね」をつけました。