"Diary" インターネットさんへの恩返し

いつもソースコードコピペばかりなので,みなさまへ少しばかりの恩返しを

【AWS】RDSでWordpress簡単セットアップ手順



スポンサーリンク

AWSではCloudFormationという、OS/DB/アプリとかが事前にセットになっているものを指定して、EC2インスタンスを利用することができる。

#構築したもののアクセスが少なくてもRDSのコスト33$(月)になったのでRDS使わずに#EC2だけでやったり,レンタルサーバでやった方がベターです。

 

 

今日、見たところデフォルトで用意されているテンプレートにはこんなのがあった。

 

一般的~凝ったWeb作るにも充分なセットがそろっている。

簡単なものならわざわざherokuとxeround clould dbとか使うの面倒に思えますね。

 

1.CloudFormationでWordpressのEC2を作る


 AWS consoleにログインし、CloudFormationの画面に行く。

f:id:azumami:20130220110620j:plain

 

Sapples using Amazon RDS > WordPress Blogを選ぶ

f:id:azumami:20130220110907j:plain

 

あとは細かなセキュリティ設定なので、必要に応じてウィザードを進める。

進み終わると以下のように、新しくリソースが追加されます。

f:id:azumami:20130220111106j:plain

 

DBもこんな感じでRDSとして追加されます。

f:id:azumami:20130220111302j:plain

 

2.ターミナルクライアント「PuTTY」でEC2にログインする。


 あとはログインするのみ。 クライアントは何でも良いですが、Amazonのサイトにある手順に従いPuTTYをセットアップ。

 

ec2-userでログインします。

 --------------------------------------------------------------------------------------------------

login as: ec2-user
Authenticating with public key "imported-openssh-key"
Passphrase for key "imported-openssh-key":

       __|  __|_  )
       _|  (     /   Amazon Linux AMI
      ___|\___|___|

See /usr/share/doc/system-release/ for latest release notes.
There are 29 security update(s) out of 228 total update(s) available
Amazon Linux version 2012.09 is available.
-----------------------------------------------------------------------------------------------------------

 

あー 29 security updates out of...って書いてある。。アップデートした方がいですね。

一応更新する場合は以下を実行する

 

更新一覧の確認

$ sudo yum list updates

更新

$ sudo yum updat

結果確認

$ sudo cat /var/log/yum.log

 

 

ためしにapatchが起動しているか見てみます。

僕がやると「dead」ってなっていましたが、テストページはちゃんとひょうじできるので大丈夫かと。

-----------------------------------------------------------------------------------------------------------

$ /etc/init.d/httpd status

httpd dead but subsys locked

-------------------------------------------------------------------------------------------------------------

f:id:azumami:20130220105343j:plain

 

http://<hostname>/wordpress/へアクセスする。

f:id:azumami:20130220105906j:plain

 

 

ご覧の通り、Wordpressは/var/www/html/wordpressに設置されている。

---------------------------------------------------------------------------------------------------- 

$ pwd
/var/www/html/wordpress

----------------------------------------------------------------------------------------------------

 

で、インストールを普通に進めるとご覧のとおり準備ができた。

f:id:azumami:20130220110144j:plain

 

後処理系


・rootパスワードの変更

----------------------------------------------------------------------------------------------

$ sudo passwd

Changing password for user root.

New password:

Retype new password:

passwd: all authentication tokens updated successfully.

----------------------------------------------------------------------------------------------

 

・ec2-userへの権限付与

ec2-userでは大抵のファイルがReadonlyなので変更する

 ----------------------------------------------------------------------------------------------

$ ls -atrl

-rw-r--r-- 1 root root 34474 Oct 21 20:32 httpd.conf

-rw-r--r-- 1 root root 13139 Oct 21 20:36 magic

drwxr-xr-x 4 root root  4096 Feb 18 02:26 ..

drwxr-xr-x 2 root root  4096 Feb 18 02:26 .

 

Chgrp -R "ec2-user" "/etc/httpd/conf/httpd.conf" 

Chmod 0774 "/etc/httpd/conf/httpd.conf"

 ----------------------------------------------------------------------------------------------

 

httpd.confでドキュメントルートの変更(上記でec2-userに権限付与していない場合はrootで)

 ----------------------------------------------------------------------------------------------

[ec2-user@ip-10-132-158-139 conf]$ pwd

/etc/httpd/conf

[ec2-user@ip-10-132-158-139 conf]$ vi httpd.conf

 ----------------------------------------------------------------------------------------------

 

以下の文を探す。検索は"/"でできる。

 ---------------------------------------------------------------------------------------------- 

DocumentRoot "/var/www/html"

 ----------------------------------------------------------------------------------------------

 

↓ 変更。

 ----------------------------------------------------------------------------------------------

DocumentRoot "/var/www/html/wordpress"

 ----------------------------------------------------------------------------------------------

 

wordpress上の設定ディレクトリも変更

/var/www/html/wordpress/wp-config.php内に以下の行を追加

define('WP_SITEURL', '<hostname>');

 

・apatch再起動

---------------------------------------------------------------------------------------

# /etc/init.d/httpd restart

Stopping httpd:                                            [  OK  ]

Starting httpd:                                            [  OK  ]

 ----------------------------------------------------------------------------------------------

 

・確認。意図したURLでアクセスできるか確認。

 

MySQLのリモート接続(任意)

MySQLクライアントからのリモートアクセスはセキュリティ設定によって閉じられている。ここではテスト的につなぐところを記載。RDSの「DB Security Group」で「CIDR」で「0.0.0.0/0」どのIPから、どのポートからも許可する設定をおこなう。

f:id:azumami:20130220142652j:plain

 

その後、MySQLクライアントをインストールしたPCから下記コマンドを実行

---------------------------------------------------------------------------------------------------------------

C:\xampp\mysql\bin>mysql -h <DBエンドポイント名> -u <ユーザ名> -p
Enter password: <パスワード>
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1261
Server version: 5.5.27-log Source distribution

---------------------------------------------------------------------------------------------------------------

 

・あと念のため管理者ユーザのPWも変えておく

 

 mysql> SET PASSWORD FOR <管理者ユーザ>@"%"=PASSWORD('<新PW>');
Query OK, 0 rows affected (0.20 sec)

それに従い wp-config.php内のパスワードも変えておく。

 

うぉ買いて〜。

Amazon Web Services クラウドデザインパターン 設計ガイド

Amazon Web Services クラウドデザインパターン 設計ガイド