初心者｜AWSのLightsailのWordPressのphpMyAdminへアクセスする方法

※本稿は記事：[【初心者】AWSのlightsailでWordPressを導入するまで](https://qiita.com/tomokei5634/items/9719731e355ad5299fc2)の続きとなるものです。

<font color="red">※タイトルに【旧】と記載のある内容は古いもので、2021年12月現在では方法が少し変わっています。[【2021年12月時点】](#2021年12月時点phpmyadminへアクセスできるようにする方法)という内容をご覧ください</font>

※本稿では、LightsailのWordPressインスタンス内に付属されている**phpMyAdmin**へアクセスする方法を記します。

# アクセス先のURL

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/283603/42d01029-b335-2c98-70ce-e5475778340a.png)

例えば静的IPが `54.123.123.73` だった場合は、**phpMyAdmin**へアクセスするURLは `http://52.123.123.73/phpmyadmin/` になります。

独自ドメインが `abcde.com` だった場合は、URLは `http://abcde.com/phpmyadmin/` になります。


# For security reasons, only accessible using localhost

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/283603/59a78beb-9dfb-4e92-5ad4-85df636ad36f.png)

```
For security reasons, this URL is only accessible using localhost (127.0.0.1) as the hostname.

（訳）セキュリティ上の理由から、この URL はホスト名として localhost (127.0.0.1) を使用してのみアクセス可能です。
```

初期状態（インスタンスを起動してから何もしていない状態）では、上記の表示がされ**phpMyAdmin**へアクセスできません。

以下に、アクセスできるようにするまでの手順を記します。

---

# 【旧】phpMyAdminへアクセスできるようにする方法

簡単にいえば、**phpMyAdmin**の`httpd-app.conf`ファイルでBASIC認証を有効化するだけです。具体的な手順を３STEPで示します。

* Step1）`/opt/bitnami/apps/phpmyadmin/conf/httpd-app.conf`ファイルの一部を変更
* Step2）`.htpasswd`の作成
* Step3）Apacheの再起動

## Step1）httpd-app.confの一部を変更
* ターミナルを起動しインスタンスへアクセスしてください
* 以下のコマンドを実行してファイルの一部を変更してください
* 変更箇所は `# AuthType Basic` から `# Require valid-user` までの部分です
* コメントアウトを外してください
* `AuthUserFile` には、これから作成する `.htpasswd` ファイルのパスを記述してください

```terminal:terminal
$ vi /opt/bitnami/apps/phpmyadmin/conf/httpd-app.conf
```

```conf:/opt/bitnami/apps/phpmyadmin/conf/httpd-app.conf
AuthType Basic
AuthName phpMyAdmin
AuthUserFile "/opt/bitnami/apps/phpmyadmin/conf/.htpasswd"
Require valid-user
```

![スクリーンショット 2021-02-09 19.53.01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/283603/63dc3179-f14e-619d-411f-2b226ad3e14c.png)

【Before】
![スクリーンショット 2021-02-09 19.50.56.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/283603/066806eb-7511-ac1c-52f7-ae27e4286b59.png)

【After】
![スクリーンショット 2021-02-09 19.49.59.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/283603/6a77b9d8-5b23-7d45-9ee7-e2064617d3b2.png)


## Step2）.htpasswdファイルの作成
* 本稿では `.htpasswd` をディレクトリ `/opt/bitnami/apps/phpmyadmin/conf/` へ作成します（`httpd-app.conf` があるところと同じ）
* 別の場所に作成した場合は、上記Step1の`AuthUserFile`のパスを適切なものへ（作成した場所へ）してください
* 本稿では、ユーザー名`admin`、パスワードを`test123`として示します
* BASIC認証用のパスワード生成は[.htpasswdファイル生成(作成)](https://www.luft.co.jp/cgi/htpasswd.php)などでどうぞ。
* なお、上記のユーザー名とパスワードでは`admin:iJ2wAhwPasu.M`が生成されます。これを`.htpasswd`へ書き込みます

```terminal:terminal
$ cd /opt/bitnami/apps/phpmyadmin/conf/
$ echo "admin:iJ2wAhwPasu.M" > .htpasswd
``` 

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/283603/591df5d4-eb85-6ec6-0ad6-584734917333.png)

## Step3）Apacheを再起動

* 次のコマンドで再起動してください

