forLifeMap

仕事、投資、技術メモ、オカルト、その他クソミソな趣味や日常についてあれこれ綴る、日記帳というより雑記帳。忘却の彼方に置き忘れた夢と情熱を求めて彷徨中。

AWSでWordPress構築(Bitnami)

部署が異動になってからはずっとAWS関連の
仕事に携わることが出来ている。とても嬉しい。

以前はローカルのVirtualBox
VagrantWordPressを構築した際の
備忘録エントリーをアップしたが、
今回は勉強がてらAWSの環境に
WordPressを構築してみた。
なんかWordPressばっかりだな、最近。

0.構築の前提

【アカウント】
AWSサポートプラン:ベーシック(無料枠)

インスタンス
AMI:WordPress Certified by Bitnami(無料枠)
インスタンスタイプ:t2.micro(無料枠)
EBS:汎用SSD(GP2) 10GiB(無料枠)

【セキュリティグループ】
SSH(22)…マイIPのみ
HTTP(80)…任意の場所
HTTPS(443)…任意の場所

1.インスタンスの作成

AWSのコンソールから
「サービス」→「EC2」
を選択し、EC2ダッシュボードへ移動する。
上記の前提通りにインスタンスを作成。
(AMI選定時は「AWS MarketPlace」から)

作成時には「キーペア」も一緒に作成され、
SSH接続の際に必要となるので厳重に保管する。

2.グローバルIPアドレスの付与*1

EC2ダッシュボードの下の方に
「Elastic IP」
とやらがあるので選択。
「新しいアドレスの割り当て」
を選んで進んでいくと、
グローバルIPが付与される。

その際、インスタンス作成時に
付与されていたパブリックIPは
削除される。

AWSの世界には3種類のIPアドレス
存在し、「Elastic IP」が通常は
グローバルIPとして使用される。

IPアドレス 概要
Private IP インターネットから到達できない。
VPC内での通信に使用できる。
Public IP インターネットから到達できる。
インスタンス起動のたびに変更される。
Elastic IP インターネットから到達できる。
インスタンスを起動してもずっと固定。

 
ちなみに今回はやってないけど、AWS
「Route53」というDNSサービスを使えば
ドメインの設定もできる。


3.WordPressへログイン&日本語化

この時点で、URLに「http://<Elastic IP>」を
叩けばWordPressの画面にたどり着ける。

f:id:hNeumann:20171111002803j:plain

早い。早すぎる。慣れてる人なら
数分でWordPress環境を構築できる。
自前でチビチビ入れて5時間かかったのに…

デフォルト設定が英語なので、まずは
管理者権限でログインして日本語化する。
サイドバーの下の方に「Log in」という
リンクを踏むとログイン画面に遷移する。

その際にパスワードが必要になるのだが、
AWSWordPress導入チュートリアル
従うと下記の方法により取得する。

  1. EC2ダッシュボードで、作成した
    WordPressインスタンスを選択。
  2. 「アクション」→「インスタンスの設定」
    →「システムログの取得」を選択。
  3. システムログウィンドウが表示されるので
    その中から見つけてね。
    "#"(ハッシュ)マークで囲まれてるよ。

…確かにあった。

f:id:hNeumann:20171111004009j:plain

よって、WordPressには下記でログインする。

Username:user
Password:############

無事にログインが出来たら、
「Settings」→「Site Language」
で日本語を選択。これで日本語化完了。

4.phpMyAdminの有効化
 (と、Bitnamiロゴの非表示化)

ご存じの通り、WordPress
PHPMySQL(またはMariaDB)で
稼働している。基本的には管理画面から
様々な設定を施すことが出来るので
あまりDBを気にすることはないが、
時にはDBを直接閲覧・編集をしたくなる
シーンも想定される。
そのため、Web画面からphpMyAdmin
アクセスできるように設定する。
(ついでに鬱陶しいロゴも非表示にする)

「1.インスタンスの作成」で作成した
キーペア(秘密鍵)を用いてSSH接続する。
ちなみに「WordPress Certified by Bitnami」は
OSが「Ubuntu 14.04」なので、ユーザーは

ubuntu

である(鍵認証なのでパスワード不要)。
phpMyAdminのアクセス制御ファイルである
「/home/bitnami/apps/phpmyadmin/conf/httpd-app.conf」
について、下記の箇所を修正する。

<IfVersion < 2.3 >
Order allow,deny
# Allow from 127.0.0.1
Allow from <自分のPCのIPアドレス>
Satisfy all
</IfVersion>
<IfVersion >= 2.3>
# Require local
Require all granted
</IfVersion>

Bitnamiのロゴを非表示にするには
下記コマンドを実行する。

sudo /opt/bitnami/apps/wordpress/bnconfig --disable_banner 1

最期に、Apacheを再起動する。

sudo /opt/bitnami/ctlscript.sh restart apache

 これで「http://<Elastic IP>/phpmyadmin」へ
アクセスができるようになる。
DBAユーザー名およびパスワードは

/home/bitnami/apps/wordpress/htdocs/wp-config.php

 に記載されている。

5.WordPressのカスタマイズ

あとは、管理画面からWordPress
自分好みにカスタマイズするだけである。

正直、WordPress環境をこんなにあっさり
構築できるとは思っていなかった。
最近はレンタルサーバーVPSでも
WordPressの導入支援機能があるみたいなので、
いずれにしても自分で一からインストールするより
遥かにラクにできるようである。
(当然その分自由度は下がると思うけど)

AWSではRDSというDB管理サービスがあり、
本格的なサイトを構築しようと思うと
このサービスを利用してアプリケーション
サーバとDBサーバを分離した方がいいらしい
けど、今回はお試しなので特に実施予定なし。


AWSでは、いとも簡単にサーバを
作ったり潰したりできるのが素晴らしい。
DR対策もバッチリだし、セキュアだし。
しかしやはり、コスト面は非常に心配。
無料期間が過ぎたら検討の余地アリですな。

流行りモンのLambdaも気が向いたら
触ってみようかね。


~参考にさせていただいたサイト~

*1:グローバルIP(Elastic IP)は$0.01/hで課金されます