LoginSignup
1
4

More than 5 years have passed since last update.

【AWS EC2】amazon linux2 AMIにLAMP環境を構築する

Posted at

【環境】
・Windows10
・PHP7.2
・MySQL5.7
・Apache2.4
・Amazon Linux 2 AMI (HVM)

目次

インスタンス作成
phpのインストール
apacheのインストール
mysqlのインストール
phpMyAdminのインストール

インスタンス作成

インスタンス・・・仮想マシンのこと

1.AWSにログイン

2.AWSマネジメントコンソールのすべてのサービスからEC2を選択する

aws1.png

3.インスタンスの作成を押下

aws2.png

4.一番上のAmazon Linux2 AMI(HVM)の選択ボタンを押下

aws3.png

5.無料利用枠のtc2.microを選択し、確認と作成を押下

aws4.png

6.起動を押下

aws5.png

7.秘密鍵を作成するために、新しいキーペアの作成を選択し、
 好きなキーペア名を入力した後、キーペアのダウンロードを押下

aws6.png

8.ダウンロード後、インスタンスの作成ボタンが押下できるようになるため、それを押下(画像は7を参照)

9.作成ステータスが表示されるので、インスタンスの表示を押下
aws6.png

10.しばらく待っていると、インスタンスの状態がrunnningに変わる。もし変わらなかった場合は、右上の更新ボタンを押下する
(後に必要となるのでIPv4パブリックIPをコピーしておく。)

aws8.png

11.デスクトップを右クリックし、Git Bash hereを押下し、Gitコマンドプロンプトを開く
aws9.png

12.sshに接続する


ssh -i '{キーを保存した場所のパス}' ec2-user@{10でコピーしたIP_Address}

13.メッセージが表示されるのでyesと入力する

セキュリティルールの編集

1.HTTP接続をインスタンスに許可するセキュリティルールを追加する

2.実行中のインスタンスを表示する画面を開き、インスタンスを選択

3.セキュリティグループを選択し、編集を押下

aws11.png

4.ルールの追加を押し、HTTPの設定を次の写真と同様に設定する
aws11.png

マイIPを選択することで自分が使用しているパブリックIPのみを許可することができます。

phpのインストール

1.すべてのソフトウェアを更新した後、Amazon Linux2のExtras Libraryを利用し、php7.2をインストールする


[ec2-user ~]$ sudo yum update -y

[ec2-user ~]$ sudo amazon-linux-extras install php7.2

[ec2-user ~]$ sudo yum install php php-mbstring

php動作確認

1.ファイルの許可設定

[ec2-user ~]$ sudo usermod -a -G apache ec2-user

2.一度ログアウトし、再度ログインする


[ec2-user ~]$ exit

[ec2-user ~]$ ssh -i '{キーを保存した場所のパス}' ec2-user@{10でコピーしたIP_Address}

3.グループを確認し、グループ所有権を変更する

[ec2-user ~]$ sudo chown -R ec2-user:apache /var/www

4.サブディレクトリ・ファイルにグループの書き込み許可を追加する

[ec2-user ~]$ sudo chmod 2775 /var/www && find /var/www -type d | xargs sudo chmod 2775

[ec2-user ~]$ find /var/www -type f | xargs sudo chmod 0664

5.phpファイルの作成


[ec2-user ~]$ echo "<?php phpinfo(); ?>" > /var/www/html/phpinfo.php

6.ブラウザで
http://{SSH接続時のIPアドレス もしくはパブリック DNS (IPv4)}/phpinfo.phpに接続する

PHP情報ページが表示されればOKです

Apacheのインストール

[ec2-user ~]$ sudo yum install -y httpd

#apacheを再起動する
[ec2-user ~]$ sudo systemctl start httpd

#起動時にapacheが起動するよう設定する
[ec2-user ~]$ sudo systemctl enable httpd

Apache動作確認

ブラウザで
http://{SSH接続時のIPアドレス もしくはパブリック DNS (IPv4)}に接続する(インスタンスの作成項目10の画像を確認してください)

以下の画面が表示されればOKです
aws10.png

Mysqlのインストール


#mysql8.0リポジトリの追加(このリポジトリに5.7も含まれています)
[ec2-user ~] $ sudo yum localinstall https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm -y

#mysql8.0リポジトリの無効化
[ec2-user ~] $ sudo yum-config-manager --disable mysql80-community

#mysql5.7リポジトリの有効化
[ec2-user ~] $ sudo yum-config-manager --enable mysql57-community

#mysql5.7がインストールできるか確認
[ec2-user ~] $ yum info mysql-community-server

#mysqlインストール
[ec2-user ~] $ sudo yum install mysql-community-server -y

#mysqlバージョン確認
[ec2-user ~] $ mysqld --version


#自動起動設定
[ec2-user ~] $ sudo systemctl start mysqld.service
[ec2-user ~] $ sudo systemctl enable mysqld.service
[ec2-user ~] $ systemctl status mysqld.service


Mysql初期設定


#rootパスワードを確認
[ec2-user ~] $ cat /var/log/mysqld.log | grep password
A temporary password is generated for root@localhost: ★ココに初期パスワードが表示されます

#初期設定
[ec2-user ~] $ mysql_secure_installation

初期パスワードを入力後、新規パスワードを設定します。

#mysqlにログイン
[ec2-user ~] $ mysql -u root -p


#文字コードの確認
mysql> show global variables like 'character%';

mysql> exit

#文字コードの変更([mysqld]と[client]セクションと設定を追加)
[ec2-user ~] $ sudo vi /etc/my.cnf

以下の文を追加

[mysqld] (既に記述されている場合は省略)
character_set_server=utf8mb4

[client]
default-character-set=utf8mb4

#mysql再起動
[ec2-user ~] $ sudo systemctl restart mysqld.service

#mysqlにログイン
[ec2-user ~] $ mysql -u root -p

#文字コードの確認
mysql> show global variables like 'character%';

phpMyAdminのインストール


#必要な依存ファイルをインストールする
[ec2-user ~]$ sudo yum install php-mbstring -y

#Apacheを再起動する
[ec2-user ~]$ sudo systemctl restart httpd

#php-fpmを再起動する
[ec2-user ~]$ sudo systemctl restart php-fpm

#/var/www/htmlに移動する
[ec2-user ~]$ cd /var/www/html

#phpMyAdminの最新のパッケージリンクをwgetコマンドに張り付ける
[ec2-user html]$ wget https://www.phpmyadmin.net/downloads/phpMyAdmin-latest-all-languages.tar.gz

#phpMyAdminフォルダを作成し、パッケージを展開する
[ec2-user html]$ mkdir phpMyAdmin && tar -xvzf phpMyAdmin-latest-all-languages.tar.gz -C phpMyAdmin --strip-components 1

#展開したため、もとのパッケージは削除する
[ec2-user html]$ rm phpMyAdmin-latest-all-languages.tar.gz

#mysqlを起動する
[ec2-user ~] $ sudo systemctl start mysqld.service

動作確認

ブラウザで
http://{SSH接続時のIPアドレス もしくはパブリック DNS (IPv4)}//phpMyAdminを開く

phpMyAdminログインページが表示されればOKです

参考資料

awsチュートリアル
Qiita@owlbeckさん記事
Qiita@2no553さん記事

1
4
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
1
4