LoginSignup
0
0

More than 3 years have passed since last update.

AWS Lamp環境構築

Posted at

やること

AWS上にLamp環境構築

EC2(Linux)環境構築

1.AWSコンソールからEC2を選択し、インスタンスを起動を選択
2.Amazon Linux 2 AMI (HVM), SSD Volume Typeを選択し、残りの設定はお好みで設定する
3.ssh通信をするためのキーペアを作成し、ダウンロードしておく
4.作成したEC2のセキュリティタブからセキュリティグループを選択し、インバウンド通信にsshを追加することで、外部からのssh通信を許可する
5.ターミナル上でダウンロードしたキーペアのあるディレクトリに移動し、ssh接続を行う

ssh -i {ダウンロードした証明書} ec2-user@{作成したEC2のパブリック IPv4 DNS}

※パブリック IPv4 DNSはインスタンス概要から確認できる

Apache環境構築

1.EC2のインバウンド通信にhttpを追加し、外部からのhttp接続を許可する
2.以下のコマンドでapacheをインストールし起動する

sudo yum -y install httpd
sudo service httpd start

3.インスタンス概要欄にあるパブリック IPv4 アドレスのオープンアドレスを開く(許可しているのはhttpなので、httpsからhttpに変更する)

MySQL環境構築

  1. AWSコンソールからRDSを選択し、データベースの作成を選択し、MySQLにチェックを入れ作成を行う(マスターユーザ名とパスワードはメモしておく)
  2. 作成されたデータベースのセキュリティグループを選択し、インバウンド通信にMySQLを許可し、外部からの接続を許可する
  3. ssh通信したEC2サーバに、MySQLをインストールし、データベースへの接続を行う
sudo yum -y install mysql

mysql -h {作成したDBのエンドポイント} -P 3306 -u {マスターユーザ名} -p

なお、現在の状態では、データベースはプライベート接続のみ許可されている状態となっているため、EC2のサーバを踏み台として利用することのみで接続できる

また、EC2はデフォルトでアウトバウンドが全てのポート許可となっているため、MySQLに接続できる

PHP環境構築

1.PHPのインストールおよび設定読み込み(再起動)

sudo amazon-linux-extras install php7.2
sudo service httpd restart

2.ドキュメントルートに移動する

cd /var/www/html/

3.PHPファイルを作成する

sudo vi index.php

4.内容を記述する

<?php
echo "Hello World!";

※Vimの使い方は詳しく触れませんが、Iキーを押すことで入力モード、ESXキーを押すことでノーマルモードに戻り、ノーマルモードで:wqと入力すれば保存することができます。

5.再度パブリック IPv4 アドレスのオープンアドレスを開く

※この時、キャッシュが残っている場合に最初に開いたApacheの初期画面が表示されることがあるので、キャッシュクリアもしくは別のブラウザの使用、時間を置いてアクセスなどしてください

感想

初めは少しセキュリティグループの設定漏れなどで困ったが、簡易に環境構築ができると感じた。

普段はAzureユーザなので、Paas(WebApps等)でアプリケーションサーバを構築することが多いが、EC2の場合は実際にはIaasなので、少し設定が面倒だと感じたので、他に方法が無いか探る(Elastic Beanstalkがそれに該当?)

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0