カンタンにAWS EC2とRDSを使ってWordPressを動かしたい!!

AWS運用自動化サービス「Cloud Automator」
この記事は1年以上前に書かれたものです。
内容が古い可能性がありますのでご注意ください。

doc20161031182352

こんにちは。

お久しぶりにブログ書きました。
16年新卒の生井です(´﹀`)

8月からOJTが始まり、8、9月は営業課で修行し、今は技術4課にて修行中です。
AWSマネージメントコンソールをしっかり触ってから実は1か月経ってませんw

そんな私ですが、自分用メモとして、
AWS EC2とRDSを使って WordPressをダウンロードするやり方を書きます!!

はじめに

今回、使用するOSとデータベースは下記を前提とします。

・EC2:Amazon Linux
※HTTP、SSHのポートは開けておきましょう。
※秘密鍵をしっかりと取得しましょう。

・RDS:MySQL
※設定時に設定したマスターユーザの名前、マスターパスワード、DB 名を控えておくこと。

EC2、RDSの設定方法は割愛とさせていただきます。
また、私が今回使用したPCはMacです。
コマンド内で赤い表示をしているものは、ユーザーによって違うので注意しましょう!

SSH接続をしてAmazon Linuxへつなげよう☆

EC2を立てたらまずはターミナルを開いてSSH接続をしましょう!
(ターミナルがどこにあるかわからない方は右上の虫眼鏡マークから検索すると出てきます。)

まずは下準備をします。

秘密鍵を.sshに配置し、権限の設定をします。(下記コマンド)
これは、初回接続時だけで構いません。

$ mv 秘密鍵名.pem ~/.ssh/

$ chmod 600 ~/.ssh/秘密鍵名.pem

下準備ができたらSSH接続コマンドを打ちましょう!

$ ssh -i ~/.ssh/秘密鍵名.pem ec2-user@[IPアドレス or DNS名]

※IPアドレスとは?
3パブリックIPのところを使用します。
もし、表記されないよーという方はElastic IPから設定してあげると表記されます🙆

※DNS名とは?
3-%e3%81%ae%e3%82%b3%e3%83%92%e3%82%9a%e3%83%bcはい、こちらももし表記されてないよーって人は同上で!

コマンドを打つと、

4

と出るのでこちらは「yes」と打ってください。

すると… 

5

SSH接続完了!

基本サービスやモジュールのインストールをしよう

・インストール

WordPressをインストールする下準備をします。
$ sudo yum install httpd php php-devel php-mysql php-mbstring php-gd mysql 

インストールがうまくいくと、
下のような表示がされます。

%e3%82%b9%e3%82%af%e3%83%aa%e3%83%bc%e3%83%b3%e3%82%b7%e3%83%a7%e3%83%83%e3%83%88-2016-11-01-12-02-54

「y」を入力してEnterを押して、

%e3%82%b9%e3%82%af%e3%83%aa%e3%83%bc%e3%83%b3%e3%82%b7%e3%83%a7%e3%83%83%e3%83%88-2016-11-01-12-03-17

このように表示されればOKです♫

Apache設定ファイル

Apache設定ファイルのバックアップをしましょう。
$ sudo cp /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.org

次にApache設定ファイルの編集をします。
Apache設定ファイルの中身を開いてみましょう〜
$ sudo vi /etc/httpd/conf/httpd.conf

コマンドを打つとこんな画面が出ます。

9

では、中身を編集していきましょ!
赤い部分を修正箇所、青い部分を修正後で表示しています。

そのままでは編集できないので、
「i」を押すと「挿入」と表記され、編集できるようになります💮

/+検索したいワードで検索すると該当部分が探しやすいですし、間違えませんよ!  (私はこの存在を知らず、めっちゃ探していましたw)

・ServerTokens OS  → ServerTokens Prod
・ServerSignature On  → ServerSignature Off
・ Options FollowSymLinks AllowOverride None   → Options -Indexes FollowSymLinks AllowOverride None

編集が完了したら esc を押して「:wq」を入力して保存します。

PHPの設定

まずは、PHPファイルのバックアップをしましょう。
$ sudo cp /etc/php.ini /etc/php.ini.org

次にPHPファイルの編集をします。
PHPファイルの中身を開いてみましょう〜
$ sudo vi /etc/php.ini

するとこんな感じで表示されます。

10

Apacheと同じ感じで、中身を編集していきましょ!
赤い部分を修正箇所、青い部分を修正後で表示しています。

;mbstring.language = Japanese → mbstring.language = Japanese
;mbstring.internal_encoding = EUC-JP → mbstring.internal_encoding = UTF-8
;mbstring.http_input = auto → mbstring.http_input = auto
;mbstring.detect_order = auto → mbstring.detect_order = auto
;date.timezone =  → date.timezone = Asia/Tokyo

保存して終了すればOKです。
設定ファイルのシンタックスチェックをしましょう。
実行結果に『 Syntax OK 』と表示されれば問題なしです🙆
$ sudo httpd -t

反映するために、Apacheを再起動しましょう。
$ sudo service httpd restart
$ sudo chkconfig httpd on

これでWordpressをダウンロードするための下準備は終わりです♫

最後に
$ sudo chkconfig |grep httpd 

で、2,3,4,5がonになっているいることを確認できればOK!

WordPressをダウンロードしよう

ダウンロードするぞ!

ではやっと本題、WordPressをインストールしちゃいましょう!

まずは、WordPressをダウンロードするディレクトリに移動します。
$ cd /var/www/html

ディレクトリを移動したらLet’sダウンロード!
html]$ sudo wget http://ja.wordpress.org/latest-ja.tar.gz
11

こんな感じでサクッと完了!

そしたら、ダウンロードしたWordPressさんを解凍します。
html]$ sudo tar zxvf latest-ja.tar.gz

ブワーッとたくさん流れますが焦らず。
(私は焦りました( ºωº ))

$ lsコマンドでwordpressが無事解凍できていることを確認できると◎

12


 
はい、確認ができたのでwordpressをwpというディレクトリに移動させちゃいましょう。

html]$ sudo mv wordpress wp

ファイルの所有者を変更します。
html]$ sudo chown -R apache wp

ディレクトリを移動して、
html]$ sudo cd wp

バックアップを取って、RDSへの接続準備!
wp]$ sudo cp wp-config-sample.php wp-config.php

RDSに接続するぞ

さっきバックアップを取ったPHPを開きましょう。
wp]$ vi wp-config.php

13
こんな感じになっています。
今回の変更するところは下記部分です。

/** WordPress のためのデータベース名 */ define(‘DB_NAME’, ‘database_name_here‘);
/** MySQL データベースのユーザー名 */ define(‘DB_USER’, ‘username_here‘);
/** MySQL データベースのパスワード */ define(‘DB_PASSWORD’, ‘password_here‘);
/** MySQL のホスト名 */ define(‘DB_HOST’, ‘localhost‘);

補足すると、
・WordPress のためのデータベース名→RDSを設定した際つけたDB 名
・MySQL データベースのユーザー名→RDSを設定した際つけたユーザー名を記入
・MySQL データベースのパスワード→RDSを設定した際、登録したパスワードを記入
・MySQL のホスト名 →RDSのエンドポイントを記入(図1、2参照)

図1
14図2

15

編集が終わったら忘れずに「:wq」で保存しましょう。
これで完了です! あとは「http://EC2のIP/wp/」へアクセス!!
 
20151101_aws_wordpress

するとこんな画面が出てくるはずです〜!

あとは各個人でWordpressの設定をしていただければ、完了です!

わーい!
✌(‘ω’✌ )三✌(‘ω’)✌三( ✌’ω’)✌

おわりに

私はここまで来るのに2日費やしましたね。
繋がったときの嬉しさは忘れられませんね。
泣いてませんよ。

お疲れ様でした!
ε=┌( ・д・)┘

AWS運用自動化サービス「Cloud Automator」