🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Amazon RDS

Amazon RDSは、米アマゾン社が提供しているRDBMSサービス。クラウド上でのリレーショナルデータベースの構築および運用が可能です。MySQL/PostgreSQL/Oracle/SQL Serverのインストールを容易にすることができます。

terminal

Terminalは、Apple社のmacOSに標準で付属しているUNIX端末エミュレータ。UNIXコマンドによってMacの操作および設定を行うことができます。

phpMyAdmin

phpMyAdminはオープンソースで、PHPで書かれたウェブベースのMySQL管理ツールのことです。

Amazon EC2

Amazon EC2は“Amazon Elastic Compute Cloud”の略称です。Amazon Web Services(AWS)の一部であり、仮想化されたWebサーバーのコンピュータリソースをレンタルできるサービスです。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

Q&A

解決済

2回答

1371閲覧

エイリアスの設定をいじって「/phpmyadmin/index.php」などでアクセスできないようにしたい

cambodia

総合スコア12

Amazon RDS

Amazon RDSは、米アマゾン社が提供しているRDBMSサービス。クラウド上でのリレーショナルデータベースの構築および運用が可能です。MySQL/PostgreSQL/Oracle/SQL Serverのインストールを容易にすることができます。

terminal

Terminalは、Apple社のmacOSに標準で付属しているUNIX端末エミュレータ。UNIXコマンドによってMacの操作および設定を行うことができます。

phpMyAdmin

phpMyAdminはオープンソースで、PHPで書かれたウェブベースのMySQL管理ツールのことです。

Amazon EC2

Amazon EC2は“Amazon Elastic Compute Cloud”の略称です。Amazon Web Services(AWS)の一部であり、仮想化されたWebサーバーのコンピュータリソースをレンタルできるサービスです。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

0グッド

0クリップ

投稿2021/01/18 23:22

#やりたいこと
AWSのEC2インスタンスとRDSを使ってます。
エラーリクエストによってphpmyadminへのアクセスが止まったことがあります。
今後、そうならないように、エイリアスの設定をいじって「/phpmyadmin/index.php」などでアクセスできないようにしたいです。

[参考ブログ]
https://norm-nois.com/blog/archives/3139

ちなみに、
/var/www/html/の中に、phpMyAdminディレクトリがありますが、その後、どのようにすれば良いかわかりません。
エイリアスというものがなんなのかもわかりません
ご教授お願いいたします!

#概要
プログラミング初心者です。
AWSのEC2とRDSを利用して、phpで動くウェブサイトを作っています。
ウェブサイトは、phpとデータベース(mysql)を使った4択のクイズサイトです。


昨年、サイトをAWSサーバーに置いて世界中の人から見てもらえるようにしました。しかし、そのサイトを公開して数日後に、アクセスできないようになりました。
その理由は、データベースへの大量のエラーリクエストでした。接続エラーの上限回数を超えたのが理由です。

Host ‘********’ is blocked because of many connection errors; unblock with ‘mysqladmin flush-hosts’

これは、teratailの中で質問させていただき解決できたのですが、何かしら手を打たないと同じことを繰り返すとアドバイスをいただきました。

いろいろ頂いたアドバイスの中で、以下のことを試してみたいと考えています。


#エイリアスの設定をいじって「/phpmyadmin/index.php」などでアクセスできないようにする

ぜひご指導お願いいたします!

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yu_1985

2021/01/19 02:36 編集

今回の話とそれるのでこちらに書きますが、 必要がなければ、そもそもphpMyAdminを使うことをやめることも検討すべきかと思います。 phpMyAdminを使う理由はGUIでDBにアクセスするためであって、なければいけないものではありません。 万が一1回でも権限を持ったユーザでのログインを許してしまったらDBが乗っ取られます。 また、今回のように仮に認証が突破されてなくても認証を突破するためのアクセスでDBにアクセスが発生するためにエラーが発生することもあります。 phpMyAdminが入ったサーバを全世界に公開するのは上記の理由から危険です。 確かにパスを変えてアクセスされにくくされるのは一つの手段ではありますが…。 自分がDBにアクセスしたいだけだったらEC2上からコマンドラインでアクセスするか、 GUIがいいならローカルのSQLクライアントからポートフォワードでつなぐといいです。
cambodia

2021/01/19 07:06

初心者のため、AWSの諸々の設定を知り合いにお願いしまして、その知り合いに確認したところ、現在はEC2インスタンスのサーバー上にphpMyAdminがインストールされている状況でした。まだまだ初心者なので、phpMyAdminを使ってデータベースの操作をしたいので、ご提案のように、ローカルのSQLクライアントからポートフォワードでつなぐ という方法を検討します。
yu_1985

2021/01/19 08:52

それはサーバ上のphpMyAdminを使うのをやめるということに他ならないのですが…。 phpMyAdminを使うのをやめるなら、その時はEC2インスタンスからはphpMyAdminをアンインストールしてください。 コマンドラインでもいいですが、大抵のGUIクライアントならポートフォワードでつなぐ設定があるはずなので、まずは一度それを試してみてください。
cambodia

2021/01/19 09:29

yu_1985さん ご連絡ありがとうございます。 ローカルのSQLクライアントからポートフォワードでつなぐ、についてですが、ざっくりとした私の認識ですと、 ①ローカルホスト(私のPC)のサーバーにインストールしてあるphpMyAdminとRDS上のデータベースをポートフォワードでつなぐ設定をする。 ②RDS上のデータベースを操作する場合は、ローカルホストのサーバーにあるphpMyAdminにログインして、RDSのデータベースに接続する です。 以下のブログのような形かなと思っています。 https://lima.world/phpmyadmin-ssh/ 認識合ってますでしょうか?
yu_1985

2021/01/19 09:41

