クラウド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に掲載されているブログAWS のプロフェッショナルによるフル・マネージドホスティング、セルフホスティングのWordPress のホスティングソリューションを見て下さい。
つまりec2-userとして入るんではなく、nginxとして入り込まないとファイル管理が出来ないんです。Windowsの場合、Teraterm を使ってブログの指示通りおこないます。不慣れなんで慎重にCodeを打っていきます。(@ip-***-**-**-**はInstance IDです)[text]
[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 ]
[/text][ec2-user@ip-***-**-**-** ~]$ sudo /sbin/service monit stop
monit: 認識されていないサービスです。と表示されますが、次に進んで問題ありませんでした。[text]
[ec2-user@ip-***-**-**-** ~]$ sudo /user/sbin/usermod -d /var/www/vhosts nginx
sudo: /user/sbin/usermod: コマンドが見つかりません
[/text]/user/sbin/ ではありません/usr/sbin/ です。こんな所で間違えて上手くいかなかったんで注意、注意。後はうまく行きます。
[text][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/
[/text]Win_SCP_AWS02さてteraterm から去って、winSCP で確認してみましょう。
左のユーザー名(U)の所を、ec2-user からnginx にするだけです。これでAMIMOTO のWordpress にnginxとしてログインできます。
さて、どうでしょう!ちゃんとファイルのアップロードも削除もできるでは有りませんか?めでたしめでたし。

では、念の為ブログ“nginx ユーザとして ssh 接続できるようにするには?”の丸写しですが、Codeを全部書いておきましょう。
面倒だからといって、全部コピペして実行してはいけませんよ。1行ずつ確かめながら実行していきましょう。
[text]
$ 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/
[/text]

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

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

%d人のブロガーが「いいね」をつけました。
%d人のブロガーが「いいね」をつけました。