ニュース&ブログ
基礎からすぐできるAWS 簡易ブログシステムの構築5
この記事は最終更新から10年以上経過しています。内容が古くなっている可能性があります。
投稿日:2015/4/3

今回はMySQLインストール~WordPressインストール~WordPress設定を行います。
参考文献
今回実施する内容は下記文献を参考としております。手順の詳細などは本書籍を参照してください。・Amazon Web Services 基礎からのネットワーク&サーバ構築
検証で構築する環境と実施する内容
AWS上にVPCを一つ作成し、その中に公開用のVPCサブネットとプライベートのVPCサブネットを作成します。公開用のVPCサブネットにはWebサーバとDBサーバのインターネット接続用NATサーバを構築します。プライベートのVPCサブネットにはDBサーバを構築します。作業は検証環境の作業端末から接続します。
・検証環境の構成図
図1 構成図

・実施内容
AWSにアカウントが作成されているものとします。(今回は⑮~⑰まで。)
① VPC作成
② VPCサブネット作成
③ インターネットゲートウェイ作成
④ ルートテーブル作成
⑤ インスタンス作成(Webサーバ)
⑥ インスタンス接続
⑦ Webサーバーインストール
⑧ ファイアウォール(セキュリティグループ)設定
⑨ DNS名前解決設定
⑩ インスタンス作成(DBサーバ)
⑪ インスタンス接続(Webサーバ経由)
⑫ インスタンス作成(NATサーバ)
⑬ NATインスタンス起動
⑭ NATインスタンス疎通確認
⑮ MySQLインストール(DBサーバ)
⑯ WordPressインストール(Webサーバ)
⑰ WordPress設定
では⑮から見ていきます。
⑮ MySQLインストール(DBサーバー)
WordPressのデータを格納するために、DBサーバーにMySQLをインストールします。(1)MySQLインストール
DBサーバーにログインし、ec2-userで以下のコマンドを実行します。
sudo yum -y install mysql-server
[ec2-user@ip-10-0-2-10 ~]$ sudo yum -y install mysql-server
Loaded plugins: priorities, update-motd, upgrade-helper
amzn-main/latest | 2.1 kB 00:00
amzn-main/latest/group | 35 kB 00:00
amzn-main/latest/primary_db | 3.1 MB 00:00
amzn-updates/latest | 2.3 kB 00:00
amzn-updates/latest/group | 35 kB 00:00
amzn-updates/latest/updateinfo | 197 kB 00:00
amzn-updates/latest/primary_db | 494 kB 00:00
Resolving Dependencies
--> Running transaction check
---> Package mysql-server.noarch 0:5.5-1.6.amzn1 will be installed
--> Processing Dependency: mysql55-server >= 5.5 for package: mysql-server-5.5-1.6.amzn1.noarch
--> Running transaction check
---> Package mysql55-server.x86_64 0:5.5.40-1.3.amzn1 will be installed
(中略)
============================================================================================================================
Package Arch Version Repository Size
============================================================================================================================
Installing:
mysql-server noarch 5.5-1.6.amzn1 amzn-main 2.8 k
Installing for dependencies:
mysql55 x86_64 5.5.40-1.3.amzn1 amzn-updates 7.5 M
(中略)
Total download size: 23 M
Installed size: 80 M
Downloading packages:
(1/13): mysql-server-5.5-1.6.amzn1.noarch.rpm | 2.8 kB 00:00
(2/13): mysql55-5.5.40-1.3.amzn1.x86_64.rpm | 7.5 MB 00:01
(中略)
Installed:
mysql-server.noarch 0:5.5-1.6.amzn1
Dependency Installed:
mysql55.x86_64 0:5.5.40-1.3.amzn1 mysql55-common.x86_64 0:5.5.40-1.3.amzn1
mysql55-libs.x86_64 0:5.5.40-1.3.amzn1 mysql55-server.x86_64 0:5.5.40-1.3.amzn1
perl-Compress-Raw-Bzip2.x86_64 0:2.061-3.11.amzn1 perl-Compress-Raw-Zlib.x86_64 1:2.061-4.1.amzn1
perl-DBD-MySQL.x86_64 0:4.023-5.17.amzn1 perl-DBI.x86_64 0:1.627-4.8.amzn1
perl-Data-Dumper.x86_64 0:2.145-3.5.amzn1 perl-IO-Compress.noarch 0:2.061-2.12.amzn1
perl-Net-Daemon.noarch 0:0.48-5.5.amzn1 perl-PlRPC.noarch 0:0.2020-14.7.amzn1
Complete!
(2)MySQLを起動します。
sudo service mysqld start
[ec2-user@ip-10-0-1-10 ~]$ sudo service mysqld start
(中略)
[ OK ]
Starting mysqld: [ OK ]
[ec2-user@ip-10-0-1-10 ~]$ ps -ef | grep mysqld
root 2620 1 0 04:36 pts/0 00:00:00 /bin/sh /usr/bin/mysqld_safe --datadir=/var/lib/mysql --socket=/var/lib/mysql/mysql.sock --pid-file=/var/run/mysqld/mysqld.pid --basedir=/usr --user=mysql
mysql 2815 2620 0 04:36 pts/0 00:00:00 /usr/libexec/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib64/mysql/plugin --user=mysql --log-error=/var/log/mysqld.log --pid-file=/var/run/mysqld/mysqld.pid --socket=/var/lib/mysql/mysql.sock
ec2-user 2846 2241 0 04:37 pts/0 00:00:00 grep mysqld
(3)MySQL に接続するrootユーザ(※)のPWを設定します。
※LinuxOSのrootユーザと異なります。
[ec2-user@ip-10-0-2-10 ~]$ mysqladmin -u root password
New password:*****
Confirm new password:*****
(4)rootユーザでMySQL に接続します。
[ec2-user@ip-10-0-2-10 ~]$ mysql -u root -p
Enter password:*****
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.5.40 MySQL Community Server (GPL)
Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
(5)DB作成
「blogdb」というDB名でデータベースを作成します。
mysql> CREATE DATABASE blogdb DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
Query OK, 1 row affected (0.00 sec)
(6)DB接続ユーザ作成
全てのホストから接続可能な「user1」というユーザを作成し、blogdbに対する全ての権限を与えます。
mysql> grant all on blogdb.* to user1@"%" identified by 'user1';
Query OK, 0 rows affected (0.00 sec)
(7)作成したDBユーザの権限をMySQLに反映します。
設定した権限をMySQLに反映するため、以下のコマンドを実行します。
mysql> flush privileges;;
Query OK, 0 rows affected (0.00 sec)
(8)DBユーザの確認
作成したDBユーザの確認をします。「user1」で作成されていることが確認できます。
mysql> select user,host from mysql.user;
+-------+--------------+
| user | host |
+-------+--------------+
| user1 | % | ★
| root | 127.0.0.1 |
| root | ::1 |
| | ip-10-0-2-10 |
| root | ip-10-0-2-10 |
| | localhost |
| root | localhost |
+-------+--------------+
7 rows in set (0.00 sec)
mysql>exit
(9)MySQL 自動起動設定
DBサーバー起動時に、MySQLを自動起動するよう設定します。
[ec2-user@ip-10-0-2-10 ~]$ sudo /sbin/chkconfig mysqld on
[ec2-user@ip-10-0-2-10 ~]$ chkconfig --list mysqld
mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off
⑯ WordPressインストール(Webサーバー)
WordPressをWebサーバーにインストールします。WordPressのインストールについての詳細は以下を参照してください。
https://ja.wordpress.org/
(1)WordPressで使用するPHP・PHPライブラリをWebサーバーにインストールします。
Webサーバーにログインし、ec2-userで以下のコマンドを実行します。
sudo yum -y install php php-mysql php-mbstring
(出力結果省略)
(2)DBサーバーのMySQLへの接続用にWebサーバーにMySQLをインストールします。
sudo yum -y install mysql
(出力結果省略)
(3)MySQLに接続確認をします。
mysql -h 10.0.2.10 -u user1 -p
[ec2-user@ip-10-0-1-10 ~]$ mysql -h 10.0.2.10 -u user1 -p
Enter password:*****
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 4
Server version: 5.5.40 MySQL Community Server (GPL)
Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
mysql> exit
[ec2-user@ip-10-0-2-10 ~]$ exit
logout
Connection to 10.0.2.10 closed.
[ec2-user@ip-10-0-1-10 ~]$
(4)WordPressインストール
WordPressのメディアをダウンロードし展開することで、Webサーバーにインストールできます。
[ec2-user@ip-10-0-1-10 ~]$ cd
[ec2-user@ip-10-0-1-10 ~]$ pwd
/home/ec2-user
[ec2-user@ip-10-0-1-10 ~]$ wget http://ja.wordpress.org/latest-ja.tar.gz
--2015-01-05 04:49:02-- http://ja.wordpress.org/latest-ja.tar.gz
Resolving ja.wordpress.org (ja.wordpress.org)... 66.155.40.249, 66.155.40.250
Connecting to ja.wordpress.org (ja.wordpress.org)|66.155.40.249|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 6620693 (6.3M) [application/octet-stream]
Saving to: ‘latest-ja.tar.gz’
100%[===================================================================================================================================================>] 6,620,693 5.26MB/s in 1.2s
2015-01-05 04:49:03 (5.26 MB/s) - ‘latest-ja.tar.gz’ saved [6620693/6620693]
Zipファイルを展開し、「wordpress」ディレクトリが作成されていることを確認します。
[ec2-user@ip-10-0-1-10 ~]$ ll
total 6472
-r-------- 1 ec2-user ec2-user 1696 Dec 18 08:23 blog-system.pem
-rw-rw-r-- 1 ec2-user ec2-user 6620693 Dec 19 22:40 latest-ja.tar.gz ★
[ec2-user@ip-10-0-1-10 ~]$ tar xzvf latest-ja.tar.gz
total 6476
-r-------- 1 ec2-user ec2-user 1696 Dec 18 08:23 blog-system.pem
-rw-rw-r-- 1 ec2-user ec2-user 6620693 Dec 19 22:40 latest-ja.tar.gz
drwxr-xr-x 5 ec2-user ec2-user 4096 Dec 19 09:50 wordpress
「wordpress」ディレクトリ配下の全てをapacheが参照可能なディレクトリにコピーし、インストールします。
[ec2-user@ip-10-0-1-10 ~]$ cd wordpress
[ec2-user@ip-10-0-1-10 wordpress]$ sudo cp -r * /var/www/html/
[ec2-user@ip-10-0-1-10 wordpress]$ ls -la /var/www/html/
total 192
drwxr-xr-x 5 root root 4096 Jan 5 04:51 .
(中略)
drwxr-xr-x 9 root root 4096 Jan 5 04:51 wp-admin
-rw-r--r-- 1 root root 271 Jan 5 04:51 wp-blog-header.php
-rw-r--r-- 1 root root 5008 Jan 5 04:51 wp-comments-post.php
-rw-r--r-- 1 root root 3727 Jan 5 04:51 wp-config-sample.php
drwxr-xr-x 5 root root 4096 Jan 5 04:51 wp-content
-rw-r--r-- 1 root root 2956 Jan 5 04:51 wp-cron.php
drwxr-xr-x 12 root root 4096 Jan 5 04:51 wp-includes
-rw-r--r-- 1 root root 2380 Jan 5 04:51 wp-links-opml.php
-rw-r--r-- 1 root root 2714 Jan 5 04:51 wp-load.php
-rw-r--r-- 1 root root 33435 Jan 5 04:51 wp-login.php
-rw-r--r-- 1 root root 8252 Jan 5 04:51 wp-mail.php
-rw-r--r-- 1 root root 11115 Jan 5 04:51 wp-settings.php
-rw-r--r-- 1 root root 25152 Jan 5 04:51 wp-signup.php
-rw-r--r-- 1 root root 4035 Jan 5 04:51 wp-trackback.php
-rw-r--r-- 1 root root 3032 Jan 5 04:51 xmlrpc.php
アクセス権をapacheが更新可能に変更します。
[ec2-user@ip-10-0-1-10 ~]$ sudo chown apache:apache /var/www/html -R
[ec2-user@ip-10-0-1-10 wordpress]$ ls -la /var/www/html/
total 192
drwxr-xr-x 5 apache apache 4096 Jan 5 04:51 .
(中略)
drwxr-xr-x 5 apache apache 4096 Jan 5 04:51 wp-content
-rw-r--r-- 1 apache apache 2956 Jan 5 04:51 wp-cron.php
drwxr-xr-x 12 apache apache 4096 Jan 5 04:51 wp-includes
-rw-r--r-- 1 apache apache 2380 Jan 5 04:51 wp-links-opml.php
-rw-r--r-- 1 apache apache 2714 Jan 5 04:51 wp-load.php
-rw-r--r-- 1 apache apache 33435 Jan 5 04:51 wp-login.php
-rw-r--r-- 1 apache apache 8252 Jan 5 04:51 wp-mail.php
-rw-r--r-- 1 apache apache 11115 Jan 5 04:51 wp-settings.php
-rw-r--r-- 1 apache apache 25152 Jan 5 04:51 wp-signup.php
-rw-r--r-- 1 apache apache 4035 Jan 5 04:51 wp-trackback.php
-rw-r--r-- 1 apache apache 3032 Jan 5 04:51 xmlrpc.php
(5)apacheを再起動し、PHPを有効化します。
[ec2-user@ip-10-0-1-10 wordpress]$ sudo service httpd restart
Stopping httpd: [ OK ]
Starting httpd: [ OK ]
⑰WordPress設定
WebサーバーにブラウザアクセスしWordPressの初期設定を行います。初期設定後、ブログサイトにアクセスできることを確認します。
(1)WebサーバーのパブリックDNS名をブラウザURLに入力してWebサーバーにアクセスします。
WebサーバーのパブリックDNS名を確認します。
図2 WebサーバーのパブリックDNS名確認

