EC2にadminerを入れる手順

#はじめに
題名通りで、EC2にDB管理ツールのAdminerを設置します。
<img width="400" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/988747/8b16ee46-9cac-ecd4-d767-26a048ab63be.png">

#前提
・EC2とRDSを事前に設置
インターネットゲートウェイやサブネットも作成済み
[こちらを参考にしました](https://qiita.com/MayForBlue/items/c96674fb6aac5852a978)
・RDSはMYSQL
・EC2のインバウンドのセキュリティーグループはこちらの設定にしてください。
<img width="800" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/988747/4fd5d5e8-05dc-f147-26ec-e7535fc7afbd.png">


#流れ
①EC2にapacheをインストール
②PHPとMySQLのPHP拡張をインストール
③adminerをec2に設置
④adminerログイン

#EC2の初期設定
##EC2ポートの変更
EC2を起動時、セキュリティーの観点から、sshポートを変更します。(やらなくても可)



```
$ sudo vim /etc/ssh/sshd_config

Port 49923
```
設定を反映します。セキュリティーグループの変更を忘れずに。
セキュリティーグループのタイプは`SSH`ではなく`カスタム TCP`です。

```
$ sudo service sshd reload
```

##日本時間の設定
下記記事参照

https://qiita.com/ganessa/items/9d6395237863810bab81

#EC2にPHPとnginxをインストール
`amazon-linux-extras`コマンドで、PHPとnginxのインストール可能なバージョンを確認します

```

#①EC2にapacheをインストール

まずEC2にSSH接続します

```
$ ssh -i ~/.ssh/ec2-key.pem ec2-user@✕✕.✕✕✕.✕✕✕.✕✕
```
[詳しくはこちら](https://qiita.com/holdout0521/items/7010ab2401c813d67d0f#ssh%E6%8E%A5%E7%B6%9A%E6%96%B9%E6%B3%95)

管理者権限で実行

```
$ sudo su
```

アップデート実行

```
# yum update -y
```
apacheインストール

```
# yum install httpd -y
```
apache起動

```
# service httpd start
Redirecting to /bin/systemctl start httpd.service
```
apacheが起動していることを確認

```
# systemctl status httpd
● httpd.service - The Apache HTTP Server
   Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled)
   Active: active (running) since 以下省略
```
ブラウザにEC2のパブリックIPアドレスを入力し、Webサーバとして稼働していることを確認します。
<img width="400" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/988747/b97fb221-3c41-9f2a-146c-07e695c2e4dd.png">

<img width="800" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/988747/43b019f0-704d-a2e8-b28e-0bc151a2a6cf.png">

#②PHPとMySQLのPHP拡張をインストール

```
# yum -y install php
# yum -y install php-mysql
```
MySQLのPHP拡張を確認

```
# php -m | grep mysql
mysql　
mysqli
mysqlnd
pdo_mysql
```

php.iniの設定を変更します。
php.iniを「vim」で開いたら、「/extension=msql.so」と入力し検索を行います。コメントアウトされている場合はコメントを外します。検索に引っかからない場合は追記します。

```
# vim /etc/php.ini

extension=msql.so  <= 追記
```
<img width="400" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/988747/52855065-f12d-1fac-5d56-0ba36dbcebb3.png">
↓
<img width="400" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/988747/f0d0de9e-08de-49b7-0661-bf43ca6bdc77.png">

追記後、httpd設定を読み込みます。apacheは停止しません。

```
# service httpd reload
```
また、サーバー再起動時、apacheを自動起動する設定をします。
自動起動設定を確認し、「disabled」と表示されると、再起動しませんので「enabled」となるようにします。

```
# systemctl is-enabled httpd
disabled

#　　systemctl enable httpd.service

　# systemctl is-enabled httpd
enabled
```

#③adminerをEC2に設置
こちらから最新バージョンをダウンロードします。
現時点では、`Adminer 4.8.1`が最新版です。
https://www.adminer.org/
<img width="800" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/988747/1dbac7c2-d448-32cd-4540-ec55ee3d419a.png">

ローカルにダウンロードした`adminer-4.8.1.php`ファイルをEC2にアップします。
scpコマンドを使用します。

まずEC2サーバーの/var/www/htmlディレクトリの権限を変えます。

```
# cd /var/www
# chmod 777 html/
```

ローカルでコマンド実行します。

```
ローカル
$ scp [オプション] [鍵].pem コピー元パス ユーザ名@サーバのホスト名(or IPアドレス):保存先パス

$ sudo scp -p -i ~/Downloads/ec2-key.pem ~/Downloads/adminer-4.8.1.php ec2-user@xxx.xxx.xxx:/var/www/html 

```

サーバー側で権限を755に変更、ファイル名を変更します。
ファイル名を変更しないと、ブラウザに表示されません。

```
# cd /var/www
# chmod 755 html/
#　　mv adminer-4.8.1.php adm.php
```

ブラウザにURL:`EC2のパブリックIPアドレス/adm.php`でadminerが表示されます。
<img width="800" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/988747/15341b0f-4979-e427-2474-0c7491b38d85.png">

#④adminerログイン
adminerに以下の情報を入れるとログインできます。

・データベース種類:MySQL
・サーバ：RDSのエンドポイント (下図)
・ユーザ名：RDSのユーザー名
・パスワード：RDSのパスワード
・データベース：記入なし
・永続的にログイン：チェック！

サーバ：RDSのエンドポイント
↓
<img width="400" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/988747/a76a5135-aa5d-6e08-6d07-e1bb1b8b7a2e.png">

無事ログインできました。

参考
[Adminerを設置する](https://qiita.com/nissuk/items/2b1aee7f81f351c7ab05)
[お使いのサーバーの PHP では WordPress に必要な MySQL 拡張を利用できないようです。](https://blog.kujira-station.com/201501261644)