LoginSignup
9
2

More than 5 years have passed since last update.

[AWS] EC2+RDS開発環境設定 Apache2.2+PHP+MySQL+WordPress+phpMyAdmin

Last updated at Posted at 2017-02-13

AWSに以下の環境を構築したので、備忘録として残しておこうと思います。

(0)AWSの設定
(1)Apache2.2+PHP7+MySQL5.6+WordPress4.7+phpMyAdmin4.6 ← 本エントリの内容
(2)Nginx+Unicorn+RubyOnRails

実施事項
◎EC2の設定
◎RDSの設定
◎WordPressの設定
◎phpMyAdminの設定

【ご一読いただくにあたって】
・EC2、RDS等々の設定は済ませておいて下さい。
 まだの方はこちらから → AWSの設定
・間違いがありましたらコメントにて教えて下さい。(まだまだ勉強中です。)
・専門用語の深い解説はしておりません。

EC2の設定

アップデート、ユーザ追加等の下準備

sshでEC2へアクセスした状態


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

https://aws.amazon.com/amazon-linux-ami/2016.09-release-notes/
3 package(s) needed for security, out of 6 available
Run "sudo yum update" to apply all updates.
[ec2-user@ip-10-0-1-107 ~]$ sudo yum update

~アップデート~

総ダウンロード容量: 51 M
Is this ok [y/d/N]: y
(途中、確認されますが[y]を入力)

完了しました!
[ec2-user@ip-10-0-1-107 ~]$ sudo su - #スーパーユーザへ切替
[root@ip-10-0-1-107 ~]# useradd myname #ユーザ追加
[root@ip-10-0-1-107 ~]# passwd myname #ユーザパスワード設定
Changing password for user myname.
New password: (パスワード入力)
Retype new password: (再入力)
passwd: all authentication tokens updated successfully. #成功
[root@ip-10-0-1-107 ~]# sudo visudo #追加したユーザに権限付与

=ファイル編集画面=

## Allow root to run any commands anywhere
root    ALL=(ALL)       ALL
myname  ALL=(ALL)       ALL  (←rootの下に追加)

===============

[root@ip-10-0-1-107 ~]# exit #スーパーユーザ ログアウト
logout
[ec2-user@ip-10-0-1-107 ~]$ su - myname #追加したユーザに切替
パスワード:
[myname@ip-10-0-1-107 ~]$

Apache2.2 インストール

[myname@ip-10-0-1-107 ~]$ sudo yum -y install httpd
[sudo] password for myname: (パスワード入力) 

~インストール~

Complete!
[myname@ip-10-0-1-107 ~]$ httpd -version #バージョン確認
Server version: Apache/2.2.31 (Unix)
[myname@ip-10-0-1-107 ~]$ sudo /sbin/chkconfig httpd on #自動起動をonに変更
[myname@ip-10-0-1-107 ~]$ sudo service httpd start #Apache起動
Starting httpd: httpd: apr_sockaddr_info_get() failed for ip-10-0-1-107
httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
                                                           [  OK  ]
#サーバーは起動しているもエラーが表示

[myname@ip-10-0-1-107 ~]$ sudo service httpd stop #Apache停止

エラーをググってみると設定ファイルの修正が必要とのこと。
Apacheエラーの原因と解決方法
Apacheのエラー

networkファイルの修正

[myname@ip-10-0-1-107 ~]$ sudo vi /etc/sysconfig/network
===
HOSTNAME=localhost.localdomain
        ⬇︎
#HOSTNAME=localhost.localdomain
HOSTNAME=13.112.XXX.XXX ← (EC2のパブリックIP)追加
===

hostsファイルの修正

[myname@ip-10-0-1-107 ~]$ sudo vi /etc/hosts
===
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
           ⬇︎
127.0.0.1   13.112.XXX.XXX localhost localhost.localdomain localhost4 localhost4.localdomain4 ← (EC2のパブリックIP)追加
===

httpd.confファイルの修正

[myname@ip-10-0-1-107 ~]$ sudo vi /etc/httpd/conf/httpd.conf
===
#ServerName www.example.com:80
ServerName 13.112.XXX.XXX ← (EC2のパブリックIP)追加
===

再度起動

[myname@ip-10-0-1-107 ~]$ sudo service httpd start
Starting httpd:                                            [  OK  ]

スクリーンショット 2017-02-10 20.29.48.png

OK!!

PHP7 インストール

標準リポジトリで利用できないパッケージのインストールを可能にするEPELリポジトリを有効化

[myname@ip-10-0-1-107 ~]$ sudo vi /etc/yum.repos.d/epel.repo #epel.repoの編集

=ファイルの中=

enabled=0
   ⬇︎
enabled=1 に変更

=ファイルの中終わり=

