Edited at

AWS上で構築するRESTfulアプリ勉強会~Web開発ワークショップ~【第1回】の事前準備内容まとめ

More than 3 years have passed since last update.

本投稿は、2015/1/23に行われたAWS上で構築するRESTfulアプリ勉強会~Web開発ワークショップ~【第1回】に向けて運営側が行った準備作業に関するまとめです。

当日使用した資料は、加筆(かなり修正しました)して公開しています。

AWS上で構築するRESTfulアプリ勉強会~Web開発ワークショップ~【第1回】の当日実施内容まとめ - Qiita


AMI作成


AMIの元にするEC2インスタンス作成

AWS Management Consoleから下記手順で。


開始!

InstancesからLaunch Instances をクリック

Launch_Instance.png


元とするAMIを選択

Amazon Linux AMI 2014.09.1 (HVM) - ami-4985b048

を選択。Selectをクリック。

ec2_step1.png


インスタンスタイプを選択

t2.microを選択。Nextをクリック。

![ec2_step2.png]ec2_step2.png


インスタンス詳細設定

下記の通り設定。Nextをクリック。


  • Number of instances - 1

  • Purchasing option - [ ]Request Spot Instances(チェックしない)

  • Network - default

  • Subnet - default

  • Auto-assign Public IP - Use subnet setting

  • IAM role - None

  • Shutdown behavior - Stop


  • Enable termination protection - [x]Protect against accidental termination(チェック入れる)

  • Monitoring - [ ] Enable CloudWatch detailed monitoring(チェックしない)

  • Tenancy- Shared tenancy

  • Advanced Details - なし

ec2_step3.png


ストレージ設定

General Purpose(SSD)に変更(無料枠)。Nextをクリック。

ec2_step4.png


タグ設定

Nameのみ設定。適当でよい(例ではstudy_01_172_31_0_1)。Nextをクリック。

ec2_step5.png


セキュリティグループ設定

SSH, HTTPのみ。SourceIPはMyIP(設定時のGlobalIP)に限定。


  • SSH - TCP, 22, MyIP

  • HTTP - TCP, 22, MyIP

IP確認は下記にアクセスしてもOK。

http://checkip.amazonaws.com/

ここまでで設定終わり。Review and Launchをクリック。

ec2_step6.png


確認画面(Review Instance Launch)

Launchをクリック。

ec2_step7.png

キーペアを設定。選択or新規作成。Launch Instancesをクリック。

ec2_step7_create_key.png

成功!

ec2_finish.png

View Instancesをクリック。見えた。

ec2_view.png


SSH接続してみる

GlobalIPに対してSSHコマンド実行。

事前に、Privateキーファイルを ~/.sshなどにコピーしておく。

※パーミッションに注意。ログインユーザ以外は読み書き不可にしておく。

ssh -i ~/.ssh/XXXXXXX.pem ec2-user@XXX.XXX.XXX.XXX

OK!


AMIにプレインストール、設定しておくもの


Apacheインストール

バージョンは2.4にする。

rootになる。

sudo -i

yum install -y httpd24を実行してインストール。

[root ~]# yum install -y httpd24

読み込んだプラグイン:priorities, update-motd, upgrade-helper
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ httpd24.x86_64 0:2.4.10-1.59.amzn1 を インストール
--> 依存性の処理をしています: httpd24-tools = 2.4.10-1.59.amzn1 のパッケージ: httpd24-2.4.10-1.59.amzn1.x86_64
--> 依存性の処理をしています: /etc/mime.types のパッケージ: httpd24-2.4.10-1.59.amzn1.x86_64
--> 依存性の処理をしています: libaprutil-1.so.0()(64bit) のパッケージ: httpd24-2.4.10-1.59.amzn1.x86_64
--> 依存性の処理をしています: libapr-1.so.0()(64bit) のパッケージ: httpd24-2.4.10-1.59.amzn1.x86_64
--> トランザクションの確認を実行しています。
---> パッケージ apr.x86_64 0:1.5.0-2.11.amzn1 を インストール
---> パッケージ apr-util.x86_64 0:1.4.1-4.14.amzn1 を インストール
---> パッケージ httpd24-tools.x86_64 0:2.4.10-1.59.amzn1 を インストール
---> パッケージ mailcap.noarch 0:2.1.31-2.7.amzn1 を インストール
--> 依存性解決を終了しました。

依存性を解決しました

=========================================================================================================================================================================================================
Package アーキテクチャー バージョン リポジトリー 容量
=========================================================================================================================================================================================================
インストール中:
httpd24 x86_64 2.4.10-1.59.amzn1 amzn-main 1.3 M
依存性関連でのインストールをします:
apr x86_64 1.5.0-2.11.amzn1 amzn-main 115 k
apr-util x86_64 1.4.1-4.14.amzn1 amzn-main 87 k
httpd24-tools x86_64 2.4.10-1.59.amzn1 amzn-main 85 k
mailcap noarch 2.1.31-2.7.amzn1 amzn-main 27 k

