AWSを利用してLAMP環境作成_02.EC2インスタンスへのSSH接続及びLAMP環境設定

# 1. SSH 接続

![スクリーンショット 2016-11-13 12.42.44.png](https://qiita-image-store.s3.amazonaws.com/0/122648/8a813725-8afe-78ca-84bb-246062093704.png)

AWS EC2インスタンス画面にてインスタンスをチェックして、接続ボタンを押します。

![スクリーンショット 2016-11-13 12.45.15.png](https://qiita-image-store.s3.amazonaws.com/0/122648/ddeb3e10-46f1-f323-94d6-7ffcc114a04b.png)

画面のようにチェックして閉じるボタンを押します。

パブリックDNSと書いてあるところを覚えてください。

Terminalを開いて`.pem`ファイルが保存されているところに移動してください。

![スクリーンショット 2016-11-13 12.52.33.png](https://qiita-image-store.s3.amazonaws.com/0/122648/de0581c6-1dde-96ed-469f-6aea911e3a88.png)

権限を設定します。

```shell-session
$ chmod 400 test.pem
```

次は下のコマンドを入力してください。

```shell-session
$ ssh -i <.pemファイルのパス> ec2-user@<インスタンスのパブリックIP>
```

![スクリーンショット 2016-11-13 12.55.23.png](https://qiita-image-store.s3.amazonaws.com/0/122648/27713d21-6888-a314-8907-21cae4c045d4.png)

SSH接続はこれで終わりです！

# 2. Library Update

```shell-session
$ sudo yum update -y
```

![スクリーンショット 2016-11-13 13.00.50.png](https://qiita-image-store.s3.amazonaws.com/0/122648/5f6eaa2c-6088-917c-aa20-1ae484ba72d7.png)

完了しました！の文字列が見えたらOKです。

# 3. AMP パッケージインストール

```shell-session
$ sudo yum install -y httpd24 php56 mysql55-server php56-mysqlnd
```

![スクリーンショット 2016-11-13 13.05.38.png](https://qiita-image-store.s3.amazonaws.com/0/122648/bd4dc383-cb17-372c-01c0-3bced1f1d9dc.png)

完了しました！の文字列が見えたらOKです。

# 4. Security Groupの設定

セキュリティグループは`サーバに接続する入口`と考えたらいいと思います。

外部からの接続を許可するためにセキュリティグループを設定する必要があります。

![スクリーンショット 2016-11-13 13.17.50.png](https://qiita-image-store.s3.amazonaws.com/0/122648/4ebd9683-804e-5f4c-0660-f8a61f1dc05a.png)

左側のメニューの所の`セキュリティグループ`を選択してください。

その後、一番上の`セキュリティグループの作成`ボタンを押してください。

VPCの部分はデフォルトにして、画面のように設定をしてください。

![スクリーンショット 2016-11-13 13.23.54.png](https://qiita-image-store.s3.amazonaws.com/0/122648/d9d93076-f24f-1347-e21a-b3ddec8ba744.png)

インスタンスのところに移動して、セキュリティグループを変更をしましょう。

![スクリーンショット 2016-11-13 13.25.13.png](https://qiita-image-store.s3.amazonaws.com/0/122648/13e6b010-40c7-9d5e-1267-79e4e922ac10.png)

![スクリーンショット 2016-11-13 13.26.03.png](https://qiita-image-store.s3.amazonaws.com/0/122648/ebc3c127-05ae-7d93-3c20-1e5e05519f8b.png)



# 5. Apache Serverの開始

```shell-session
$ sudo service httpd start
```

![スクリーンショット 2016-11-13 13.07.59.png](https://qiita-image-store.s3.amazonaws.com/0/122648/d4d4282f-f98c-425e-7380-247584e46df4.png)

`[OK]`が表示されたら、Apache Serverの開始は完了です。

パブリックDNSをブラウザに入力してみましょう。

![スクリーンショット 2016-11-13 13.38.46.png](https://qiita-image-store.s3.amazonaws.com/0/122648/581fec34-1790-235c-9402-90080b6d79c7.png)

このような画面が表示されると完了です。

この画面は`/var/www/html/`のパスに何のファイルもない場合に表示される画面です。

Apacheの基本パスは`/var/www/html/`で、rootが権限を持っています。

しかし、ssh接続する時には`ec2-user`で接続するため、権限を持っていません。

権限の付与をしましょう。

下のコマンドを入力して`www`グループをインスタンスに追加して、`ec2-user`を`www`グループに追加しましょう。

> 追加の後、必ずログアウト及び再ログインしましょう！

```shell-session
$ sudo groupadd www
$ sudo usermod -a -G www ec2-user
```

その後、グループの追加がちゃんとできているのか確認しましょう。

```shell-session
$ groups
ec2-user wheel www
```

wwwが表示されたらOKです。

/var/wwwの所有権をwwwグループに変更します。

```shell-session
$ sudo chown -R root:www /var/www
```

その後、権限変更をしましょう。

```shell-session
$ sudo chmod 2775 /var/www
$ find /var/www -type d -exec sudo chmod 2775 {} +
$ find /var/www -type f -exec sudo chmod 0664 {} +
```

ここまで完了したら、PHPのバージョンを確認するためにテストページを追加して確認しましょう。

```shell-session
$ echo "<?php phpinfo(); ?>" > /var/www/html/phpinfo.php
```

次に、パブリックDNSをブラウザに入力してPHPINFOページが表示されるかを確認してください。

> http://<パブリックDNS>/phpinfo.php

![スクリーンショット 2016-11-13 13.54.00.png](https://qiita-image-store.s3.amazonaws.com/0/122648/88d4c51c-8c4d-d9a7-b988-b128a1dd77ff.png)

上のような画面が表示されます。

# 6. MySQLの設定

```shell-session
$ sudo service mysqld start
```

![スクリーンショット 2016-11-13 13.56.02.png](https://qiita-image-store.s3.amazonaws.com/0/122648/dfa1849b-4f81-9c00-1c1c-f5ce72528639.png)

OKが表示されたら、MySQLが実行されていることです。

セキュリティの設定をしましょう。

```shell-session
$ sudo mysql_secure_installation
```

最初はパスワードがないためエンターキーを押し、その後はYを入力して設定を行ってください。

下のコマンドを入力すると、ブートの時にMySQLサーバが自動的に開始されるように設定することができます。

```shell-session
$ sudo chkconfig mysqld on
```