AWSに以下の環境を構築したので、備忘録として残しておこうと思います。
(0)[AWSの設定] (http://qiita.com/hibriiiiidge/items/aebcd4184c7ab4c83bdf)
(1)Apache2.2+PHP7+MySQL5.6+WordPress4.7+phpMyAdmin4.6 ← 本エントリの内容
(2)Nginx+Unicorn+RubyOnRails
実施事項
◎EC2の設定
◎RDSの設定
◎WordPressの設定
◎phpMyAdminの設定
【ご一読いただくにあたって】
・EC2、RDS等々の設定は済ませておいて下さい。
まだの方はこちらから → [AWSの設定] (http://qiita.com/hibriiiiidge/items/aebcd4184c7ab4c83bdf)
・間違いがありましたらコメントにて教えて下さい。(まだまだ勉強中です。)
・専門用語の深い解説はしておりません。
##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 ]
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
にリダイレクトされる
項目 | 値 |
---|---|
データベース名 | db_qiita |
ユーザー名 | db_qiita_user |
パスワード | ******** |
ホスト名 | db-id-for-qiita.xxxxxxxxx.ap-northeast-1.rds.amazonaws.com(RDSエンドポイント) |
※RDSインスタンス生成時に設定した値を入力 |
[インストール実行]
項目 | 値 |
---|---|
サイトのタイトル | wp_site_qiita(任意) |
ユーザー名 | wp_qiita_user(任意) |
パスワード | ******** |
メールアドレス | your_mail@address.com(任意) |
インストール成功 → ログイン画面
ダッシュボード画面
サイトトップ画面(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';
============
項目 | 値 |
---|---|
ユーザー名 | db_qiita_user |
パスワード | xxxxxxxxx |
※RDSインスタンス生成時に設定したユーザ名とパスワード | |
ログイン成功!
以上です。
後ほど別のEC2にNginx+Unicorn+RubyOnRailsの開発環境を設定予定です。
参考にさせていただきました。
【AWS】WordPressのインストールとRDS、S3の連携
EC2にphpMyAdminを設置しRDSに接続する