[myname@ip-10-0-1-107 ~]$ sudo rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm #Remiレポジトリのインストール
[myname@ip-10-0-1-107 ~]$ sudo yum -y install libwebp --disablerepo=amzn-main --enablerepo=epel #libwebpのインストール
[myname@ip-10-0-1-107 ~]$ sudo yum -y install libmcrypt libtool-ltdl libtidy libXpm libtiff gd-last autoconf automake #amzn-main.repoから各ライブラリをインストール
[myname@ip-10-0-1-107 ~]$ sudo yum -y install --disablerepo=amzn-main --enablerepo=remi-php70 php php-opcache php-devel php-mbstring php-mcrypt php-phpseclib-crypt-blowfish php-pecl-apc php-gd php-mysqlnd php-xml #phpインストール

Complete!
[myname@ip-10-0-1-107 ~]$ php -v #バージョン確認
PHP 7.0.15 (cli) (built: Jan 17 2017 17:20:32) ( NTS )
Copyright (c) 1997-2017 The PHP Group

AWSナレッジセンター
yum が便利になる RPMforge、Remi、EPEL とは一体何なのか
【yum入門】epel, remiなどのレポジトリをyumに追加する方法
libwebp の概要
Amazon LinuxでYUMを使う時に気をつけるポイント
php-opcache
php-devel
この辺はまだまだ勉強中です。

WordPress4.7.2インストール

Apacheのドキュメント・ルートのディレクトリは"/var/www/html"とのこと。
今回はhttp://13.112.XXX.XXX/wordpressでアクセスした時にWordPressのトップ画面が表示されるように設定
(wordpressディレクトリはWP展開時に自動生成)

[myname@ip-10-0-1-107 ~]$ cd /var/www/html #htmlへ移動
[myname@ip-10-0-1-107 html]$ sudo wget http://ja.wordpress.org/latest-ja.tar.gz ~/ #最新のWordPressをダウンロード (20170210時点では、4.7.2)
[myname@ip-10-0-1-107 html]$ sudo tar zxvf latest-ja.tar.gz

~インストール~
(wordpressディレクト生成)

[myname@ip-10-0-1-107 html]sudo chown -R apache:apache wordpress #オーナー変更

http://13.112.XXX.XXX/wordpress
にアクセスすると
http://13.112.XXX.XXX/wordpress/wp-admin/setup-config.php
にリダイレクトされる

wp1.png

wp2.png

項目
データベース名 db_qiita
ユーザー名 db_qiita_user
パスワード ********
ホスト名 db-id-for-qiita.xxxxxxxxx.ap-northeast-1.rds.amazonaws.com(RDSエンドポイント)

※RDSインスタンス生成時に設定した値を入力

wp3.png

[インストール実行]

wp4.png

項目
サイトのタイトル wp_site_qiita(任意)
ユーザー名 wp_qiita_user(任意)
パスワード ********
メールアドレス your_mail@address.com(任意)

wp5.png

インストール成功 → ログイン画面

wp6.png

ダッシュボード画面

wp7.png

サイトトップ画面(WordPress4.7.2の場合)

phpMyAdminのインストール

今回はhttp://13.112.XXX.XXX/phpMyAdminでアクセスした時にphpMyAdminのトップ画面が表示されるように設定

[myname@ip-10-0-1-107 html]$ sudo wget https://files.phpmyadmin.net/phpMyAdmin/4.6.6/phpMyAdmin-4.6.6-all-languages.tar.gz #phpMyAdminをダウンロード
[myname@ip-10-0-1-107 html]$ sudo tar xzvf phpMyAdmin-4.6.6-all-languages.tar.gz #展開
[myname@ip-10-0-1-107 html]$ sudo mv phpMyAdmin-4.6.6-all-languages phpMyAdmin #リネーム
[myname@ip-10-0-1-107 html]$ cd phpMyAdmin #移動
[myname@ip-10-0-1-107 phpMyAdmin]$ cp config.sample.inc.php config.inc.php #設定ファイルをコピー
[myname@ip-10-0-1-107 phpMyAdmin]$ sudo vi config.inc.php #設定を編集

=ファイルの中=
/* Server parameters */
$cfg['Servers'][$i]['host'] = 'localhost';
                   ⬇︎
$cfg['Servers'][$i]['host'] = 'db-id-for-qiita.xxxxxxxxx.ap-northeast-1.rds.amazonaws.com';
============

スクリーンショット 2017-02-13 11.05.55.png

項目
ユーザー名 db_qiita_user
パスワード xxxxxxxxx

※RDSインスタンス生成時に設定したユーザ名とパスワード
pma1.png

ログイン成功!

以上です。

後ほど別のEC2にNginx+Unicorn+RubyOnRailsの開発環境を設定予定です。

参考にさせていただきました。
【AWS】WordPressのインストールとRDS、S3の連携
EC2にphpMyAdminを設置しRDSに接続する

9
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
2