```terminal:terminal
$ sudo /opt/bitnami/ctlscript.sh restart apache
```

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/283603/58ff7508-bf39-278b-5ba1-d5069752f029.png)


---

# 【2021年12月時点】phpMyAdminへアクセスできるようにする方法

簡単にいえば、`phpmyadmin.conf`ファイルでBASIC認証を有効化するだけです。具体的な手順を３STEPで示します。

* Step1）`/opt/bitnami/apache/conf/bitnami/phpmyadmin.conf`ファイルの一部を変更
* Step2）`/opt/bitnami/apache`以下に、ディレクトリ`/users` と、更にその下にファイル`.htpasswd`の作成
* Step3）Apacheの再起動

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/283603/f45bfc3c-109d-2bf3-9e8c-c3be91787985.png)


## Step1）phpmyadmin.confの一部を変更
* ターミナルを起動しインスタンスへアクセスしてください
* 以下のコマンドを実行してファイルの一部を変更してください
* 変更箇所は `# AuthType Basic` から `# Require valid-user` までの部分です
* コメントアウトを外してください
* `AuthUserFile` には、これから作成する `.htpasswd` ファイルのパスを記述してください

```terminal:terminal
$ vi /opt/bitnami/apache/conf/bitnami/phpmyadmin.conf
```

```conf:/opt/bitnami/apache/conf/bitnami/phpmyadmin.conf
AuthType Basic
AuthName phpMyAdmin
AuthUserFile "/opt/bitnami/apache/users/.htpasswd"
Require valid-user
```

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/283603/a9fa4c2b-ff6c-0637-4875-f96e69a864de.png)


## Step2）usersディレクトリと、.htpasswdファイルの作成
* ディレクトリ`/opt/bitnami/apache/`の配下に、ディレクトリ`users`を作成してください
* 作成したディレクトリ`users`の配下に、ファイル`.htpasswd`を作成してください
* [.htpasswdファイル生成(作成)](https://www.luft.co.jp/cgi/htpasswd.php)などでBASIC認証用のユーザー名：パスワードのセットを生成してファイル`.htpasswd`へ書き込んでください。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/283603/229c206d-55e6-5159-4e28-950eaaf78cd2.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/283603/7dbec6d4-c1af-0839-326d-360e56525dd5.png)
↑　本稿ではユーザー名`admin`、パスワードを`test123`として進めます



```terminal:terminal
$ cd /opt/bitnami/apache/
$ sudo mkdir users
$ cd users
$ echo "admin:iJ2wAhwPasu.M" > .htpasswd
``` 

## Step3）Apacheを再起動

* 次のコマンドで再起動してください

```terminal:terminal
$ sudo /opt/bitnami/ctlscript.sh restart apache
```

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/283603/58ff7508-bf39-278b-5ba1-d5069752f029.png)


---

# では、phpMyAdminへアクセス

上記でも記載しましたが、例えば静的IPが `54.123.123.73` だった場合は、**phpMyAdmin**へアクセスするURLは `http://52.123.123.73/phpmyadmin/` になります。

独自ドメインが `abcde.com` だった場合は、URLは `http://abcde.com/phpmyadmin/` になります。

アクセスしてBASIC認証が表示されるはずです。
本稿の通りならユーザー名`admin`、パスワードを`test123`で通るはずです。
phpMyAdminのログイン画面が表示されれば成功です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/283603/4b5664fd-7660-0aa8-57d0-c2405f09eb6e.png)

以上が、AWSのLightsailのWordPressインスタンスに付随してるphpMyAdminへアクセスする方法でした。


# 補足：phpMyAdminへログインする方法

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/283603/39fd92b4-fc47-221b-0587-40a15d223879.png)

ユーザー名は`root`です
パスワードは下記のコマンドで調べます

```terminal:terminal
$ cat /home/bitnami/bitnami_application_password
```

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/283603/8c232136-2e91-a965-a055-292310758bf5.png)

ちゃんとログインできました？
成功を祈ります:v:


## 余談

phpMyAdminへログインするときのアカウント、WordPressのアカウント（`wp-config.php`に記載のあるアカウント）でもよくない？

って思って、アクセスしてみました。

もちろん、アクセスできます。ただ、権限が違います。

【wp-config.phpのDB部分】
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/283603/b45578cd-bb62-1e64-9e8a-95c93dd2a747.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/283603/9a88323a-618b-e151-0912-e0871c9d5079.png)

セキュリティちゃんとしてるなぁ...って感じです