本投稿は、2015/1/23に行われたAWS上で構築するRESTfulアプリ勉強会~Web開発ワークショップ~【第1回】に向けて運営側が行った準備作業に関するまとめです。
当日使用した資料は、加筆(かなり修正しました)して公開しています。
AWS上で構築するRESTfulアプリ勉強会~Web開発ワークショップ~【第1回】の当日実施内容まとめ - Qiita
AMI作成
AMIの元にするEC2インスタンス作成
AWS Management Consoleから下記手順で。
開始!
InstancesからLaunch Instances をクリック
元とするAMIを選択
Amazon Linux AMI 2014.09.1 (HVM) - ami-4985b048
を選択。Selectをクリック。
インスタンスタイプを選択
t2.microを選択。Nextをクリック。
インスタンス詳細設定
下記の通り設定。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 - なし
ストレージ設定
General Purpose(SSD)に変更(無料枠)。Nextをクリック。
タグ設定
Nameのみ設定。適当でよい(例ではstudy_01_172_31_0_1
)。Nextをクリック。
セキュリティグループ設定
SSH, HTTPのみ。SourceIPはMyIP(設定時のGlobalIP)に限定。
- SSH - TCP, 22, MyIP
- HTTP - TCP, 22, MyIP
IP確認は下記にアクセスしてもOK。
ここまでで設定終わり。Review and Launchをクリック。
確認画面(Review Instance Launch)
Launchをクリック。
キーペアを設定。選択or新規作成。Launch Instancesをクリック。
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!
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)
<?php
phpinfo();
http://(Global IP)/info.php
にアクセスしてみる。
OK!
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
を修正。
<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にアクセス。
rootユーザでログイン(root/study@suzukishouten01)
OK!
データベース作成
DBユーザ追加と同時に作成、作成したデータベースにフル権限を与える
todo_listsテーブルを作成
データ1件追加
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修正
実行ユーザ変更
User study
Group apache
勉強会アプリ用にドキュメントルートの設定を変更する。
/etc/httpd/conf/httpd.conf
の下記該当箇所を修正する。
#DocumentRoot "/var/www/html"
DocumentRoot "/var/www/study"
.
.
.
#<Directory "/var/www/html">
<Directory "/var/www/study">
php.ini編集
timezone
[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone #←修正前
date.timezone = 'Asia/Tokyo' #←修正後
LANG設定
/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を編集する。末尾に下記を追加。
※全部コメントアウトとし、デフォルトでは無効状態にしておいた。
;[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
イメージ作成
公開する
初期ソース作成
下記からcakephpをダウンロード。
作業時(2015/1/20)のバージョンは、2.5.8
/var/www/studyでwgetする。
wget https://github.com/cakephp/cakephp/archive/2.5.8.zip
.htaccessのrewrite設定をいじる必要がある。
3つある。
/.htaccess
/app/.htaccess
/app/webroot/.htaccess
それぞれ下記に。
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^$ app/webroot/ [L]
RewriteRule (.*) app/webroot/$1 [L]
</IfModule>
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^$ webroot/ [L]
RewriteRule (.*) webroot/$1 [L]
</IfModule>
<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
```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](http://blog.shiten.info/2013/03/cakephp-security-salt-%E3%81%A8-security-cipherseed-%E3%82%92%E7%94%9F%E6%88%90%E3%81%99%E3%82%8B.html)
.gitignore
下記サイトのものをそのままコピペした。
[[CakePHP] .gitignoreの設定 | CreativeStyle](http://kadoppe.com/archives/2011/04/cakephp-gitignore.html)
GitHubに上げる
1. `rest-study`リポジトリ作成
2. `/var/www/study/rest-study`としてclone
3. 上記ソースを`/var/www/study/rest-study`に全部コピー。
4. git add, commit, push
以上!