ブラウザURLにパブリックDNS名を入力し、エンターを押します。
下記画面が表示されたら、「さあ、始めましょう!」をクリック。
図3 ブラウザURLに入力

(2)WordPressの初期設定を行います。
「データベース名」、「ユーザ名」、「パスワード」、「データベースのホスト名」を入力し
「送信」をクリックします。(テーブル接頭辞はデフォルト値)
図4 WordPress初期設定1

「インストール実行」をクリック
図5 WordPress初期設定2

「ようこそ」画面で「サイトのタイトル」、「ユーザ名」、「パスワード」、「メールアドレス」を入力後
「WordPressをインストール」をクリックします。
図6 WordPress初期設定3

「成功しました!」が表示されたら「ログイン」をクリックします。
図7 WordPress初期設定4

(3)WordPressにログインし、ブログサイトが表示できることを確認します。
以下の画面でユーザ名とパスワードを入力し「ログイン」を押します。
図8 WordPressログイン

「サイトを表示」をクリックします。
図9 サイトを表示

以下のようにブログサイトにアクセスできることが確認できました。
図10 サイトを表示

以上で、基礎からすぐできると題した簡易ブログシステムの構築が完了となります。
オンプレミス環境だと複数台のサーバーやネットワーク機器、ファシリティの用意などは簡単にできませんが、AWSを利用することで事前準備不要で、すばやく環境構築ができますので、すぐに手を動かすことで構成やシステムの理解が早まると感じました。
以上