概要
EC2へデプロイし、とりあえず繋がるまでをまとめています。
Amazon Web Services上でEC2インスタンスの作成と、ローカルから作成されたEC2インスタンスにsshのログインまでが完了していることが前提です。
使用した環境
- PHP 5.3.29
- EC2 Amazon Linux AMI 2015.09.1 (HVM)(プロダクションマシン)
1. ユーザーの作成
ユーザーをec2-userからrootに切り替えてパスワードを設定する。
$ sudo su -
$ passwd
- New password: に続けて新しいパスワードを設定する
- all authentication tokens updated successfully.と表示されればok
デフォルトのec2-user以外の作業用ユーザーを作成する。
$ useradd [任意の名前]
$ passwd [作成したユーザー名]
- New password: に続けて新しいパスワードを設定する
- all authentication tokens updated successfully.と表示されればok
作成した作業用ユーザーにsudo権限を与える。
$ usermod -G wheel [作成したユーザー名]
$ sudo visudo
- 以下のコメントアウトを外す
# %wheel ALL=(ALL) ALL
exitしてec2-userへ戻り作成した作業用ユーザーで入れるか確認する。
以降の作業は基本的に作業用ユーザーで行い、rootやec2-userでは作業しない。
$ su - [作成したユーザー名]
2. デプロイするディレクトリを作成
- 現在のディレクトリを確認
$ pwd
/home/[作成したユーザー名]
- デプロイは/var/www/html 配下に作成
$ sudo mkdir /var/www
$ sudo mkdir /var/www/html
3. 必要なものを順番にインストール
これからインストールするものは必ずローカル環境のバージョンと合わせるようにする。
1)前準備
$ sudo yum update -y
$ yum -y install httpd
$ sudo service httpd start
$ sudo chkconfig httpd on
2)Apacheの設定を変更する
$ vi /etc/httpd/conf/httpd.conf
- ブラウザからディレクトリ構造を表示できないようにする
Options Indexes FollowSymLinks
-> Options -Indexes FollowSymLinks
- ファイルが見つからない時の「Forbidden」ページからOS情報を非表示にする
ServerTokens OS
-> ServerTokens Prod
- ファイルが見つからない時の「Forbidden」ページからIPやApacheの情報を非表示にする
ServerSignature On
-> ServerSignature Off
- htaccessを有効にする
<Directory "/var/www/html">
AllowOverride None
</Directory>
-> <Directory "/var/www/html">
-> AllowOverride All
-> </Directory>
- Apatcheを再起動して変更を適応させる
$ sudo service httpd restart
3)phpのインストール
$ yum install php php-devel php-mysql php-gd php-mbstring -y
$ php -v
4)dstatのインストール
- dstat(リソース状況確認コマンド)をinstallする
$ yum install dstat
- dstatはaliasを追加しておくと便利
- vim /etc/profile にて末尾に以下を追加する
・alias dstat='dstat -tlcmgdrn'
・alias dstat-cpu='dstat -tlcr'
・alias dstat-mem='dstat -tlcm'
・alias dstat-disk='dstat -tlcdr'
・alias dstat-net='dstat -tlcnd'