トランザクションの要約
=========================================================================================================================================================================================================
インストール 1 パッケージ (+4 個の依存関係のパッケージ)

総ダウンロード容量: 1.6 M
インストール容量: 4.2 M
Downloading packages:
(1/5): apr-1.5.0-2.11.amzn1.x86_64.rpm | 115 kB 00:00
(2/5): apr-util-1.4.1-4.14.amzn1.x86_64.rpm | 87 kB 00:00
(3/5): httpd24-2.4.10-1.59.amzn1.x86_64.rpm | 1.3 MB 00:00
(4/5): httpd24-tools-2.4.10-1.59.amzn1.x86_64.rpm | 85 kB 00:00
(5/5): mailcap-2.1.31-2.7.amzn1.noarch.rpm
| 27 kB 00:00
合計 4.3 MB/s | 1.6 MB 00:00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
インストール中 : apr-1.5.0-2.11.amzn1.x86_64 1/5
インストール中 : apr-util-1.4.1-4.14.amzn1.x86_64 2/5
インストール中 : httpd24-tools-2.4.10-1.59.amzn1.x86_64 3/5
インストール中 : mailcap-2.1.31-2.7.amzn1.noarch 4/5
インストール中 : httpd24-2.4.10-1.59.amzn1.x86_64 5/5
検証中 : apr-1.5.0-2.11.amzn1.x86_64 1/5
検証中 : httpd24-tools-2.4.10-1.59.amzn1.x86_64 2/5
検証中 : apr-util-1.4.1-4.14.amzn1.x86_64 3/5
検証中 : mailcap-2.1.31-2.7.amzn1.noarch 4/5
検証中 : httpd24-2.4.10-1.59.amzn1.x86_64 5/5

インストール:
httpd24.x86_64 0:2.4.10-1.59.amzn1

依存性関連をインストールしました:
apr.x86_64 0:1.5.0-2.11.amzn1 apr-util.x86_64 0:1.4.1-4.14.amzn1 httpd24-tools.x86_64 0:2.4.10-1.59.amzn1 mailcap.noarch 0:2.1.31-2.7.amzn1

完了しました!
[root ~]#

自動起動を設定。

 chkconfig httpd on

再起動は下記コマンド。

service httpd restart

http://(Global IP)

にアクセスしてみる。

OK!

apache.png


PHPインストール

バージョンは5.5にする。

以下rootで。

yum install -y php55を実行してインストール。

[root ~]# yum install -y php55

読み込んだプラグイン:priorities, update-motd, upgrade-helper
amzn-main/latest | 2.1 kB 00:00
amzn-updates/latest | 2.3 kB 00:00
依存性の解決をしています

依存性を解決しました

=========================================================================================================================================================================================================
Package アーキテクチャー バージョン リポジトリー 容量
=========================================================================================================================================================================================================
インストール中:
php55 x86_64 5.5.20-2.94.amzn1 amzn-updates 3.0 M
依存性関連でのインストールをします:
json-c x86_64 0.11-6.8.amzn1 amzn-main 31 k
libzip x86_64 0.10.1-1.3.amzn1 amzn-main 47 k
php-pear noarch 1:1.9.5-2.17.amzn1 amzn-main 434 k
php55-cli x86_64 5.5.20-2.94.amzn1 amzn-updates 4.2 M
php55-common x86_64 5.5.20-2.94.amzn1 amzn-updates 1.3 M
php55-pecl-jsonc x86_64 1.3.6-1.12.amzn1 amzn-updates 43 k
php55-process x86_64 5.5.20-2.94.amzn1 amzn-updates 90 k
php55-xml x86_64 5.5.20-2.94.amzn1 amzn-updates 329 k

トランザクションの要約
=========================================================================================================================================================================================================
インストール 1 パッケージ (+8 個の依存関係のパッケージ)

