【環境】
・Windows10
・PHP7.2
・MySQL5.7
・Apache2.4
・Amazon Linux 2 AMI (HVM)
目次
インスタンス作成
phpのインストール
apacheのインストール
mysqlのインストール
phpMyAdminのインストール
インスタンス作成
インスタンス・・・仮想マシンのこと
1.AWSにログイン
2.AWSマネジメントコンソールのすべてのサービスからEC2を選択する
3.インスタンスの作成を押下
4.一番上のAmazon Linux2 AMI(HVM)の選択ボタンを押下
5.無料利用枠のtc2.microを選択し、確認と作成を押下
6.起動を押下
7.秘密鍵を作成するために、新しいキーペアの作成を選択し、
好きなキーペア名を入力した後、キーペアのダウンロードを押下
8.ダウンロード後、インスタンスの作成ボタンが押下できるようになるため、それを押下(画像は7を参照)
9.作成ステータスが表示されるので、インスタンスの表示を押下
10.しばらく待っていると、インスタンスの状態がrunnningに変わる。もし変わらなかった場合は、右上の更新ボタンを押下する
(後に必要となるのでIPv4パブリックIPをコピーしておく。)
11.デスクトップを右クリックし、Git Bash hereを押下し、Gitコマンドプロンプトを開く
12.sshに接続する
ssh -i '{キーを保存した場所のパス}' ec2-user@{10でコピーしたIP_Address}
13.メッセージが表示されるのでyesと入力する
セキュリティルールの編集
1.HTTP接続をインスタンスに許可するセキュリティルールを追加する
2.実行中のインスタンスを表示する画面を開き、インスタンスを選択
3.セキュリティグループを選択し、編集を押下
4.ルールの追加を押し、HTTPの設定を次の写真と同様に設定する
マイ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の画像を確認してください)
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です