AmazonLinux2でLAMP構築

#LAMP構築前の準備
AmazonLinux2でLAMP構築をする前にインスタンスのセキュリティグループにHTTPとHTTPSを追加する必要があります。
まずはインスタンスの説明からセキュリティグループ名をクリックします。
![01.png](https://qiita-image-store.s3.amazonaws.com/0/353060/adbc5c34-d997-a5d3-1511-ec365751847f.png)
インバウンドタブを選択して[編集]をクリックします。
![02.png](https://qiita-image-store.s3.amazonaws.com/0/353060/711b04b0-5cb5-519f-40d9-4af7c67452f4.png)
[ルールの追加]をクリックしてルールを２つ追加します。
![03.png](https://qiita-image-store.s3.amazonaws.com/0/353060/5765377c-d9fe-5c18-eaf6-f1df1b28f70f.png)
タイプをそれぞれHTTP、HTTPSにして[保存]をクリックします。
![04.png](https://qiita-image-store.s3.amazonaws.com/0/353060/4924bd58-a8cc-c3f0-24f7-ead403aad51d.png)

#LAMP環境の構築
AmazonLinux2にrootユーザーでログインします。

```AmazonLinux2:AmazonLinux2
login as: ec2-user
[ec2-user ~]$ sudo -i
```
![00.png](https://qiita-image-store.s3.amazonaws.com/0/353060/db6178b8-91cf-abbc-2208-26b5c4aa4dc9.png)
AmazonLinux2を最新状態に更新します。

```AmazonLinux2:AmazonLinux2
[root ~]# yum update -y
```
lamp-mariadb10.2-php7.2 と php7.2 Amazon Linux Extras リポジトリをインストールします。

```AmazonLinux2:AmazonLinux2
[root ~]# amazon-linux-extras install -y lamp-mariadb10.2-php7.2 php7.2
```
Apache ウェブサーバー、MariaDB、PHP ソフトウェアパッケージをインストールします。

```AmazonLinux2:AmazonLinux2
[root ~]# yum install -y httpd mariadb-server
```
Apache ウェブサーバーを起動します。

```AmazonLinux2:AmazonLinux2
[root ~]# systemctl start httpd
```
システムがブートするたびに Apache ウェブサーバーが起動するように設定します。

```AmazonLinux2:AmazonLinux2
[root ~]# systemctl enable httpd
```
httpd が有効かどうかはコマンドを実行して確認できます。
（enabledなら有効、disabledなら無効）

```AmazonLinux2:AmazonLinux2
[root ~]# systemctl is-enabled httpd
```
これでパブリックDNSアドレスを入力するとTest Pageが表示されるようになりました。
![05.png](https://qiita-image-store.s3.amazonaws.com/0/353060/181f2eca-7080-adad-8bb3-ec67cb5fed7a.png)
![06.png](https://qiita-image-store.s3.amazonaws.com/0/353060/a2f5b33a-7635-fa18-c161-adec92429a68.png)

#データベースの設定
MariaDB サーバーを起動します。

```AmazonLinux2:AmazonLinux2
[root ~]# systemctl start mariadb
```
mysql_secure_installation を実行

```AmazonLinux2:AmazonLinux2
[root ~]# mysql_secure_installation
```
Enterを押します。

```AmazonLinux2:AmazonLinux2
[root ~]# Enter current password for root (enter for none):
```
yを入力してEnterを押します。

```AmazonLinux2:AmazonLinux2
[root ~]# Set root password? [Y/n] y
```
phpMyAdminにログインする時に必要なパスワードを作成します。
（入力しても何も表示されないのでわかりずらいですがちゃんと入力されています。）

```AmazonLinux2:AmazonLinux2
[root ~]# New password: 
```
もう一度同じパスワードを入力します。

```AmazonLinux2:AmazonLinux2
[root ~]# Re-enter new password:
```
匿名ユーザーを削除します。

```AmazonLinux2:AmazonLinux2
[root ~]# Remove anonymous users? [Y/n] y
```
リモートでrootログインを許可しない。

```AmazonLinux2:AmazonLinux2
[root ~]# Disallow root login remotely? [Y/n] y
```
テストデータベースを削除

```AmazonLinux2:AmazonLinux2
[root ~]# Remove test database and access to it? [Y/n] y
```
権限テーブルを再ロードし、変更を保存します。

```AmazonLinux2:AmazonLinux2
[root ~]# Reload privilege tables now? [Y/n] y
```
MariaDBサーバーを起動します。

```AmazonLinux2:AmazonLinux2
[root ~]# systemctl enable mariadb
```

#phpMyAdminをインストール
phpMyAdminをインストールします。

```AmazonLinux2:AmazonLinux2
[root ~]# yum install php-mbstring -y
```
Apacheを再起動します。

```AmazonLinux2:AmazonLinux2
[root ~]# systemctl restart httpd
```
phpを再起動します。

```AmazonLinux2:AmazonLinux2
[root ~]# systemctl restart php-fpm
```
Apache ドキュメントルートに移動
（パブリックDNSアドレス/ファイル名で、この中に作られたファイルへアクセスできます。）

```AmazonLinux2:AmazonLinux2
[root ~]# cd /var/www/html
```
phpMyAdminのサイトから最新の phpMyAdmin リリース用のソースパッケージのリンクのアドレスをコピー
（phpMyAdmin-4.8.5-all-languages.tar.gzを右クリック、リンクのアドレスをコピーをクリック）
https://www.phpmyadmin.net/downloads
![07.png](https://qiita-image-store.s3.amazonaws.com/0/353060/08484bab-fbe5-befe-a10d-34f448c33e7c.png)

インターネットからソースパッケージファイルをダウンロード
（wgetコマンドの後に先程コピーしたリンクアドレスを入れて実行）

```AmazonLinux2:AmazonLinux2
[root html]# wget https://files.phpmyadmin.net/phpMyAdmin/4.8.5/phpMyAdmin-4.8.5-all-languages.tar.gz
```
phpMyAdminを展開するためのフォルダを作成します。

```AmazonLinux2:AmazonLinux2
[root html]# mkdir phpMyAdmin
```
作成したフォルダにphpMyAdminを展開します。

```AmazonLinux2:AmazonLinux2
[root html]# tar -xvzf phpMyAdmin-4.8.5-all-languages.tar.gz  -C phpMyAdmin --strip-components 1
```
不要になった展開元のファイルを削除します。

```AmazonLinux2:AmazonLinux2
[root html]# rm -f phpMyAdmin-4.8.5-all-languages.tar.gz
```
パブリックDNSアドレスに/phpMyAdminを付け足してURLを実行すると、phpMyAdminにアクセスできます。
（ec2-~.compute.amazonaws.com/phpMyAdmin）
ユーザー名にrootを入力（デフォルト）。
パスワードには先程作成したパスワードを入力します。
![08.png](https://qiita-image-store.s3.amazonaws.com/0/353060/ce90c81f-5e00-4685-5122-92cfaf910797.png)
これでphpMyAdminでデータベースを操作できるようになりました。
![09.png](https://qiita-image-store.s3.amazonaws.com/0/353060/61c44a03-919d-4644-a01a-1c38d7088111.png)