総ダウンロード容量: 9.4 M
インストール容量: 30 M
Downloading packages:
(1/9): json-c-0.11-6.8.amzn1.x86_64.rpm | 31 kB 00:00
(2/9): libzip-0.10.1-1.3.amzn1.x86_64.rpm | 47 kB 00:00
(3/9): php-pear-1.9.5-2.17.amzn1.noarch.rpm | 434 kB 00:00
(4/9): php55-5.5.20-2.94.amzn1.x86_64.rpm | 3.0 MB 00:00
(5/9): php55-cli-5.5.20-2.94.amzn1.x86_64.rpm | 4.2 MB 00:00
(6/9): php55-common-5.5.20-2.94.amzn1.x86_64.rpm | 1.3 MB 00:00
(7/9): php55-pecl-jsonc-1.3.6-1.12.amzn1.x86_64.rpm | 43 kB 00:00
(8/9): php55-process-5.5.20-2.94.amzn1.x86_64.rpm | 90 kB 00:00
(9/9): php55-xml-5.5.20-2.94.amzn1.x86_64.rpm | 329 kB 00:00
合計 22 MB/s | 9.4 MB 00:00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
インストール中 : libzip-0.10.1-1.3.amzn1.x86_64 1/9
インストール中 : json-c-0.11-6.8.amzn1.x86_64 2/9
インストール中 : php55-xml-5.5.20-2.94.amzn1.x86_64 3/9
インストール中 : php55-cli-5.5.20-2.94.amzn1.x86_64 4/9
インストール中 : php55-common-5.5.20-2.94.amzn1.x86_64 5/9
インストール中 : php55-process-5.5.20-2.94.amzn1.x86_64 6/9
インストール中 : 1:php-pear-1.9.5-2.17.amzn1.noarch 7/9
インストール中 : php55-pecl-jsonc-1.3.6-1.12.amzn1.x86_64 8/9
インストール中 : php55-5.5.20-2.94.amzn1.x86_64 9/9
検証中 : php55-process-5.5.20-2.94.amzn1.x86_64 1/9
検証中 : php55-xml-5.5.20-2.94.amzn1.x86_64 2/9
検証中 : json-c-0.11-6.8.amzn1.x86_64 3/9
検証中 : 1:php-pear-1.9.5-2.17.amzn1.noarch 4/9
検証中 : php55-common-5.5.20-2.94.amzn1.x86_64 5/9
検証中 : php55-pecl-jsonc-1.3.6-1.12.amzn1.x86_64 6/9
検証中 : libzip-0.10.1-1.3.amzn1.x86_64 7/9
検証中 : php55-5.5.20-2.94.amzn1.x86_64 8/9
検証中 : php55-cli-5.5.20-2.94.amzn1.x86_64 9/9

インストール:
php55.x86_64 0:5.5.20-2.94.amzn1

依存性関連をインストールしました:
json-c.x86_64 0:0.11-6.8.amzn1 libzip.x86_64 0:0.10.1-1.3.amzn1 php-pear.noarch 1:1.9.5-2.17.amzn1 php55-cli.x86_64 0:5.5.20-2.94.amzn1 php55-common.x86_64 0:5.5.20-2.94.amzn1
php55-pecl-jsonc.x86_64 0:1.3.6-1.12.amzn1 php55-process.x86_64 0:5.5.20-2.94.amzn1 php55-xml.x86_64 0:5.5.20-2.94.amzn1

完了しました!
[root ~]#

バージョン確認

[root ~]# php -v

PHP 5.5.20 (cli) (built: Dec 29 2014 18:02:29)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2014 Zend Technologies
[root ~]#

php動作確認

例のアレを作成。(info.php)


/var/www/study/info.php

<?php

phpinfo();

http://(Global IP)/info.php

にアクセスしてみる。

OK!

phpinfo.png


MySQLインストール


  • 今回は開発用EC2インスタンスにMySQLサーバを入れてしまう。


    • バージョンは5.6にする。



  • PHPMyAdminも入れる。

  • 追加のPerlモジュールも必要なので入れる。yum install -y perl-Data-Dumper

以下rootで。

yumリポジトリを追加。

yum install -y http://repo.mysql.com/mysql-community-release-el6-4.noarch.rpmを実行。

[root ~]# yum install -y http://repo.mysql.com/mysql-community-release-el6-4.noarch.rpm

読み込んだプラグイン:priorities, update-motd, upgrade-helper
mysql-community-release-el6-4.noarch.rpm | 5.0 kB 00:00
/var/tmp/yum-root-EJK5Fo/mysql-community-release-el6-4.noarch.rpm を調べています: mysql-community-release-el6-4.noarch
/var/tmp/yum-root-EJK5Fo/mysql-community-release-el6-4.noarch.rpm をインストール済みとして設定しています
依存性の解決をしています
amzn-main/latest | 2.1 kB 00:00
amzn-updates/latest | 2.3 kB 00:00

依存性を解決しました

=========================================================================================================================================================================================================
Package アーキテクチャー バージョン リポジトリー 容量
=========================================================================================================================================================================================================
インストール中:
mysql-community-release noarch el6-4 /mysql-community-release-el6-4.noarch 2.5 k

トランザクションの要約
=========================================================================================================================================================================================================
インストール 1 パッケージ

合計容量: 2.5 k
インストール容量: 2.5 k
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
インストール中 : mysql-community-release-el6-4.noarch 1/1
検証中 : mysql-community-release-el6-4.noarch 1/1

