bitnamiのWordPress環境を構築して運用しているけど、最近なんだか動作が重いな・・・。
メモリを確認してみたけど、使用量が200MBを超えている!?
毎日膨れ上がっていってるみたい。
データベースにおかしいところが無いか、確認してみよう。
あれ?
調べた通りのやり方じゃ、phpMyAdminにアクセス出来ない・・・。
となった僕。(あなたも?)
色々調べて、きちんとアクセス出来るようになりましたが、ちょっと手こずった部分もあったので、備忘録も兼ねて手順をまとめておきます。
同じ環境の方しか参考にならないと思いますが、
「Google Cloud PlatformのCompute Engine」上で「wordpress with nginx and ssl certified by bitnami」を動かしている
人向けです。
結論から言うと、
- 設定ファイル( httpd-app.conf等)を弄るのは安全性が下がるのでおすすめしません。
- SSHトンネルを使って接続しよう!手順も解説します!
です。
「wordpress with nginx and ssl certified by bitnami」はセキュリティーを最重視している
今回使用しているbitnamiのWordPress用サーバでは、安全性の高い設計がされています。
例えば、サーバの設定ファイルである「.htaccess」を基本的には無効にしています。
bitnamiに限ったことではありませんが、セキュリティーとパフォーマンスを高めることをbitnamiは目標にしています。
そしてphpMyAdminに関しても、セキュリティーを高めるためにアクセスを制限しています。
どんな制限かと言うと、「ローカルホストからしか接続できない」というものです。
つまり、サーバーを立てているコンピュータ(GCP上のVMインスタンス)のブラウザからしか、phpMyAdminにアクセス出来ないように制限しているんですね。
こうすることにより、不正なアクセスを避けることが出来ます。
でも、管理者の自分までアクセス出来なくなってしまいますよね。
そこで、SSHトンネリングという方法を使うと、自分のPCからサーバー上のphpMyAdminに接続することが出来るようになります。
phpMyAdminに接続する理由
このページに来る方はすでにご存知かもしれませんが、phpMyAdminとはMySQLの管理ツールです。
このツールを使うと、簡単にサーバー上のデータベースに様々な操作をすることが出来ます。
WordPressの記事や画像などのデータは、すべてデータベース上に保存されています。
なのでWordPressが重いときは、不要なデータでデータベースが膨れ上がっているせいで、メモリを無駄に消費していないか等を確認することも有効な対処法なんですね。
普通に接続するときは
XAMPP等を用い、ローカル環境(自分のPC)でphpMyAdminを動かしている場合は、
https://localhost:8080/phpMyAdmin/
などでアクセスします。
また、レンタルサーバーなどに設置している場合は、
https://(自分のドメイン)/(phpMyAdminのインストールフォルダ)/
のような感じで接続出来ます。
ただこちらの方法では、サイトを閲覧出来る状態なら、不特定多数の人がphpMyAdminのログイン画面にアクセス出来てしまうという問題があります。
なのでbitnamiのサーバー環境では、localhost以外からのアクセスを出来ないようにしているというわけです。
しかしbitnamiの環境でサーバーの設定ファイルを弄って、無理やり上記のようにアクセス出来ることを紹介しているサイトがありました。
ですが上述の通り、セキュリティーの観点からあまりおすすめしません。
では、bitnamiの環境ではどうやって接続するのか?
前述の通り、SSHトンネリングという方法を取ります。
普通のSSHと何が違うのかというと、こんな感じです↓
SSHでは、リモートのサーバーなどにアクセスすることが出来ます。
しかし今回のbitnamiのサーバーでは、外部からphpMyAdminへのアクセスは遮断されていますよね。
そこでSSHトンネルというものを使ってサーバーに接続し、あたかも自分の操作しているPCが仮想マシンであるかのような状態を作ります。
こうすることで、自分が操作しているPC上のブラウザで、アクセス制限されているサーバー上のphpMyAdminへとアクセスすることが可能となります。
接続する手順を解説します
ということで、実際にやってみましょう!
まず、今回は簡単にSSH接続するために、専用のフリーソフトを使います。
PuTTYというソフトになります。
Macの方はすみません。Windows版しか無いみたいです。(他のSSHクライアントで、同様の設定でSSHトンネリングすれば接続できると思います。)
ソフト本体はこちらからダウンロードして下さい。
特に不都合がなければ、最新の64bit版で良いと思います。
ダウンロードしたら解凍しておいて下さい。
さて、ここからやることが3つあります。
- SSH用の鍵を生成
- GCP側に公開鍵を設定
- PuTTYで接続するための設定
です。
順番にやっていきましょう。
SSH用の鍵を生成
まずは、SSHでサーバーに接続するためのSSH用キーペアを生成しましょう。
といっても、ボタンをポチポチするだけです。
解凍したPuTTYフォルダにある、鍵生成ソフトのputtygen.exeを起動して下さい。
こんな画面になります。
設定はそのままで、「生成」をクリックして下さい。
ランダムな数値を作るために、マウスを適当に操作する指示があるので、従った後、このような画面になります。(説明するために生成しました。)
公開鍵は、「OpenSSHの・・・」と書いてある下にある文字列です。
これを後でコピーして使うので、この画面は閉じないでおいて下さい。
秘密鍵は、画面下部の「秘密鍵を保存」をクリックして保存しましょう。
ファイル名は何でも良いですが「.ppk」という拡張子で保存されます。
秘密鍵の保存の際に「パスフレーズなしで良いのか」を聞かれるので、そのまま「はい」を選んで保存しましょう。
これで、鍵の生成は完了です。
GCP側に公開鍵を設定
次に、GCPのVMインスタンス上にあるサーバーに接続するために、GCPにSSH公開鍵を登録しましょう。
GCPのインスタンスの設定に行きましょう。
こちらのURLへどうぞ。
開いたら、接続したいサーバーのインスタンスを選んで下さい。
「VMインスタンスの詳細」という画面になります。
「VMインスタンスの詳細」の右にある、「編集」をクリックして下さい。
これで設定が書き換えられるようになります。
そして、下の方へとスクロールしていくと、このような部分があります。
この、「表示して編集する」をクリックして下さい。
「認証鍵全体を入力」と書かれた欄が開くので、先程生成した公開鍵を、コピーして貼り付けましょう。
すると、このようになると思います。
少しだけ書き換えましょう。
貼り付けた最後の部分が「== rsa-key・・・」から始まっているので、その部分を「== bitnami」に書き換えてください。
すると下の画像のように、入力欄の左側にも「bitnami」と表示されると思います。
「bitnami」の文字を間違えると接続できないので、しっかり確認して下さいね。
「ssh-rsa …」から始まり「… == bitnami」で終わる公開鍵が入力出来ましたでしょうか。
入力出来たら、そのまま下までスクロールして、保存をしてください。
これで、GCP側での設定は完了です。
さあ、あと一息です。
もう少しだけ頑張りましょう。
Puttyで接続する設定
最後に、PuTTYでサーバーにSSHトンネルで接続する設定をしましょう。
PuTTYのフォルダから、PuTTY.exeを開いて下さい。
PuTTYの設定画面が開きます。
まずは、ホスト名(自分のサーバーの外部IP)を入力しましょう。
こちらのURLから、自分のサーバーの外部IPを確認して下さい。(12.345.67.89みたいなやつ)
入力したら、その下の「保存済みセッション一覧」の下の入力欄に適当な名前(画像だとtest)を入力して、「保存」をクリックしましょう。
すると「標準の設定」の下に、新しく自分の設定が追加されます。
次に、秘密鍵の設定をします。
左側の、「カテゴリ→接続→SSH」の中にある、「認証」タブを開いて下さい。
「認証のための秘密鍵ファイル」の設定をします。
右側の「参照」をクリックして、先程生成した秘密鍵のファイルを指定して下さい。(〇〇.ppkというやつ)
次に、左の「カテゴリ→接続」の「データ」タブを開いて下さい。
一番上の「自動ログインのユーザ名」に、「bitnami」と入力します。
いよいよ最後です。
「カテゴリ→接続→SSH」の中の、「トンネル」タブを選択して下さい。
受け側ポートに「8888」を、送り先に「localhost:80」を入力します。
注意:WordPressをSSL化(https)している場合は、「localhost:443」を入力して下さい。
入力が出来たら、右の「追加」ボタンを押しておきましょう。
次に「カテゴリ→セッション」タブに行きます。
先程決めたセッション名が選択されていることを確認して、「保存」を押して下さい。
設定が完了しました。
早速接続してみましょう。
「保存済みセッション名」から、設定したセッションを選んだ状態で、一番下の「開く」をクリックして下さい。
最初に接続するときだけPuTTYのセキュリティアラート画面が表示されます。
キャッシュの保存についてなので、「Yes」を選択しましょう。
すると、このような画面が開くと思います。
SSHトンネルでサーバーに接続出来ました。
早速、phpMyAdminにログインしてみましょう。
https://127.0.0.1:8888/phpmyadmin/ にアクセスして下さい。(SSL化している場合は、こちら)
この画面にアクセスできれば成功です。
初期状態なら、ユーザー名は「root」、パスワードはbitnamiのベースパスワードです(WordPressの初期パスワードと同じ)。
さいごに
お疲れさまでした!
無事アクセス出来たでしょうか。
もし上手く行かない所があれば、コメントにてお知らせ下さい。
後は、普通のphpMyAdminと同様に使えるので、色々試してみてくださいね。
コメント