AWS Coud9でphpMyAdmin画面へアクセスしたときに 404|not foud エラーを解決する方法


Cloud9で開発環境を整えて、時間がたってからなぜかphpMyAdminへアクセスできず、ログイン画面で見れなくなる症状に躓きました。

いくら調べても解決しなかったんですが、もしかしたら稀にいるかもしれないと思って記事を書くことにしました。

解決のために事前チェックその1

サーバーを起動しているか確認

サーバー起動コマンド
$ ^Cec2-user:~/environment/project1 $ php -S $IP:$PORT
PHP 7.3.11 Development Server started at Mon Nov 25 15:22:41 2019
Listening on http://127.0.0.1:8080
Document root is /home/ec2-user/environment/project1
Press Ctrl-C to quit.

下記のコマンドで起動したサーバーは phpMyAdminのページへアクセスしても 404|not foudとなります。

サーバー起動コマンド(1)
$ ec2-user:~/environment/project1  $ php artisan serve
Laravel development server started: http://127.0.0.1:8000
サーバー起動コマンド(2)
$ ec2-user:~/environment/project1  $ php artisan serve --port=8080
Laravel development server started: http://127.0.0.1:8080

事前チェックその2

Laravelのプロジェクト(ディレクトリ)内でmysqld を起動しているか確認

mysqld起動コマンド
$ sudo service mysqld start
ec2-user:~/environment/project1  $ sudo service mysqld start
Starting mysqld:                                           [  OK  ]
mysqldの状態確認コマンド
$ ec2-user:~/environment/project1  $ sudo service mysqld status
mysqld (pid  20873) is running...                              [  OK  ]

running...と表示されていれば、起動中です。

一応、mysqld 停止コマンドも明記しておきます。

mysqldの停止コマンド
$ ec2-user:~/environment/project1  $ sudo service mysqld stop
Stopping mysqld:                                           [  OK  ]

事前チェックその3

phpMyAdminのURLを "https://~~.vfs.cloud9.~~.amazonaws.com/phpMyAdmin/index.php" まで指定している

それでも解決しなかった場合、Cloud9上で作成した他のプロジェクト内でmysqldが起動している可能性があるので、それを停止します。

(アクセス権限に関しても調べて変更してみましたが、結果的に関係ありませんでした。)
linuxコマンドに詳しい方はもうわかると思うので、読み進める必要はないです。

念のためlinux初心者の方のために細かいコマンド実行の様子を記しておきます。

まずはディレクトリの移動

親ディレクトリ移動
$ ec2-user:~/environment/project1  $ cd ../

そこでlsコマンドを実行すると他にもプロジェクトがあることがわかります。

ec2-user:~/environment $ ls
project1  project2  README.md 

project1 のディレクトリから project2 (別のプロジェクト)のディレクトリを移動します。

親ディレクトリ移動
$ ec2-user:~/environment/  $ cd project2

その中で再度、mysqldの状態を確認してみると、、、

mysqldの状態確認コマンド
$ ec2-user:~/environment/project2 $ sudo service mysqld status
mysqld (pid  20873) is running...                              [  OK  ]

動いてる。。。。(このプロジェクト、ずっと触ってなかったのに、、)

それで、もしかしたらと思い停止コマンドを実行して停止し、
project1 の方のディレクトリに移ってから、mysqldを起動してみると

mysqldの停止コマンド
$ ec2-user:~/environment/project2 $ sudo service mysqld stop
Stopping mysqld:                                           [  OK  ]
$ ec2-user:~/environment/  $ cd ../project1
ec2-user:~/environment/project1 $ sudo service mysqld start
Starting mysqld:                                           [  OK  ]

無事表示されました!!

以上です。 うっかり他のプロジェクトでのmysqldを停止し損ねて、
別プロジェクトで使おうとしたときに起きた症状の対策方法でした。

AWSはまだ触り始めたばかりなので、わからないことだらけで苦戦していますが、
上記の方法以外で解決方法をしっていたり、設定方法をご存知の方がいらっしゃいましたら
ぜひコメントいただけるとありがたいです。