インストール:
mysql-community-release.noarch 0:el6-4

完了しました!
[root ~]#

yum install -y mysql-serverを実行してインストール。

[root ~]# yum install -y mysql-server

読み込んだプラグイン:priorities, update-motd, upgrade-helper
1 packages excluded due to repository priority protections
パッケージ mysql-server は mysql-community-server によって不要になりました。代わりに mysql-community-server-5.6.14-3.el6.x86_64 のインストールを試みています。
依存性の解決をしています

依存性を解決しました

=========================================================================================================================================================================================================
Package アーキテクチャー バージョン リポジトリー 容量
=========================================================================================================================================================================================================
インストール中:
mysql-community-server x86_64 5.6.14-3.el6 mysql-community 51 M
依存性関連でのインストールをします:
mysql-community-client x86_64 5.6.14-3.el6 mysql-community 18 M
mysql-community-common x86_64 5.6.14-3.el6 mysql-community 296 k
mysql-community-libs x86_64 5.6.14-3.el6 mysql-community 1.8 M

トランザクションの要約
=========================================================================================================================================================================================================
インストール 1 パッケージ (+3 個の依存関係のパッケージ)

総ダウンロード容量: 71 M
インストール容量: 321 M
Downloading packages:
警告: /var/cache/yum/x86_64/latest/mysql-community/packages/mysql-community-client-5.6.14-3.el6.x86_64.rpm: V3 DSA/SHA1 Signature、鍵 ID 5072e1f5: NOKEY ] 4.1 MB/s | 12 MB 00:01 ETA
mysql-community-client-5.6.14-3.el6.x86_64.rpm の公開鍵がインストールされていません
(1/4): mysql-community-client-5.6.14-3.el6.x86_64.rpm | 18 MB 00:00
(2/4): mysql-community-common-5.6.14-3.el6.x86_64.rpm | 296 kB 00:00
(3/4): mysql-community-libs-5.6.14-3.el6.x86_64.rpm | 1.8 MB 00:00
(4/4): mysql-community-server-5.6.14-3.el6.x86_64.rpm | 51 MB 00:04
合計 14 MB/s | 71 MB 00:00:05
file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql から鍵を取得中です。
Importing GPG key 0x5072E1F5:
Userid : "MySQL Release Engineering <mysql-build@oss.oracle.com>"
Fingerprint: a4a9 4068 76fc bd3c 4567 70c8 8c71 8d3b 5072 e1f5
Package : mysql-community-release-el6-4.noarch (@/mysql-community-release-el6-4.noarch)
From : /etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
インストール中 : mysql-community-common-5.6.14-3.el6.x86_64 1/4
インストール中 : mysql-community-libs-5.6.14-3.el6.x86_64 2/4
インストール中 : mysql-community-client-5.6.14-3.el6.x86_64 3/4
インストール中 : mysql-community-server-5.6.14-3.el6.x86_64 4/4
検証中 : mysql-community-server-5.6.14-3.el6.x86_64 1/4
検証中 : mysql-community-common-5.6.14-3.el6.x86_64 2/4
検証中 : mysql-community-libs-5.6.14-3.el6.x86_64 3/4
検証中 : mysql-community-client-5.6.14-3.el6.x86_64 4/4

インストール:
mysql-community-server.x86_64 0:5.6.14-3.el6

依存性関連をインストールしました:
mysql-community-client.x86_64 0:5.6.14-3.el6 mysql-community-common.x86_64 0:5.6.14-3.el6 mysql-community-libs.x86_64 0:5.6.14-3.el6

完了しました!
[root ~]#

追加perlモジュール。

[root ~]# yum install -y perl-Data-Dumper

読み込んだプラグイン:priorities, update-motd, upgrade-helper
1 packages excluded due to repository priority protections
依存性の解決をしています

依存性を解決しました

=========================================================================================================================================================================================================
Package アーキテクチャー バージョン リポジトリー 容量
=========================================================================================================================================================================================================
インストール中:
perl-Data-Dumper x86_64 2.145-3.5.amzn1 amzn-main 49 k

トランザクションの要約
=========================================================================================================================================================================================================
インストール 1 パッケージ

総ダウンロード容量: 49 k
インストール容量: 93 k
Downloading packages:
perl-Data-Dumper-2.145-3.5.amzn1.x86_64.rpm | 49 kB 00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
インストール中 : perl-Data-Dumper-2.145-3.5.amzn1.x86_64 1/1
検証中 : perl-Data-Dumper-2.145-3.5.amzn1.x86_64 1/1

インストール:
perl-Data-Dumper.x86_64 0:2.145-3.5.amzn1

完了しました!
[root ~]#

自動起動ON。

chkconfig mysqld on

rootパスワード変更。

