
Lightsail の bitnami WordPress には 予め phpMyAdmin がインストールされていて、使える状態になっています。
しかしセキュリティ上の理由から、通常の状態では、ブラウザからアクセスできません。
アクセスするには、SSHトンネリング(ポートフォワーディング)を使います。
↓ここに書いてありました。
– Bitnami WordPress for AWS Cloud
Contents
ローカルのマシンでの作業
ターミナルに入って、以下のようなコマンドをぶっ叩きます。
1 2 |
$ ssh -N -L 8888:127.0.0.1:80 -i 秘密鍵ファイル sshログインユーザ名@パブリックIPアドレス |
- 秘密鍵ファイル: Lightsailにsshアクセスするための秘密鍵(例: /path/to/LightsailDefaultPrivateKey-ap-northeast-1.pem)
- sshログインユーザ名: Lightsailの管理画面に掲載されています。 (例: wpken)
- パブリックIPアドレス: ご自身のLightsailサーバのパブリックIPアドレス(例: 203.0.113.0)
上記のコマンドを実行し、 成功するとターミナルの入力がブロックされた状態(キー入力を受け付けない状態)
になります。
この状態で以下を実行します。
ブラウザでアクセス
以下にアクセスします。
1 2 |
http://127.0.0.1:8888/phpmyadmin |
成功すれば phpmyadmin のログイン画面がこんな感じで表示されます:
phpMyAdminのアカウント
- ユーザ名: wp-config.php 記載のDB_USER
- パスワード: wp-config.php 記載のDB_PASSWORD
アクセスをやめる時
ターミナルに戻って ctrl+c
するとブロックが解除され、sshが切断されますので、
(キー入力うけつないんじゃないんじゃないかーい! 良い質問ですね。 unix シグナル で検索してみようz)
ブラウザからアクセスできない状態に戻ります。
つながらない場合: ポート番号について
まず sshコマンドのオプションに指定している値について説明します。
1 2 |
ssh -N -L 8888:127.0.0.1:80 |
- 8888 はローカル側(例: mac)が開放するポート番号
- 80 はリモート側(サーバー)が開放しているポート番号
なので、もし ローカル側の他のアプリケーションが8888番のポートをすでに使っている場合
は、あとからきたssh接続は このローカル側のポート番号8888はすでに専有されているので、別な番号(使われていない番号)に変更する必要があります。
(例えば 8889 とかで試してみるとよいです)。
ローカル(macOS)が使っているポート番号調べる:
例: 8888番ポートを他のアプリケーションやプログラム(以下はpython)が専有している状況:
1 2 3 4 5 6 |
sudo lsof -nP -i4TCP -sTCP:LISTEN COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME ... 省略 ... python3.7 40332 wpken 7u IPv4 0x720b920e1b608281 0t0 TCP 127.0.0.1:8888 (LISTEN) ... 省略 ... |
例えばですが このような状況だと 8888番ポートはローカル側ではすでに pythonアプリケーションが専有しているので、その他のアプリケーションは使用できないのです。したがって、8888ではなく8889などの専有されていないポート番号に変更する必要があります。
例: 8888 => 8889 に変更
1 2 |
$ ssh -N -L 8889:127.0.0.1:80 -i 秘密鍵ファイル sshログインユーザ名@パブリックIPアドレス |
として、ブラウザでは、
1 2 |
http://127.0.0.1:8889/phpmyadmin |
にアクセスします。
IPアドレスが 集合住宅の住所
だとすると、ポート番号は 部屋番号
みたいなものです。
いまのうちになれてきましょう。
ちなみに、指定するポート番号にはちょっとしたルールがあります。
TCPやUDPにおけるポート番号の一覧 – Wikipedia
以上です。
No comment yet, add your voice below!