確かにそれも一つの方法です。 そこまでしてphpMyAdminを使いたいなら止めはしませんが…。 個人的なおすすめはDBeaverです。 https://dev.classmethod.jp/articles/dbeaver-is-free-universal-sql-client-tool/ GUIクライアント自体が対応している場合、ポートフォワード(DBeaverではSSH Tunnelと表記されている)のやり方は大体どのクライアントでもこんな感じです。 https://prglog.info/home/?tag=rds MySQL限定ならSequel Proとかも定番ですね。
cambodia

2021/01/19 10:19

ありがとうございます!いろいろなGUIがあるのですね。 私は、今年からプログラミングをスタートしました。ローカルホストにMAMPを入れるところから。ですので、phpMyAdminしか知らず今まで来ました。 ちなみに、phpMyAdminとDBeaverの違いは何でしょうか?ポートフォワードの設定が簡単とか、セキュリティー的に良い、視覚的に操作しやすい、などありますでしょうか?
guest

回答2

0

ベストアンサー

ん~、その状態って、
ドキュメントルートから辿れるディレクトリにphpMyAdmin一式を置いていると捉えていいのだから、
/var/www/html/phpmyadmin

phpmyadmin
ディレクトリをリネームすればいいんじゃないかな。

mv /var/www/html/phpmyadmin /var/www/html/x_phpmyadmin
とか
sudo mv /var/www/html/phpmyadmin /var/www/html/x_phpmyadmin
とかすれば、

https://example.com/phpmyadmin/

https://example.com/x_phpmyadmin/

としてアクセスできるようになるかと。


考えられる配置方法、とりあえず3つ書いてみる。

1)パッケージマネージャー経由
phpMyAdmin を CentOS7とかならyum、Ubuntuとかならapt-getとか
パッケージマネージャー経由で追加した場合は、
/etc/httpd/conf.d あるいは /etc/apache2/conf.d に
ドキュメントルート以外の場所においたphpMyAdminを使えるようにするために
エイリアスの定義ファイル(ファイル名失念)を置いて
apache httpd起動時にphpMyAdminを組み入れて起動してくれる。
ドキュメントルートから辿れるところに置かなくても
まるでそこにおいてあるかのように見せて動かすことができる。

2)ドキュメントルートに直接置く
そうではなく、手動でphpMyAdmin一式を
ドキュメントルートから辿れる場所においてやる方法もある。
置いた場所のディレクトリ名をURLに加えれば起動するから
ある意味わかりやすいかもしれない。

3)ドキュメントルートにシンボリックリンクを置く
あるいは、ドキュメントルートにシンボリックリンクを置いて、
違う場所においたphpMyAdminを見せる方法もある。
その場合は、httpd.confや.htaccess上にシンボリックリンクをたどってヨシって定義を書かないといけないのだけど。

ドキュメントルート上に直接置かない理由としては、
サイトコンテンツの入れ替えのときに巻き込みたくないとか、
管理者や開発者しか利用しないのだからとか、
置けるだけのストレージ容量が足りない省きたいとか、
いろんな考えがあります。

投稿2021/01/19 00:25

編集2021/01/19 00:38
退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

cambodia

2021/01/19 07:11

m6uさん いろいろご提案下さりありがとうございました。 アドバイス通り、とりあえず、ディレクトリをリネームする、ということにしました。
guest

0

参考ブログの最後の方に、修正方法が書いてありますね。
最後まで読んでない??

投稿2021/01/18 23:34

otn

総合スコア85893

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

cambodia

2021/01/18 23:51

otnさん ご指導ありがとうございます。 最後まで読んではいるのですが、いまいちわからなくて。 phpmyadmin.confファイルの記述を変える、と書いてるのですが、肝心のphpmyadmin.confファイルがどこにあるのかがわからなくて。 /var/www/html/の中に、phpMyAdminディレクトリがありますが、その中にphpmyadmin.confファイルがあるのでしょうか? AWSの諸々の設定を、知り合いの知り合いに頼んだので、どこにインストールしたとかがこちらでわかっていない状況です。(しかも私が初心者のため)
cambodia

2021/01/19 00:02

ちなみに、 ネットで調べると、etc/httpd/conf.d/の中に、phpmyadmin.confがあるという記事をみましたが、etc/httpd/conf.d/の中には、 welcome.conf php.conf userdir.conf README autoindex.conf しか入っていません。
otn

2021/01/19 00:06

> 肝心のphpmyadmin.confファイルがどこにあるのかがわからなくて。 では、そういう質問にしましょう。 一般に、設定ファイルは/etcの下にあります。 Apacheなら、/etc/httpd 以下にあります(インストールの仕方によっては他の場所)。 nginx等たのサーパーソフトの場合はそもそもの記述が違います。 もう一度知り合いに頼むのが良いと思いますよ。
otn

2021/01/19 00:10

> しか入っていません。 では、他のファイル名かも知れません。 grep -r -i phpmyadmin /etc 2>/dev/null で調べましょう。
cambodia

2021/01/19 00:16

otnさん ありがとうございます。 $ grep -r -i phpmyadmin /etc 2>/dev/nullとコマンド入力しましたが、 反応がありませんでした。 やはり、知り合いに聞くしかないですかね。
otn

2021/01/19 01:43

> /var/www/html/の中に、phpMyAdminディレクトリがあります ああ、aliasじゃなくて、直接の参照ですね。見落としていました。 であれば、単にリネームで良いです。phpMyAdmin を別の名前に。
otn

2021/01/19 01:44

他の方法としては、ガードを掛ける。 ・パスワードによるガード ・アクセス元IPアドレスによるガード
cambodia

2021/01/19 07:08

otnさん ご指導ありがとうございます。 いただいた情報をもとに諸々検討してみます! ありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問