mysql -urootでログインし、set password for root@localhost=password('new-password');を実行。

※AMIは、'study@suzukishouten01'にする。

[root ~]# mysql -uroot

Warning: Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 9
Server version: 5.6.14 MySQL Community Server (GPL)

Copyright (c) 2000, 2013, 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> set password for root@localhost=password('new-password');
Query OK, 0 rows affected (0.00 sec)

mysql> exit
Bye
[root ~]# ```

mysql_secure_installationを実行。設定内容は下記。

```bash
Change the root password? [Y/n] n # 既に先ほど変更したので n
Remove anonymous users? [Y/n] Y # 匿名ユーザを削除
Disallow root login remotely? [Y/n] Y # root ユーザでのリモートからのログインを禁止
Remove test database and access to it? [Y/n] Y # test データベースを削除
Reload privilege tables now? [Y/n] Y # 権限テーブルをリロード

再起動。

service mysqld restart


PHPMyAdminインストール

以下rootで。

yum --enablerepo=epel install -y phpMyAdminを実行してインストール。

[root ~]# yum --enablerepo=epel install -y phpMyAdmin

読み込んだプラグイン:priorities, update-motd, upgrade-helper
1018 packages excluded due to repository priority protections
依存性の解決をしています

依存性を解決しました

=========================================================================================================================================================================================================
Package アーキテクチャー バージョン リポジトリー 容量
=========================================================================================================================================================================================================
インストール中:
phpMyAdmin noarch 4.0.10.7-1.el6 epel 4.1 M
依存性関連でのインストールをします:
libXpm x86_64 3.5.10-2.9.amzn1 amzn-main 54 k
libmcrypt x86_64 2.5.8-9.1.2.amzn1 amzn-main 110 k
libtidy x86_64 0.99.0-19.20070615.1.4.amzn1 amzn-main 144 k
libtool-ltdl x86_64 2.4.2-20.4.8.2.23.amzn1 amzn-main 51 k
libvpx x86_64 1.2.0-1.0.amzn1 amzn-main 222 k
php-php-gettext noarch 1.0.11-3.el6 epel 21 k
php-tcpdf noarch 6.1.1-1.el6 epel 2.8 M
php-tcpdf-dejavu-sans-fonts noarch 6.1.1-1.el6 epel 304 k
php55-bcmath x86_64 5.5.20-2.94.amzn1 amzn-updates 79 k
php55-gd x86_64 5.5.20-2.94.amzn1 amzn-updates 296 k
php55-mbstring x86_64 5.5.20-2.94.amzn1 amzn-updates 1.3 M
php55-mcrypt x86_64 5.5.20-2.94.amzn1 amzn-updates 70 k
php55-mysqlnd x86_64 5.5.20-2.94.amzn1 amzn-updates 380 k
php55-pdo x86_64 5.5.20-2.94.amzn1 amzn-updates 188 k
php55-tidy x86_64 5.5.20-2.94.amzn1 amzn-updates 77 k
t1lib x86_64 5.1.2-6.5.amzn1 amzn-main 179 k

トランザクションの要約
=========================================================================================================================================================================================================
インストール 1 パッケージ (+16 個の依存関係のパッケージ)

総ダウンロード容量: 10 M
インストール容量: 38 M
Downloading packages:
(1/17): libXpm-3.5.10-2.9.amzn1.x86_64.rpm | 54 kB 00:00
(2/17): libmcrypt-2.5.8-9.1.2.amzn1.x86_64.rpm | 110 kB 00:00
(3/17): libtidy-0.99.0-19.20070615.1.4.amzn1.x86_64.rpm | 144 kB 00:00
(4/17): libtool-ltdl-2.4.2-20.4.8.2.23.amzn1.x86_64.rpm | 51 kB 00:00
(5/17): libvpx-1.2.0-1.0.amzn1.x86_64.rpm | 222 kB 00:00
warning: /var/cache/yum/x86_64/latest/epel/packages/php-php-gettext-1.0.11-3.el6.noarch.rpm: Header V3 RSA/SHA256 Signature, key ID 0608b895: NOKEY
php-php-gettext-1.0.11-3.el6.noarch.rpm の公開鍵がインストールされていません
(6/17): php-php-gettext-1.0.11-3.el6.noarch.rpm | 21 kB 00:00
(7/17): php-tcpdf-6.1.1-1.el6.noarch.rpm | 2.8 MB 00:00
(8/17): php-tcpdf-dejavu-sans-fonts-6.1.1-1.el6.noarch.rpm | 304 kB 00:00
(9/17): php55-bcmath-5.5.20-2.94.amzn1.x86_64.rpm | 79 kB 00:00
(10/17): php55-gd-5.5.20-2.94.amzn1.x86_64.rpm | 296 kB 00:00
(11/17): php55-mbstring-5.5.20-2.94.amzn1.x86_64.rpm | 1.3 MB 00:00
(12/17): php55-mcrypt-5.5.20-2.94.amzn1.x86_64.rpm | 70 kB 00:00
(13/17): php55-mysqlnd-5.5.20-2.94.amzn1.x86_64.rpm | 380 kB 00:00
(14/17): php55-pdo-5.5.20-2.94.amzn1.x86_64.rpm | 188 kB 00:00
(15/17): php55-tidy-5.5.20-2.94.amzn1.x86_64.rpm | 77 kB 00:00
(16/17): phpMyAdmin-4.0.10.7-1.el6.noarch.rpm | 4.1 MB 00:00
(17/17): t1lib-5.1.2-6.5.amzn1.x86_64.rpm | 179 kB 00:00
合計 10 MB/s | 10 MB 00:00:01
file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6 から鍵を取得中です。
Importing GPG key 0x0608B895:
Userid : "EPEL (6) <epel@fedoraproject.org>"
Fingerprint: 8c3b e96a f230 9184 da5c 0dae 3b49 df2a 0608 b895
Package : epel-release-6-8.9.amzn1.noarch (installed)
From : /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
インストール中 : php55-mbstring-5.5.20-2.94.amzn1.x86_64 1/17
インストール中 : php-php-gettext-1.0.11-3.el6.noarch 2/17
インストール中 : libXpm-3.5.10-2.9.amzn1.x86_64 3/17
インストール中 : libvpx-1.2.0-1.0.amzn1.x86_64 4/17
インストール中 : libtool-ltdl-2.4.2-20.4.8.2.23.amzn1.x86_64 5/17
インストール中 : libmcrypt-2.5.8-9.1.2.amzn1.x86_64 6/17
インストール中 : php55-mcrypt-5.5.20-2.94.amzn1.x86_64 7/17
インストール中 : php55-bcmath-5.5.20-2.94.amzn1.x86_64 8/17
インストール中 : libtidy-0.99.0-19.20070615.1.4.amzn1.x86_64 9/17
インストール中 : php55-tidy-5.5.20-2.94.amzn1.x86_64 10/17
インストール中 : php55-pdo-5.5.20-2.94.amzn1.x86_64 11/17
インストール中 : php55-mysqlnd-5.5.20-2.94.amzn1.x86_64 12/17
インストール中 : t1lib-5.1.2-6.5.amzn1.x86_64 13/17
インストール中 : php55-gd-5.5.20-2.94.amzn1.x86_64 14/17
インストール中 : php-tcpdf-6.1.1-1.el6.noarch 15/17
インストール中 : php-tcpdf-dejavu-sans-fonts-6.1.1-1.el6.noarch 16/17
インストール中 : phpMyAdmin-4.0.10.7-1.el6.noarch 17/17
検証中 : t1lib-5.1.2-6.5.amzn1.x86_64 1/17
検証中 : php55-pdo-5.5.20-2.94.amzn1.x86_64 2/17
検証中 : libtidy-0.99.0-19.20070615.1.4.amzn1.x86_64 3/17
検証中 : php55-tidy-5.5.20-2.94.amzn1.x86_64 4/17
検証中 : php55-bcmath-5.5.20-2.94.amzn1.x86_64 5/17
検証中 : php55-mbstring-5.5.20-2.94.amzn1.x86_64 6/17
検証中 : php55-mcrypt-5.5.20-2.94.amzn1.x86_64 7/17
検証中 : libmcrypt-2.5.8-9.1.2.amzn1.x86_64 8/17
検証中 : php-tcpdf-dejavu-sans-fonts-6.1.1-1.el6.noarch 9/17
検証中 : php-tcpdf-6.1.1-1.el6.noarch 10/17
検証中 : libtool-ltdl-2.4.2-20.4.8.2.23.amzn1.x86_64 11/17
検証中 : php-php-gettext-1.0.11-3.el6.noarch 12/17
検証中 : php55-mysqlnd-5.5.20-2.94.amzn1.x86_64 13/17
検証中 : phpMyAdmin-4.0.10.7-1.el6.noarch 14/17
検証中 : libvpx-1.2.0-1.0.amzn1.x86_64 15/17
検証中 : libXpm-3.5.10-2.9.amzn1.x86_64 16/17
検証中 : php55-gd-5.5.20-2.94.amzn1.x86_64 17/17

インストール:
phpMyAdmin.noarch 0:4.0.10.7-1.el6

依存性関連をインストールしました:
libXpm.x86_64 0:3.5.10-2.9.amzn1 libmcrypt.x86_64 0:2.5.8-9.1.2.amzn1 libtidy.x86_64 0:0.99.0-19.20070615.1.4.amzn1 libtool-ltdl.x86_64 0:2.4.2-20.4.8.2.23.amzn1
libvpx.x86_64 0:1.2.0-1.0.amzn1 php-php-gettext.noarch 0:1.0.11-3.el6 php-tcpdf.noarch 0:6.1.1-1.el6 php-tcpdf-dejavu-sans-fonts.noarch 0:6.1.1-1.el6
php55-bcmath.x86_64 0:5.5.20-2.94.amzn1 php55-gd.x86_64 0:5.5.20-2.94.amzn1 php55-mbstring.x86_64 0:5.5.20-2.94.amzn1 php55-mcrypt.x86_64 0:5.5.20-2.94.amzn1
php55-mysqlnd.x86_64 0:5.5.20-2.94.amzn1 php55-pdo.x86_64 0:5.5.20-2.94.amzn1 php55-tidy.x86_64 0:5.5.20-2.94.amzn1 t1lib.x86_64 0:5.1.2-6.5.amzn1

完了しました!
[root ~]#

/etc/httpd/conf.d/phpMyAdmin.confを修正。


/etc/httpd/conf.d/phpMyAdmin.conf

<Directory /usr/share/phpMyAdmin/>

AddDefaultCharset UTF-8

<IfModule mod_authz_core.c>
# Apache 2.4
<RequireAny>
#Require ip 127.0.0.1 ←修正前
Require all granted # ←修正後
Require ip ::1
</RequireAny>
</IfModule>
</Directory>


apache再起動後、動作確認。

http://(Global IP)/phpMyAdmin/index.phpにアクセス。

phpMyAdmin_login.png

rootユーザでログイン(root/study@suzukishouten01)

phpMyAdmin_menu.png

OK!

データベース作成

DBユーザ追加と同時に作成、作成したデータベースにフル権限を与える

※user:study/pwd:study

phpMyAdmin_add_user.png

todo_listsテーブルを作成

phpMyAdmin_add_table.png

phpMyAdmin_add_table_param.png

データ1件追加

phpMyAdmin_add_record.png


Gitインストール

以下rootで。

yum install -y gitを実行してインストール。

[root ~]# yum install -y git

読み込んだプラグイン:priorities, update-motd, upgrade-helper
amzn-main/latest | 2.1 kB 00:00
amzn-updates/latest | 2.3 kB 00:00
1 packages excluded due to repository priority protections
依存性の解決をしています

依存性を解決しました

========================================================================================================================
Package アーキテクチャー バージョン リポジトリー 容量
========================================================================================================================
インストール中:
git x86_64 2.1.0-1.35.amzn1 amzn-main 9.2 M
依存性関連でのインストールをします:
perl-Error noarch 1:0.17020-2.9.amzn1 amzn-main 33 k
perl-Git noarch 2.1.0-1.35.amzn1 amzn-main 57 k
perl-TermReadKey x86_64 2.30-20.9.amzn1 amzn-main 33 k

トランザクションの要約
========================================================================================================================
インストール 1 パッケージ (+3 個の依存関係のパッケージ)

総ダウンロード容量: 9.3 M
インストール容量: 23 M
Downloading packages:
(1/4): git-2.1.0-1.35.amzn1.x86_64.rpm | 9.2 MB 00:01
(2/4): perl-Error-0.17020-2.9.amzn1.noarch.rpm | 33 kB 00:00
(3/4): perl-Git-2.1.0-1.35.amzn1.noarch.rpm | 57 kB 00:00
(4/4): perl-TermReadKey-2.30-20.9.amzn1.x86_64.rpm | 33 kB 00:00
合計 7.2 MB/s | 9.3 MB 00:00:01
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
インストール中 : 1:perl-Error-0.17020-2.9.amzn1.noarch 1/4
インストール中 : perl-TermReadKey-2.30-20.9.amzn1.x86_64 2/4
インストール中 : perl-Git-2.1.0-1.35.amzn1.noarch 3/4
インストール中 : git-2.1.0-1.35.amzn1.x86_64 4/4
検証中 : 1:perl-Error-0.17020-2.9.amzn1.noarch 1/4
検証中 : perl-Git-2.1.0-1.35.amzn1.noarch 2/4
検証中 : perl-TermReadKey-2.30-20.9.amzn1.x86_64 3/4
検証中 : git-2.1.0-1.35.amzn1.x86_64 4/4

インストール:
git.x86_64 0:2.1.0-1.35.amzn1

依存性関連をインストールしました:
perl-Error.noarch 1:0.17020-2.9.amzn1 perl-Git.noarch 0:2.1.0-1.35.amzn1 perl-TermReadKey.x86_64 0:2.30-20.9.amzn1

完了しました!
[root ~]#

バージョン確認

[root ~]# git --version

git version 2.1.0
[root ~]#


その他環境設定


httpd.conf修正

実行ユーザ変更


/etc/httpd/conf/httpd.conf

User study

Group apache

勉強会アプリ用にドキュメントルートの設定を変更する。

/etc/httpd/conf/httpd.confの下記該当箇所を修正する。


/etc/httpd/conf/httpd.conf

#DocumentRoot "/var/www/html"

DocumentRoot "/var/www/study"
.
.
.
#<Directory "/var/www/html">
<Directory "/var/www/study">


php.ini編集

timezone


/etc/php.ini

[Date]

; Defines the default timezone used by the date functions
; http://php.net/date.timezone #←修正前
date.timezone = 'Asia/Tokyo' #←修正後


LANG設定

/etc/sysconfig/i18nを編集


/etc/sysconfig/i18n

LANG=ja_JP.UTF-8



TimeZone設定

/etc/localtimeを、/usr/share/zoneinfo/Asia/Tokyoで上書き

cp /usr/share/zoneinfo/Asia/Tokyo /etc/localtime


ユーザ追加

参考EC2にSSH接続用のユーザーを作成する - Qiita

useradd -g wheel study

passwd study

sudoersに追加

sudo visudo

root ALL=(ALL) ALL <-もともとある

study ALL=(ALL) ALL <-追加

ssh用の鍵を作成

su study

cd ~/

mkdir .ssh

cd .ssh

ssh-keygen -t rsa

[study .ssh]$ ssh-keygen -t rsa

Generating public/private rsa key pair.
Enter file in which to save the key (/home/study/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/study/.ssh/id_rsa.
Your public key has been saved in /home/study/.ssh/id_rsa.pub.
The key fingerprint is:
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
The key's randomart image is:
+--[ RSA 2048]----+
| .o.. |

〜略〜

| . |
+-----------------+
[study .ssh]$

※AWS-AMILinuxに併せて名前を変更しておく

mv id_rsa.pub authorized_keys


XDEBUG

XDEBUGは必ずしも必要ないが、リモートデバッグできて便利なので入れる。

インストールは下記で。

yum install php55-pecl-xdebug --enablerepo=epel

php.iniを編集する。末尾に下記を追加。

※全部コメントアウトとし、デフォルトでは無効状態にしておいた。


/etc/php.ini

;[XDebug]

;zend_extension = /usr/lib64/php/5.5/modules/xdebug.so
;xdebug.remote_enable = 1
;xdebug.remote_mode = req
;xdebug.remote_port = 9000
;xdebug.idekey = "suzukishouten_study"
;xdebug.remote_connect_back=1
;xdebug.remote_autostart=1```


Emacs

いちおう、emacs派のために。

yum install emacs


イメージ作成

上記までで作成したEC2インスタンスを元に作成する。

create_image1.png

create_image2.png

create_image_finish.png

公開する

Modify Image Permissions

modify_image1.png

publicに設定

modify_image2.png


初期ソース作成

下記からcakephpをダウンロード。

作業時(2015/1/20)のバージョンは、2.5.8

http://cakephp.jp/

/var/www/studyでwgetする。

wget https://github.com/cakephp/cakephp/archive/2.5.8.zip

.htaccessのrewrite設定をいじる必要がある。

3つある。


  • /.htaccess

  • /app/.htaccess

  • /app/webroot/.htaccess

それぞれ下記に。


/.htaccess

<IfModule mod_rewrite.c>

RewriteEngine on
RewriteRule ^$ app/webroot/ [L]
RewriteRule (.*) app/webroot/$1 [L]
</IfModule>


/app/.htaccess

<IfModule mod_rewrite.c>

RewriteEngine on
RewriteRule ^$ webroot/ [L]
RewriteRule (.*) webroot/$1 [L]
</IfModule>


/app/webroot/.htaccess

<IfModule mod_rewrite.c>

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php [QSA,L]
</IfModule>

データベース設定

ファイル名変更

/app/Config/database.php.default -> /app/Config/database.php


/app/Config/database.php`


public $default = array(
'datasource' => 'Database/Mysql',
'persistent' => false,
'host' => 'localhost',
'login' => 'study',
'password' => 'study',
'database' => 'study',
'prefix' => '',
'encoding' => 'utf8',
);

security.salt .cipherSeed

/lib/Cake/Utility/Debugger.phpを修正する。

下記参考サイトの通り。

[CakePHP] Security.salt と Security.cipherSeed を生成する | blog.shiten.info

.gitignore

下記サイトのものをそのままコピペした。

[CakePHP] .gitignoreの設定 | CreativeStyle

GitHubに上げる



  1. rest-studyリポジトリ作成


  2. /var/www/study/rest-studyとしてclone

  3. 上記ソースを/var/www/study/rest-studyに全部コピー。

  4. git add, commit, push

以上!